diff --git a/docs/ClientConfiguration_Parameters.md b/docs/ClientConfiguration_Parameters.md index 9488a06e1c19..cd5f4be04f00 100644 --- a/docs/ClientConfiguration_Parameters.md +++ b/docs/ClientConfiguration_Parameters.md @@ -11,7 +11,6 @@ struct AWS_CORE_API ClientConfiguration Aws::String userAgent; Aws::Http::Scheme scheme; Aws::Region region; - bool useDualStack; unsigned maxConnections; long requestTimeoutMs; long connectTimeoutMs; @@ -41,6 +40,7 @@ The region specifies where you want the client to communicate. Examples include ### UseDualStack Sets the endpoint calculation to go to a dual stack (ipv6 enabled) endpoint. It is your responsibility to check that the service actually supports ipv6 in the region you specify. +`useDualStack` is not part of the shared `Aws::Client::ClientConfiguration`; it is available on a service's own configuration (for example `Aws::S3::S3ClientConfiguration`) only when that service's endpoints support dual stack. ### Max Connections The default value for the maximum number of allowed connections to a single server for your HTTP communications is 25. You can set this value as high as you can support the bandwidth. We recommend a value around 25. diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClient.h index 8a2618a00d15..ad4a66dd48df 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClient.h @@ -52,27 +52,6 @@ class AWS_EC2PROTOCOL_API EC2ProtocolClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::EC2Protocol::EC2ProtocolClientConfiguration& clientConfiguration = Aws::EC2Protocol::EC2ProtocolClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EC2ProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EC2ProtocolClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EC2ProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EC2ProtocolClient(); /** @@ -748,7 +727,6 @@ class AWS_EC2PROTOCOL_API EC2ProtocolClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&EC2ProtocolClient::XmlTimestamps, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClientConfiguration.h new file mode 100644 index 000000000000..26f9e7e22de7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EC2Protocol { +struct AWS_EC2PROTOCOL_API EC2ProtocolClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EC2ProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EC2ProtocolClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EC2ProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EC2ProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * Request compression configuration + * To use this feature, the service needs to provide the support, and the compression + * algorithms needs to be available at SDK build time. + */ + Aws::Client::RequestCompressionConfig requestCompressionConfig; + + private: + void LoadEC2ProtocolSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EC2PROTOCOL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EC2ProtocolClientConfiguration& config); +} // namespace EC2Protocol +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointProvider.h index b23eac5ccc2f..d161b87cfc41 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EC2Protocol { namespace Endpoint { +using EC2ProtocolClientConfiguration = Aws::EC2Protocol::EC2ProtocolClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EC2ProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EC2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; -using EC2ProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EC2PROTOCOL_API EC2ProtocolBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EC2ProtocolBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EC2ProtocolClientConfiguration& config); + virtual void SetFromClientConfiguration(const EC2ProtocolClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the EC2Protocol Client Endpoint Provider. @@ -34,6 +40,24 @@ using EC2ProtocolEndpointProviderBase = using EC2ProtocolDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace EC2Protocol + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EC2PROTOCOL_EXTERN template class AWS_EC2PROTOCOL_API Aws::Endpoint::EndpointProviderBase< + EC2Protocol::Endpoint::EC2ProtocolClientConfiguration, EC2Protocol::Endpoint::EC2ProtocolBuiltInParameters, + EC2Protocol::Endpoint::EC2ProtocolClientContextParameters>; + +AWS_EC2PROTOCOL_EXTERN template class AWS_EC2PROTOCOL_API Aws::Endpoint::DefaultEndpointProvider< + EC2Protocol::Endpoint::EC2ProtocolClientConfiguration, EC2Protocol::Endpoint::EC2ProtocolBuiltInParameters, + EC2Protocol::Endpoint::EC2ProtocolClientContextParameters>; +} // namespace Endpoint + +namespace EC2Protocol { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolServiceClientModel.h index 5f7e94f5846d..942cae9a600b 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolServiceClientModel.h @@ -87,7 +87,6 @@ class RetryStrategy; } // namespace Client namespace EC2Protocol { -using EC2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; using EC2ProtocolEndpointProviderBase = Aws::EC2Protocol::Endpoint::EC2ProtocolEndpointProviderBase; using EC2ProtocolEndpointProvider = Aws::EC2Protocol::Endpoint::EC2ProtocolEndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClient.cpp index be9de7d512ea..408d2905c91d 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClient.cpp @@ -102,41 +102,6 @@ EC2ProtocolClient::EC2ProtocolClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EC2ProtocolClient::EC2ProtocolClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EC2ProtocolClient::EC2ProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EC2ProtocolClient::~EC2ProtocolClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EC2ProtocolClient::accessEndpointProvider() { return m_endpointProvider; } @@ -154,12 +119,7 @@ void EC2ProtocolClient::init(const EC2Protocol::EC2ProtocolClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ec2query"); -} - -void EC2ProtocolClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EC2ProtocolClient::InvokeOperationOutcome EC2ProtocolClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClientConfiguration.cpp new file mode 100644 index 000000000000..4901f11cb7b8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EC2Protocol { + +void EC2ProtocolClientConfiguration::LoadEC2ProtocolSpecificConfig(const Aws::String& inputProfileName) { + requestCompressionConfig = Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EC2ProtocolClientConfiguration::EC2ProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEC2ProtocolSpecificConfig(this->profileName); +} + +EC2ProtocolClientConfiguration::EC2ProtocolClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEC2ProtocolSpecificConfig(Aws::String(inputProfileName)); +} + +EC2ProtocolClientConfiguration::EC2ProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEC2ProtocolSpecificConfig(this->profileName); +} + +EC2ProtocolClientConfiguration::EC2ProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadEC2ProtocolSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EC2ProtocolClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.requestCompressionConfig = config.requestCompressionConfig; + return options; +} + +} // namespace EC2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointProvider.cpp index 5d62df06d3ed..fb30398551dd 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_EC2PROTOCOL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace EC2Protocol { namespace Endpoint { EC2ProtocolEndpointProvider::EC2ProtocolEndpointProvider() : EC2ProtocolDefaultEpProviderBase(Aws::EC2Protocol::EC2ProtocolEndpointRules::GetRulesBlob(), Aws::EC2Protocol::EC2ProtocolEndpointRules::RulesBlobSize) {} +void EC2ProtocolBuiltInParameters::SetFromClientConfiguration(const EC2ProtocolClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void EC2ProtocolBuiltInParameters::SetFromClientConfiguration(const EC2ProtocolClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace EC2Protocol } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClient.h index f497a7d1f68d..a30433fad005 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClient.h @@ -48,27 +48,6 @@ class AWS_JSONPROTOCOL_API JsonProtocolClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::JsonProtocol::JsonProtocolClientConfiguration& clientConfiguration = Aws::JsonProtocol::JsonProtocolClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - JsonProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - JsonProtocolClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - JsonProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~JsonProtocolClient(); /** @@ -541,7 +520,6 @@ class AWS_JSONPROTOCOL_API JsonProtocolClient : public Aws::Client::AWSJsonClien return SubmitAsync(&JsonProtocolClient::SparseNullsOperation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClientConfiguration.h new file mode 100644 index 000000000000..981e770eb91e --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace JsonProtocol { +struct AWS_JSONPROTOCOL_API JsonProtocolClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + JsonProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + JsonProtocolClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + JsonProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit JsonProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * Request compression configuration + * To use this feature, the service needs to provide the support, and the compression + * algorithms needs to be available at SDK build time. + */ + Aws::Client::RequestCompressionConfig requestCompressionConfig; + + private: + void LoadJsonProtocolSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_JSONPROTOCOL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const JsonProtocolClientConfiguration& config); +} // namespace JsonProtocol +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointProvider.h index 8ae2c266b27f..86719902fe81 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace JsonProtocol { namespace Endpoint { +using JsonProtocolClientConfiguration = Aws::JsonProtocol::JsonProtocolClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using JsonProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; -using JsonProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; -using JsonProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_JSONPROTOCOL_API JsonProtocolBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~JsonProtocolBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const JsonProtocolClientConfiguration& config); + virtual void SetFromClientConfiguration(const JsonProtocolClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the JsonProtocol Client Endpoint Provider. @@ -34,6 +40,24 @@ using JsonProtocolEndpointProviderBase = using JsonProtocolDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace JsonProtocol + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_JSONPROTOCOL_EXTERN template class AWS_JSONPROTOCOL_API Aws::Endpoint::EndpointProviderBase< + JsonProtocol::Endpoint::JsonProtocolClientConfiguration, JsonProtocol::Endpoint::JsonProtocolBuiltInParameters, + JsonProtocol::Endpoint::JsonProtocolClientContextParameters>; + +AWS_JSONPROTOCOL_EXTERN template class AWS_JSONPROTOCOL_API Aws::Endpoint::DefaultEndpointProvider< + JsonProtocol::Endpoint::JsonProtocolClientConfiguration, JsonProtocol::Endpoint::JsonProtocolBuiltInParameters, + JsonProtocol::Endpoint::JsonProtocolClientContextParameters>; +} // namespace Endpoint + +namespace JsonProtocol { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolServiceClientModel.h index 3590f73855ce..7171081b2b76 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolServiceClientModel.h @@ -77,7 +77,6 @@ class RetryStrategy; } // namespace Client namespace JsonProtocol { -using JsonProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; using JsonProtocolEndpointProviderBase = Aws::JsonProtocol::Endpoint::JsonProtocolEndpointProviderBase; using JsonProtocolEndpointProvider = Aws::JsonProtocol::Endpoint::JsonProtocolEndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClient.cpp index ccfcd4ba0f6d..614ad59183f8 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClient.cpp @@ -96,41 +96,6 @@ JsonProtocolClient::JsonProtocolClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -JsonProtocolClient::JsonProtocolClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -JsonProtocolClient::JsonProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ JsonProtocolClient::~JsonProtocolClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& JsonProtocolClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +113,7 @@ void JsonProtocolClient::init(const JsonProtocol::JsonProtocolClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "jsonprotocol"); -} - -void JsonProtocolClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } JsonProtocolClient::InvokeOperationOutcome JsonProtocolClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClientConfiguration.cpp new file mode 100644 index 000000000000..2cf6f93430fb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace JsonProtocol { + +void JsonProtocolClientConfiguration::LoadJsonProtocolSpecificConfig(const Aws::String& inputProfileName) { + requestCompressionConfig = Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +JsonProtocolClientConfiguration::JsonProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadJsonProtocolSpecificConfig(this->profileName); +} + +JsonProtocolClientConfiguration::JsonProtocolClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadJsonProtocolSpecificConfig(Aws::String(inputProfileName)); +} + +JsonProtocolClientConfiguration::JsonProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadJsonProtocolSpecificConfig(this->profileName); +} + +JsonProtocolClientConfiguration::JsonProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadJsonProtocolSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const JsonProtocolClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.requestCompressionConfig = config.requestCompressionConfig; + return options; +} + +} // namespace JsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointProvider.cpp index ada6b1440cf7..449aa91bf91c 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_JSONPROTOCOL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace JsonProtocol { namespace Endpoint { JsonProtocolEndpointProvider::JsonProtocolEndpointProvider() : JsonProtocolDefaultEpProviderBase(Aws::JsonProtocol::JsonProtocolEndpointRules::GetRulesBlob(), Aws::JsonProtocol::JsonProtocolEndpointRules::RulesBlobSize) {} +void JsonProtocolBuiltInParameters::SetFromClientConfiguration(const JsonProtocolClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void JsonProtocolBuiltInParameters::SetFromClientConfiguration(const JsonProtocolClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace JsonProtocol } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Client.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Client.h index f32a90791231..bbc9334af8e4 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Client.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10Client.h @@ -45,27 +45,6 @@ class AWS_JSONRPC10_API JSONRPC10Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::JSONRPC10::JSONRPC10ClientConfiguration& clientConfiguration = Aws::JSONRPC10::JSONRPC10ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - JSONRPC10Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - JSONRPC10Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - JSONRPC10Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~JSONRPC10Client(); /** @@ -399,7 +378,6 @@ class AWS_JSONRPC10_API JSONRPC10Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&JSONRPC10Client::SimpleScalarProperties, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ClientConfiguration.h new file mode 100644 index 000000000000..cbf94de7a918 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace JSONRPC10 { +struct AWS_JSONRPC10_API JSONRPC10ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + JSONRPC10ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + JSONRPC10ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + JSONRPC10ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit JSONRPC10ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * Request compression configuration + * To use this feature, the service needs to provide the support, and the compression + * algorithms needs to be available at SDK build time. + */ + Aws::Client::RequestCompressionConfig requestCompressionConfig; + + private: + void LoadJSONRPC10SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_JSONRPC10_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const JSONRPC10ClientConfiguration& config); +} // namespace JSONRPC10 +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointProvider.h index df03f2eaa8be..511604d9dcae 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10EndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace JSONRPC10 { namespace Endpoint { +using JSONRPC10ClientConfiguration = Aws::JSONRPC10::JSONRPC10ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using JSONRPC10ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using JSONRPC10ClientConfiguration = Aws::Client::GenericClientConfiguration; -using JSONRPC10BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_JSONRPC10_API JSONRPC10BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~JSONRPC10BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const JSONRPC10ClientConfiguration& config); + virtual void SetFromClientConfiguration(const JSONRPC10ClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the JSONRPC10 Client Endpoint Provider. @@ -34,6 +40,24 @@ using JSONRPC10EndpointProviderBase = using JSONRPC10DefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace JSONRPC10 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_JSONRPC10_EXTERN template class AWS_JSONRPC10_API + Aws::Endpoint::EndpointProviderBase; + +AWS_JSONRPC10_EXTERN template class AWS_JSONRPC10_API Aws::Endpoint::DefaultEndpointProvider< + JSONRPC10::Endpoint::JSONRPC10ClientConfiguration, JSONRPC10::Endpoint::JSONRPC10BuiltInParameters, + JSONRPC10::Endpoint::JSONRPC10ClientContextParameters>; +} // namespace Endpoint + +namespace JSONRPC10 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ServiceClientModel.h index 364fef131d91..6923dfe8e728 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ServiceClientModel.h @@ -64,7 +64,6 @@ class RetryStrategy; } // namespace Client namespace JSONRPC10 { -using JSONRPC10ClientConfiguration = Aws::Client::GenericClientConfiguration; using JSONRPC10EndpointProviderBase = Aws::JSONRPC10::Endpoint::JSONRPC10EndpointProviderBase; using JSONRPC10EndpointProvider = Aws::JSONRPC10::Endpoint::JSONRPC10EndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Client.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Client.cpp index 96365c274d80..713fff136052 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Client.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10Client.cpp @@ -89,41 +89,6 @@ JSONRPC10Client::JSONRPC10Client(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -JSONRPC10Client::JSONRPC10Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -JSONRPC10Client::JSONRPC10Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -JSONRPC10Client::JSONRPC10Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ JSONRPC10Client::~JSONRPC10Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& JSONRPC10Client::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +106,7 @@ void JSONRPC10Client::init(const JSONRPC10::JSONRPC10ClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "jsonrpc10"); -} - -void JSONRPC10Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } JSONRPC10Client::InvokeOperationOutcome JSONRPC10Client::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10ClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10ClientConfiguration.cpp new file mode 100644 index 000000000000..0804ab011857 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10ClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace JSONRPC10 { + +void JSONRPC10ClientConfiguration::LoadJSONRPC10SpecificConfig(const Aws::String& inputProfileName) { + requestCompressionConfig = Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +JSONRPC10ClientConfiguration::JSONRPC10ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadJSONRPC10SpecificConfig(this->profileName); +} + +JSONRPC10ClientConfiguration::JSONRPC10ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadJSONRPC10SpecificConfig(Aws::String(inputProfileName)); +} + +JSONRPC10ClientConfiguration::JSONRPC10ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadJSONRPC10SpecificConfig(this->profileName); +} + +JSONRPC10ClientConfiguration::JSONRPC10ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadJSONRPC10SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const JSONRPC10ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.requestCompressionConfig = config.requestCompressionConfig; + return options; +} + +} // namespace JSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointProvider.cpp index b48336c270c5..7612bd8eb2d6 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10EndpointProvider.cpp @@ -7,12 +7,35 @@ #include namespace Aws { +#ifndef AWS_JSONRPC10_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace JSONRPC10 { namespace Endpoint { JSONRPC10EndpointProvider::JSONRPC10EndpointProvider() : JSONRPC10DefaultEpProviderBase(Aws::JSONRPC10::JSONRPC10EndpointRules::GetRulesBlob(), Aws::JSONRPC10::JSONRPC10EndpointRules::RulesBlobSize) {} +void JSONRPC10BuiltInParameters::SetFromClientConfiguration(const JSONRPC10ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void JSONRPC10BuiltInParameters::SetFromClientConfiguration(const JSONRPC10ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace JSONRPC10 } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolClient.h index e471a40fe882..cc359f7057ba 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolClient.h @@ -53,28 +53,6 @@ class AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_API NonQueryCompatibleRpcV2ProtocolCli const Aws::NonQueryCompatibleRpcV2Protocol::NonQueryCompatibleRpcV2ProtocolClientConfiguration& clientConfiguration = Aws::NonQueryCompatibleRpcV2Protocol::NonQueryCompatibleRpcV2ProtocolClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NonQueryCompatibleRpcV2ProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NonQueryCompatibleRpcV2ProtocolClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NonQueryCompatibleRpcV2ProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NonQueryCompatibleRpcV2ProtocolClient(); /** @@ -104,7 +82,6 @@ class AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_API NonQueryCompatibleRpcV2ProtocolCli return SubmitAsync(&NonQueryCompatibleRpcV2ProtocolClient::NonQueryCompatibleOperation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolClientConfiguration.h new file mode 100644 index 000000000000..941e2e9a035b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolClientConfiguration.h @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NonQueryCompatibleRpcV2Protocol { +struct AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_API NonQueryCompatibleRpcV2ProtocolClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NonQueryCompatibleRpcV2ProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NonQueryCompatibleRpcV2ProtocolClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NonQueryCompatibleRpcV2ProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NonQueryCompatibleRpcV2ProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + private: + void LoadNonQueryCompatibleRpcV2ProtocolSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const NonQueryCompatibleRpcV2ProtocolClientConfiguration& config); +} // namespace NonQueryCompatibleRpcV2Protocol +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolEndpointProvider.h index dfd3a24b9c71..765e814be6a1 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolEndpointProvider.h @@ -4,24 +4,31 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NonQueryCompatibleRpcV2Protocol { namespace Endpoint { +using NonQueryCompatibleRpcV2ProtocolClientConfiguration = + Aws::NonQueryCompatibleRpcV2Protocol::NonQueryCompatibleRpcV2ProtocolClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NonQueryCompatibleRpcV2ProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NonQueryCompatibleRpcV2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; -using NonQueryCompatibleRpcV2ProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_API NonQueryCompatibleRpcV2ProtocolBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NonQueryCompatibleRpcV2ProtocolBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NonQueryCompatibleRpcV2ProtocolClientConfiguration& config); + virtual void SetFromClientConfiguration(const NonQueryCompatibleRpcV2ProtocolClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the NonQueryCompatibleRpcV2Protocol Client Endpoint Provider. @@ -36,6 +43,26 @@ using NonQueryCompatibleRpcV2ProtocolDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace NonQueryCompatibleRpcV2Protocol + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_EXTERN template class AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_EXTERN template class AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_API Aws::Endpoint::DefaultEndpointProvider< + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolClientConfiguration, + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolBuiltInParameters, + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolClientContextParameters>; +} // namespace Endpoint + +namespace NonQueryCompatibleRpcV2Protocol { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolServiceClientModel.h index 9b51e03a654f..95fa1d980e3a 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace NonQueryCompatibleRpcV2Protocol { -using NonQueryCompatibleRpcV2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; using NonQueryCompatibleRpcV2ProtocolEndpointProviderBase = Aws::NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolEndpointProviderBase; using NonQueryCompatibleRpcV2ProtocolEndpointProvider = diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolClient.cpp index 00cc0b5979a1..6b9e29f102da 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolClient.cpp @@ -84,42 +84,6 @@ NonQueryCompatibleRpcV2ProtocolClient::NonQueryCompatibleRpcV2ProtocolClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -NonQueryCompatibleRpcV2ProtocolClient::NonQueryCompatibleRpcV2ProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NonQueryCompatibleRpcV2ProtocolClient::NonQueryCompatibleRpcV2ProtocolClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NonQueryCompatibleRpcV2ProtocolClient::NonQueryCompatibleRpcV2ProtocolClient( - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NonQueryCompatibleRpcV2ProtocolClient::~NonQueryCompatibleRpcV2ProtocolClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NonQueryCompatibleRpcV2ProtocolClient::accessEndpointProvider() { @@ -140,12 +104,7 @@ void NonQueryCompatibleRpcV2ProtocolClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "nonquerycompatiblerpcv2protocol"); -} - -void NonQueryCompatibleRpcV2ProtocolClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NonQueryCompatibleRpcV2ProtocolClient::InvokeOperationOutcome NonQueryCompatibleRpcV2ProtocolClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolClientConfiguration.cpp new file mode 100644 index 000000000000..ccdf23d92002 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NonQueryCompatibleRpcV2Protocol { + +void NonQueryCompatibleRpcV2ProtocolClientConfiguration::LoadNonQueryCompatibleRpcV2ProtocolSpecificConfig( + const Aws::String& inputProfileName) { +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NonQueryCompatibleRpcV2ProtocolClientConfiguration::NonQueryCompatibleRpcV2ProtocolClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNonQueryCompatibleRpcV2ProtocolSpecificConfig(this->profileName); +} + +NonQueryCompatibleRpcV2ProtocolClientConfiguration::NonQueryCompatibleRpcV2ProtocolClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNonQueryCompatibleRpcV2ProtocolSpecificConfig(Aws::String(inputProfileName)); +} + +NonQueryCompatibleRpcV2ProtocolClientConfiguration::NonQueryCompatibleRpcV2ProtocolClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNonQueryCompatibleRpcV2ProtocolSpecificConfig(this->profileName); +} + +NonQueryCompatibleRpcV2ProtocolClientConfiguration::NonQueryCompatibleRpcV2ProtocolClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNonQueryCompatibleRpcV2ProtocolSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NonQueryCompatibleRpcV2ProtocolClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NonQueryCompatibleRpcV2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolEndpointProvider.cpp index d863f5380e5a..18f6a9c67da9 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_NONQUERYCOMPATIBLERPCV2PROTOCOL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolClientConfiguration, + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolBuiltInParameters, + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolClientContextParameters>; + +template class Aws::Endpoint::DefaultEndpointProvider< + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolClientConfiguration, + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolBuiltInParameters, + NonQueryCompatibleRpcV2Protocol::Endpoint::NonQueryCompatibleRpcV2ProtocolClientContextParameters>; +} // namespace Endpoint +#endif + namespace NonQueryCompatibleRpcV2Protocol { namespace Endpoint { NonQueryCompatibleRpcV2ProtocolEndpointProvider::NonQueryCompatibleRpcV2ProtocolEndpointProvider() @@ -14,6 +31,17 @@ NonQueryCompatibleRpcV2ProtocolEndpointProvider::NonQueryCompatibleRpcV2Protocol Aws::NonQueryCompatibleRpcV2Protocol::NonQueryCompatibleRpcV2ProtocolEndpointRules::GetRulesBlob(), Aws::NonQueryCompatibleRpcV2Protocol::NonQueryCompatibleRpcV2ProtocolEndpointRules::RulesBlobSize) {} +void NonQueryCompatibleRpcV2ProtocolBuiltInParameters::SetFromClientConfiguration( + const NonQueryCompatibleRpcV2ProtocolClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void NonQueryCompatibleRpcV2ProtocolBuiltInParameters::SetFromClientConfiguration( + const NonQueryCompatibleRpcV2ProtocolClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); +} + } // namespace Endpoint } // namespace NonQueryCompatibleRpcV2Protocol } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockClient.h index 437d0ab1439d..d227bf28d5e1 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockClient.h @@ -51,27 +51,6 @@ class AWS_PROTOCOLMOCK_API ProtocolMockClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::ProtocolMock::ProtocolMockClientConfiguration& clientConfiguration = Aws::ProtocolMock::ProtocolMockClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ProtocolMockClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ProtocolMockClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ProtocolMockClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ProtocolMockClient(); /** @@ -205,7 +184,6 @@ class AWS_PROTOCOLMOCK_API ProtocolMockClient : public Aws::Client::AWSJsonClien return SubmitAsync(&ProtocolMockClient::Terminate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockClientConfiguration.h new file mode 100644 index 000000000000..aa5c5b316d2b --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockClientConfiguration.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ProtocolMock { +struct AWS_PROTOCOLMOCK_API ProtocolMockClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ProtocolMockClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ProtocolMockClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ProtocolMockClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ProtocolMockClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + private: + void LoadProtocolMockSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PROTOCOLMOCK_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ProtocolMockClientConfiguration& config); +} // namespace ProtocolMock +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockEndpointProvider.h index b7134b3f9a3e..372f7299f181 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ProtocolMock { namespace Endpoint { +using ProtocolMockClientConfiguration = Aws::ProtocolMock::ProtocolMockClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ProtocolMockClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ProtocolMockClientConfiguration = Aws::Client::GenericClientConfiguration; -using ProtocolMockBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PROTOCOLMOCK_API ProtocolMockBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ProtocolMockBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ProtocolMockClientConfiguration& config); + virtual void SetFromClientConfiguration(const ProtocolMockClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the ProtocolMock Client Endpoint Provider. @@ -34,6 +40,24 @@ using ProtocolMockEndpointProviderBase = using ProtocolMockDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace ProtocolMock + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PROTOCOLMOCK_EXTERN template class AWS_PROTOCOLMOCK_API Aws::Endpoint::EndpointProviderBase< + ProtocolMock::Endpoint::ProtocolMockClientConfiguration, ProtocolMock::Endpoint::ProtocolMockBuiltInParameters, + ProtocolMock::Endpoint::ProtocolMockClientContextParameters>; + +AWS_PROTOCOLMOCK_EXTERN template class AWS_PROTOCOLMOCK_API Aws::Endpoint::DefaultEndpointProvider< + ProtocolMock::Endpoint::ProtocolMockClientConfiguration, ProtocolMock::Endpoint::ProtocolMockBuiltInParameters, + ProtocolMock::Endpoint::ProtocolMockClientContextParameters>; +} // namespace Endpoint + +namespace ProtocolMock { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockServiceClientModel.h index e04f71b16749..afd007ee8ebe 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockServiceClientModel.h @@ -56,7 +56,6 @@ class RetryStrategy; } // namespace Client namespace ProtocolMock { -using ProtocolMockClientConfiguration = Aws::Client::GenericClientConfiguration; using ProtocolMockEndpointProviderBase = Aws::ProtocolMock::Endpoint::ProtocolMockEndpointProviderBase; using ProtocolMockEndpointProvider = Aws::ProtocolMock::Endpoint::ProtocolMockEndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockClient.cpp index d0fbe14da035..8a2fb7e208ec 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockClient.cpp @@ -83,41 +83,6 @@ ProtocolMockClient::ProtocolMockClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ProtocolMockClient::ProtocolMockClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ProtocolMockClient::ProtocolMockClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ProtocolMockClient::~ProtocolMockClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ProtocolMockClient::accessEndpointProvider() { return m_endpointProvider; } @@ -135,12 +100,7 @@ void ProtocolMockClient::init(const ProtocolMock::ProtocolMockClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "awscppsdktest"); -} - -void ProtocolMockClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ProtocolMockClient::InvokeOperationOutcome ProtocolMockClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockClientConfiguration.cpp new file mode 100644 index 000000000000..04736fe0ddc9 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockClientConfiguration.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ProtocolMock { + +void ProtocolMockClientConfiguration::LoadProtocolMockSpecificConfig(const Aws::String& inputProfileName) { +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ProtocolMockClientConfiguration::ProtocolMockClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadProtocolMockSpecificConfig(this->profileName); +} + +ProtocolMockClientConfiguration::ProtocolMockClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadProtocolMockSpecificConfig(Aws::String(inputProfileName)); +} + +ProtocolMockClientConfiguration::ProtocolMockClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadProtocolMockSpecificConfig(this->profileName); +} + +ProtocolMockClientConfiguration::ProtocolMockClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadProtocolMockSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ProtocolMockClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ProtocolMock +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockEndpointProvider.cpp index eaad4f43bde8..96b105b7b6dc 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_PROTOCOLMOCK_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace ProtocolMock { namespace Endpoint { ProtocolMockEndpointProvider::ProtocolMockEndpointProvider() : ProtocolMockDefaultEpProviderBase(Aws::ProtocolMock::ProtocolMockEndpointRules::GetRulesBlob(), Aws::ProtocolMock::ProtocolMockEndpointRules::RulesBlobSize) {} +void ProtocolMockBuiltInParameters::SetFromClientConfiguration(const ProtocolMockClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void ProtocolMockBuiltInParameters::SetFromClientConfiguration(const ProtocolMockClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace ProtocolMock } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10Client.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10Client.h index 98f754fe2886..fa63b84cfc54 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10Client.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10Client.h @@ -50,27 +50,6 @@ class AWS_QUERYCOMPATIBLEJSONRPC10_API QueryCompatibleJSONRPC10Client const Aws::QueryCompatibleJSONRPC10::QueryCompatibleJSONRPC10ClientConfiguration& clientConfiguration = Aws::QueryCompatibleJSONRPC10::QueryCompatibleJSONRPC10ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - QueryCompatibleJSONRPC10Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - QueryCompatibleJSONRPC10Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - QueryCompatibleJSONRPC10Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~QueryCompatibleJSONRPC10Client(); /** @@ -99,7 +78,6 @@ class AWS_QUERYCOMPATIBLEJSONRPC10_API QueryCompatibleJSONRPC10Client return SubmitAsync(&QueryCompatibleJSONRPC10Client::QueryCompatibleOperation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10ClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10ClientConfiguration.h new file mode 100644 index 000000000000..bc9873cec675 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10ClientConfiguration.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace QueryCompatibleJSONRPC10 { +struct AWS_QUERYCOMPATIBLEJSONRPC10_API QueryCompatibleJSONRPC10ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + QueryCompatibleJSONRPC10ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QueryCompatibleJSONRPC10ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QueryCompatibleJSONRPC10ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit QueryCompatibleJSONRPC10ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + private: + void LoadQueryCompatibleJSONRPC10SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_QUERYCOMPATIBLEJSONRPC10_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const QueryCompatibleJSONRPC10ClientConfiguration& config); +} // namespace QueryCompatibleJSONRPC10 +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10EndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10EndpointProvider.h index ae4fc283987b..d7f509fb9159 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10EndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10EndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace QueryCompatibleJSONRPC10 { namespace Endpoint { +using QueryCompatibleJSONRPC10ClientConfiguration = Aws::QueryCompatibleJSONRPC10::QueryCompatibleJSONRPC10ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using QueryCompatibleJSONRPC10ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using QueryCompatibleJSONRPC10ClientConfiguration = Aws::Client::GenericClientConfiguration; -using QueryCompatibleJSONRPC10BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_QUERYCOMPATIBLEJSONRPC10_API QueryCompatibleJSONRPC10BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~QueryCompatibleJSONRPC10BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const QueryCompatibleJSONRPC10ClientConfiguration& config); + virtual void SetFromClientConfiguration(const QueryCompatibleJSONRPC10ClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the QueryCompatibleJSONRPC10 Client Endpoint Provider. @@ -36,6 +42,26 @@ using QueryCompatibleJSONRPC10DefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace QueryCompatibleJSONRPC10 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_QUERYCOMPATIBLEJSONRPC10_EXTERN template class AWS_QUERYCOMPATIBLEJSONRPC10_API + Aws::Endpoint::EndpointProviderBase; + +AWS_QUERYCOMPATIBLEJSONRPC10_EXTERN template class AWS_QUERYCOMPATIBLEJSONRPC10_API + Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint + +namespace QueryCompatibleJSONRPC10 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10ServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10ServiceClientModel.h index 586525f66d90..1a0962ec078f 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10ServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10ServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace QueryCompatibleJSONRPC10 { -using QueryCompatibleJSONRPC10ClientConfiguration = Aws::Client::GenericClientConfiguration; using QueryCompatibleJSONRPC10EndpointProviderBase = Aws::QueryCompatibleJSONRPC10::Endpoint::QueryCompatibleJSONRPC10EndpointProviderBase; using QueryCompatibleJSONRPC10EndpointProvider = Aws::QueryCompatibleJSONRPC10::Endpoint::QueryCompatibleJSONRPC10EndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10Client.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10Client.cpp index 4f93bc2681cc..92359053b33d 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10Client.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10Client.cpp @@ -84,42 +84,6 @@ QueryCompatibleJSONRPC10Client::QueryCompatibleJSONRPC10Client( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -QueryCompatibleJSONRPC10Client::QueryCompatibleJSONRPC10Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QueryCompatibleJSONRPC10Client::QueryCompatibleJSONRPC10Client(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QueryCompatibleJSONRPC10Client::QueryCompatibleJSONRPC10Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ QueryCompatibleJSONRPC10Client::~QueryCompatibleJSONRPC10Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& QueryCompatibleJSONRPC10Client::accessEndpointProvider() { @@ -139,12 +103,7 @@ void QueryCompatibleJSONRPC10Client::init(const QueryCompatibleJSONRPC10::QueryC AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "querycompatiblejsonrpc10"); -} - -void QueryCompatibleJSONRPC10Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } QueryCompatibleJSONRPC10Client::InvokeOperationOutcome QueryCompatibleJSONRPC10Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10ClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10ClientConfiguration.cpp new file mode 100644 index 000000000000..07339481f8ef --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10ClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace QueryCompatibleJSONRPC10 { + +void QueryCompatibleJSONRPC10ClientConfiguration::LoadQueryCompatibleJSONRPC10SpecificConfig(const Aws::String& inputProfileName) { +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +QueryCompatibleJSONRPC10ClientConfiguration::QueryCompatibleJSONRPC10ClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadQueryCompatibleJSONRPC10SpecificConfig(this->profileName); +} + +QueryCompatibleJSONRPC10ClientConfiguration::QueryCompatibleJSONRPC10ClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadQueryCompatibleJSONRPC10SpecificConfig(Aws::String(inputProfileName)); +} + +QueryCompatibleJSONRPC10ClientConfiguration::QueryCompatibleJSONRPC10ClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadQueryCompatibleJSONRPC10SpecificConfig(this->profileName); +} + +QueryCompatibleJSONRPC10ClientConfiguration::QueryCompatibleJSONRPC10ClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadQueryCompatibleJSONRPC10SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const QueryCompatibleJSONRPC10ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace QueryCompatibleJSONRPC10 +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10EndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10EndpointProvider.cpp index 56064739cb12..f7a6c2b180af 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10EndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10EndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_QUERYCOMPATIBLEJSONRPC10_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace QueryCompatibleJSONRPC10 { namespace Endpoint { QueryCompatibleJSONRPC10EndpointProvider::QueryCompatibleJSONRPC10EndpointProvider() : QueryCompatibleJSONRPC10DefaultEpProviderBase(Aws::QueryCompatibleJSONRPC10::QueryCompatibleJSONRPC10EndpointRules::GetRulesBlob(), Aws::QueryCompatibleJSONRPC10::QueryCompatibleJSONRPC10EndpointRules::RulesBlobSize) {} +void QueryCompatibleJSONRPC10BuiltInParameters::SetFromClientConfiguration(const QueryCompatibleJSONRPC10ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void QueryCompatibleJSONRPC10BuiltInParameters::SetFromClientConfiguration(const QueryCompatibleJSONRPC10ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace QueryCompatibleJSONRPC10 } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolClient.h index 7b2887ba9d1f..fccb056f9757 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolClient.h @@ -53,28 +53,6 @@ class AWS_QUERYCOMPATIBLERPCV2PROTOCOL_API QueryCompatibleRpcV2ProtocolClient const Aws::QueryCompatibleRpcV2Protocol::QueryCompatibleRpcV2ProtocolClientConfiguration& clientConfiguration = Aws::QueryCompatibleRpcV2Protocol::QueryCompatibleRpcV2ProtocolClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - QueryCompatibleRpcV2ProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - QueryCompatibleRpcV2ProtocolClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - QueryCompatibleRpcV2ProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~QueryCompatibleRpcV2ProtocolClient(); /** @@ -103,7 +81,6 @@ class AWS_QUERYCOMPATIBLERPCV2PROTOCOL_API QueryCompatibleRpcV2ProtocolClient return SubmitAsync(&QueryCompatibleRpcV2ProtocolClient::QueryCompatibleOperation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolClientConfiguration.h new file mode 100644 index 000000000000..2b0041f8241a --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolClientConfiguration.h @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace QueryCompatibleRpcV2Protocol { +struct AWS_QUERYCOMPATIBLERPCV2PROTOCOL_API QueryCompatibleRpcV2ProtocolClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + QueryCompatibleRpcV2ProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QueryCompatibleRpcV2ProtocolClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QueryCompatibleRpcV2ProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit QueryCompatibleRpcV2ProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + private: + void LoadQueryCompatibleRpcV2ProtocolSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_QUERYCOMPATIBLERPCV2PROTOCOL_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const QueryCompatibleRpcV2ProtocolClientConfiguration& config); +} // namespace QueryCompatibleRpcV2Protocol +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolEndpointProvider.h index eaef84a20ce4..a794560011fa 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace QueryCompatibleRpcV2Protocol { namespace Endpoint { +using QueryCompatibleRpcV2ProtocolClientConfiguration = Aws::QueryCompatibleRpcV2Protocol::QueryCompatibleRpcV2ProtocolClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using QueryCompatibleRpcV2ProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; -using QueryCompatibleRpcV2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; -using QueryCompatibleRpcV2ProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_QUERYCOMPATIBLERPCV2PROTOCOL_API QueryCompatibleRpcV2ProtocolBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~QueryCompatibleRpcV2ProtocolBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const QueryCompatibleRpcV2ProtocolClientConfiguration& config); + virtual void SetFromClientConfiguration(const QueryCompatibleRpcV2ProtocolClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the QueryCompatibleRpcV2Protocol Client Endpoint Provider. @@ -36,6 +42,26 @@ using QueryCompatibleRpcV2ProtocolDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace QueryCompatibleRpcV2Protocol + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_QUERYCOMPATIBLERPCV2PROTOCOL_EXTERN template class AWS_QUERYCOMPATIBLERPCV2PROTOCOL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_QUERYCOMPATIBLERPCV2PROTOCOL_EXTERN template class AWS_QUERYCOMPATIBLERPCV2PROTOCOL_API + Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint + +namespace QueryCompatibleRpcV2Protocol { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolServiceClientModel.h index 058a97a60b5d..1efe94524bca 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace QueryCompatibleRpcV2Protocol { -using QueryCompatibleRpcV2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; using QueryCompatibleRpcV2ProtocolEndpointProviderBase = Aws::QueryCompatibleRpcV2Protocol::Endpoint::QueryCompatibleRpcV2ProtocolEndpointProviderBase; using QueryCompatibleRpcV2ProtocolEndpointProvider = diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolClient.cpp index 984553b2fe8d..84a28fd63f90 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolClient.cpp @@ -84,42 +84,6 @@ QueryCompatibleRpcV2ProtocolClient::QueryCompatibleRpcV2ProtocolClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -QueryCompatibleRpcV2ProtocolClient::QueryCompatibleRpcV2ProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QueryCompatibleRpcV2ProtocolClient::QueryCompatibleRpcV2ProtocolClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QueryCompatibleRpcV2ProtocolClient::QueryCompatibleRpcV2ProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ QueryCompatibleRpcV2ProtocolClient::~QueryCompatibleRpcV2ProtocolClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& QueryCompatibleRpcV2ProtocolClient::accessEndpointProvider() { @@ -139,12 +103,7 @@ void QueryCompatibleRpcV2ProtocolClient::init(const QueryCompatibleRpcV2Protocol AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "querycompatiblerpcv2protocol"); -} - -void QueryCompatibleRpcV2ProtocolClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } QueryCompatibleRpcV2ProtocolClient::InvokeOperationOutcome QueryCompatibleRpcV2ProtocolClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolClientConfiguration.cpp new file mode 100644 index 000000000000..609cdc88dfc8 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace QueryCompatibleRpcV2Protocol { + +void QueryCompatibleRpcV2ProtocolClientConfiguration::LoadQueryCompatibleRpcV2ProtocolSpecificConfig(const Aws::String& inputProfileName) { +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +QueryCompatibleRpcV2ProtocolClientConfiguration::QueryCompatibleRpcV2ProtocolClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadQueryCompatibleRpcV2ProtocolSpecificConfig(this->profileName); +} + +QueryCompatibleRpcV2ProtocolClientConfiguration::QueryCompatibleRpcV2ProtocolClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadQueryCompatibleRpcV2ProtocolSpecificConfig(Aws::String(inputProfileName)); +} + +QueryCompatibleRpcV2ProtocolClientConfiguration::QueryCompatibleRpcV2ProtocolClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadQueryCompatibleRpcV2ProtocolSpecificConfig(this->profileName); +} + +QueryCompatibleRpcV2ProtocolClientConfiguration::QueryCompatibleRpcV2ProtocolClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadQueryCompatibleRpcV2ProtocolSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const QueryCompatibleRpcV2ProtocolClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace QueryCompatibleRpcV2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolEndpointProvider.cpp index a63e0768142e..522b87d45038 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_QUERYCOMPATIBLERPCV2PROTOCOL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + QueryCompatibleRpcV2Protocol::Endpoint::QueryCompatibleRpcV2ProtocolClientConfiguration, + QueryCompatibleRpcV2Protocol::Endpoint::QueryCompatibleRpcV2ProtocolBuiltInParameters, + QueryCompatibleRpcV2Protocol::Endpoint::QueryCompatibleRpcV2ProtocolClientContextParameters>; + +template class Aws::Endpoint::DefaultEndpointProvider< + QueryCompatibleRpcV2Protocol::Endpoint::QueryCompatibleRpcV2ProtocolClientConfiguration, + QueryCompatibleRpcV2Protocol::Endpoint::QueryCompatibleRpcV2ProtocolBuiltInParameters, + QueryCompatibleRpcV2Protocol::Endpoint::QueryCompatibleRpcV2ProtocolClientContextParameters>; +} // namespace Endpoint +#endif + namespace QueryCompatibleRpcV2Protocol { namespace Endpoint { QueryCompatibleRpcV2ProtocolEndpointProvider::QueryCompatibleRpcV2ProtocolEndpointProvider() @@ -14,6 +31,17 @@ QueryCompatibleRpcV2ProtocolEndpointProvider::QueryCompatibleRpcV2ProtocolEndpoi Aws::QueryCompatibleRpcV2Protocol::QueryCompatibleRpcV2ProtocolEndpointRules::GetRulesBlob(), Aws::QueryCompatibleRpcV2Protocol::QueryCompatibleRpcV2ProtocolEndpointRules::RulesBlobSize) {} +void QueryCompatibleRpcV2ProtocolBuiltInParameters::SetFromClientConfiguration( + const QueryCompatibleRpcV2ProtocolClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void QueryCompatibleRpcV2ProtocolBuiltInParameters::SetFromClientConfiguration( + const QueryCompatibleRpcV2ProtocolClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); +} + } // namespace Endpoint } // namespace QueryCompatibleRpcV2Protocol } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClient.h index d6fec66f348f..0f8005190d47 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClient.h @@ -53,27 +53,6 @@ class AWS_QUERYPROTOCOL_API QueryProtocolClient : public Aws::Client::AWSXMLClie const Aws::QueryProtocol::QueryProtocolClientConfiguration& clientConfiguration = Aws::QueryProtocol::QueryProtocolClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - QueryProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - QueryProtocolClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - QueryProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~QueryProtocolClient(); /** @@ -968,7 +947,6 @@ class AWS_QUERYPROTOCOL_API QueryProtocolClient : public Aws::Client::AWSXMLClie return SubmitAsync(&QueryProtocolClient::XmlTimestamps, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClientConfiguration.h new file mode 100644 index 000000000000..817865e888e6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace QueryProtocol { +struct AWS_QUERYPROTOCOL_API QueryProtocolClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + QueryProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QueryProtocolClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QueryProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit QueryProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * Request compression configuration + * To use this feature, the service needs to provide the support, and the compression + * algorithms needs to be available at SDK build time. + */ + Aws::Client::RequestCompressionConfig requestCompressionConfig; + + private: + void LoadQueryProtocolSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_QUERYPROTOCOL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const QueryProtocolClientConfiguration& config); +} // namespace QueryProtocol +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointProvider.h index e3d98532cc72..558fc9bef5f0 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace QueryProtocol { namespace Endpoint { +using QueryProtocolClientConfiguration = Aws::QueryProtocol::QueryProtocolClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using QueryProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; -using QueryProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; -using QueryProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_QUERYPROTOCOL_API QueryProtocolBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~QueryProtocolBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const QueryProtocolClientConfiguration& config); + virtual void SetFromClientConfiguration(const QueryProtocolClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the QueryProtocol Client Endpoint Provider. @@ -34,6 +40,24 @@ using QueryProtocolEndpointProviderBase = using QueryProtocolDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace QueryProtocol + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_QUERYPROTOCOL_EXTERN template class AWS_QUERYPROTOCOL_API Aws::Endpoint::EndpointProviderBase< + QueryProtocol::Endpoint::QueryProtocolClientConfiguration, QueryProtocol::Endpoint::QueryProtocolBuiltInParameters, + QueryProtocol::Endpoint::QueryProtocolClientContextParameters>; + +AWS_QUERYPROTOCOL_EXTERN template class AWS_QUERYPROTOCOL_API Aws::Endpoint::DefaultEndpointProvider< + QueryProtocol::Endpoint::QueryProtocolClientConfiguration, QueryProtocol::Endpoint::QueryProtocolBuiltInParameters, + QueryProtocol::Endpoint::QueryProtocolClientContextParameters>; +} // namespace Endpoint + +namespace QueryProtocol { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolServiceClientModel.h index f8794e507244..d829bd674201 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolServiceClientModel.h @@ -101,7 +101,6 @@ class RetryStrategy; } // namespace Client namespace QueryProtocol { -using QueryProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; using QueryProtocolEndpointProviderBase = Aws::QueryProtocol::Endpoint::QueryProtocolEndpointProviderBase; using QueryProtocolEndpointProvider = Aws::QueryProtocol::Endpoint::QueryProtocolEndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClient.cpp index 0753810ff783..deedd2e9738c 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClient.cpp @@ -111,41 +111,6 @@ QueryProtocolClient::QueryProtocolClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QueryProtocolClient::QueryProtocolClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QueryProtocolClient::QueryProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ QueryProtocolClient::~QueryProtocolClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& QueryProtocolClient::accessEndpointProvider() { return m_endpointProvider; } @@ -163,12 +128,7 @@ void QueryProtocolClient::init(const QueryProtocol::QueryProtocolClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "awsquery"); -} - -void QueryProtocolClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String QueryProtocolClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClientConfiguration.cpp new file mode 100644 index 000000000000..9aece0294807 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace QueryProtocol { + +void QueryProtocolClientConfiguration::LoadQueryProtocolSpecificConfig(const Aws::String& inputProfileName) { + requestCompressionConfig = Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +QueryProtocolClientConfiguration::QueryProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadQueryProtocolSpecificConfig(this->profileName); +} + +QueryProtocolClientConfiguration::QueryProtocolClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadQueryProtocolSpecificConfig(Aws::String(inputProfileName)); +} + +QueryProtocolClientConfiguration::QueryProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadQueryProtocolSpecificConfig(this->profileName); +} + +QueryProtocolClientConfiguration::QueryProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadQueryProtocolSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const QueryProtocolClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.requestCompressionConfig = config.requestCompressionConfig; + return options; +} + +} // namespace QueryProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointProvider.cpp index 6f2cdd031a15..c999acac6445 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_QUERYPROTOCOL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace QueryProtocol { namespace Endpoint { QueryProtocolEndpointProvider::QueryProtocolEndpointProvider() : QueryProtocolDefaultEpProviderBase(Aws::QueryProtocol::QueryProtocolEndpointRules::GetRulesBlob(), Aws::QueryProtocol::QueryProtocolEndpointRules::RulesBlobSize) {} +void QueryProtocolBuiltInParameters::SetFromClientConfiguration(const QueryProtocolClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void QueryProtocolBuiltInParameters::SetFromClientConfiguration(const QueryProtocolClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace QueryProtocol } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClient.h index a79f73941a3f..75a8512abc1f 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClient.h @@ -49,27 +49,6 @@ class AWS_RESTJSONPROTOCOL_API RestJsonProtocolClient : public Aws::Client::AWSJ const Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration& clientConfiguration = Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RestJsonProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RestJsonProtocolClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RestJsonProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RestJsonProtocolClient(); /** @@ -1984,7 +1963,6 @@ class AWS_RESTJSONPROTOCOL_API RestJsonProtocolClient : public Aws::Client::AWSJ return SubmitAsync(&RestJsonProtocolClient::UnitInputAndOutput, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClientConfiguration.h new file mode 100644 index 000000000000..77a66d42e3cf --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClientConfiguration.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RestJsonProtocol { +struct AWS_RESTJSONPROTOCOL_API RestJsonProtocolClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RestJsonProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RestJsonProtocolClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RestJsonProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RestJsonProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * Request compression configuration + * To use this feature, the service needs to provide the support, and the compression + * algorithms needs to be available at SDK build time. + */ + Aws::Client::RequestCompressionConfig requestCompressionConfig; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadRestJsonProtocolSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RESTJSONPROTOCOL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RestJsonProtocolClientConfiguration& config); +} // namespace RestJsonProtocol +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointProvider.h index 8c447dc6d9d7..0ecc0b2fccb9 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RestJsonProtocol { namespace Endpoint { +using RestJsonProtocolClientConfiguration = Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RestJsonProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RestJsonProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; -using RestJsonProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RESTJSONPROTOCOL_API RestJsonProtocolBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RestJsonProtocolBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RestJsonProtocolClientConfiguration& config); + virtual void SetFromClientConfiguration(const RestJsonProtocolClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the RestJsonProtocol Client Endpoint Provider. @@ -35,6 +41,24 @@ using RestJsonProtocolDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace RestJsonProtocol + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RESTJSONPROTOCOL_EXTERN template class AWS_RESTJSONPROTOCOL_API Aws::Endpoint::EndpointProviderBase< + RestJsonProtocol::Endpoint::RestJsonProtocolClientConfiguration, RestJsonProtocol::Endpoint::RestJsonProtocolBuiltInParameters, + RestJsonProtocol::Endpoint::RestJsonProtocolClientContextParameters>; + +AWS_RESTJSONPROTOCOL_EXTERN template class AWS_RESTJSONPROTOCOL_API Aws::Endpoint::DefaultEndpointProvider< + RestJsonProtocol::Endpoint::RestJsonProtocolClientConfiguration, RestJsonProtocol::Endpoint::RestJsonProtocolBuiltInParameters, + RestJsonProtocol::Endpoint::RestJsonProtocolClientContextParameters>; +} // namespace Endpoint + +namespace RestJsonProtocol { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolServiceClientModel.h index d5618aaadb87..5c099eb79270 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolServiceClientModel.h @@ -159,7 +159,6 @@ class RetryStrategy; } // namespace Client namespace RestJsonProtocol { -using RestJsonProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; using RestJsonProtocolEndpointProviderBase = Aws::RestJsonProtocol::Endpoint::RestJsonProtocolEndpointProviderBase; using RestJsonProtocolEndpointProvider = Aws::RestJsonProtocol::Endpoint::RestJsonProtocolEndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClient.cpp index 007165938f73..78765c1d09db 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClient.cpp @@ -156,44 +156,6 @@ RestJsonProtocolClient::RestJsonProtocolClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RestJsonProtocolClient::RestJsonProtocolClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RestJsonProtocolClient::RestJsonProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RestJsonProtocolClient::~RestJsonProtocolClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RestJsonProtocolClient::accessEndpointProvider() { return m_endpointProvider; } @@ -211,12 +173,7 @@ void RestJsonProtocolClient::init(const RestJsonProtocol::RestJsonProtocolClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "restjson"); -} - -void RestJsonProtocolClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RestJsonProtocolClient::InvokeOperationOutcome RestJsonProtocolClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClientConfiguration.cpp new file mode 100644 index 000000000000..1201ea446433 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RestJsonProtocol { + +void RestJsonProtocolClientConfiguration::LoadRestJsonProtocolSpecificConfig(const Aws::String& inputProfileName) { + requestCompressionConfig = Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RestJsonProtocolClientConfiguration::RestJsonProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRestJsonProtocolSpecificConfig(this->profileName); +} + +RestJsonProtocolClientConfiguration::RestJsonProtocolClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRestJsonProtocolSpecificConfig(Aws::String(inputProfileName)); +} + +RestJsonProtocolClientConfiguration::RestJsonProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRestJsonProtocolSpecificConfig(this->profileName); +} + +RestJsonProtocolClientConfiguration::RestJsonProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRestJsonProtocolSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RestJsonProtocolClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.requestCompressionConfig = config.requestCompressionConfig; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace RestJsonProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointProvider.cpp index cc50fd5446be..52f14b3afc81 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_RESTJSONPROTOCOL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace RestJsonProtocol { namespace Endpoint { RestJsonProtocolEndpointProvider::RestJsonProtocolEndpointProvider() : RestJsonProtocolDefaultEpProviderBase(Aws::RestJsonProtocol::RestJsonProtocolEndpointRules::GetRulesBlob(), Aws::RestJsonProtocol::RestJsonProtocolEndpointRules::RulesBlobSize) {} +void RestJsonProtocolBuiltInParameters::SetFromClientConfiguration(const RestJsonProtocolClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void RestJsonProtocolBuiltInParameters::SetFromClientConfiguration(const RestJsonProtocolClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace RestJsonProtocol } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClient.h index 4d8a86796c76..473b4cfd7026 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClient.h @@ -53,27 +53,6 @@ class AWS_RESTXMLPROTOCOL_API RestXmlProtocolClient : public Aws::Client::AWSXML const Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration& clientConfiguration = Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RestXmlProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RestXmlProtocolClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RestXmlProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RestXmlProtocolClient(); /** @@ -1832,7 +1811,6 @@ class AWS_RESTXMLPROTOCOL_API RestXmlProtocolClient : public Aws::Client::AWSXML return SubmitAsync(&RestXmlProtocolClient::XmlUnions, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClientConfiguration.h new file mode 100644 index 000000000000..1be7fe5adff7 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClientConfiguration.h @@ -0,0 +1,96 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RestXmlProtocol { +struct AWS_RESTXMLPROTOCOL_API RestXmlProtocolClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RestXmlProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RestXmlProtocolClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RestXmlProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RestXmlProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * Request compression configuration + * To use this feature, the service needs to provide the support, and the compression + * algorithms needs to be available at SDK build time. + */ + Aws::Client::RequestCompressionConfig requestCompressionConfig; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadRestXmlProtocolSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RESTXMLPROTOCOL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RestXmlProtocolClientConfiguration& config); +} // namespace RestXmlProtocol +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointProvider.h index 35aab679dc7a..814b59e3897b 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RestXmlProtocol { namespace Endpoint { +using RestXmlProtocolClientConfiguration = Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RestXmlProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RestXmlProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; -using RestXmlProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RESTXMLPROTOCOL_API RestXmlProtocolBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RestXmlProtocolBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RestXmlProtocolClientConfiguration& config); + virtual void SetFromClientConfiguration(const RestXmlProtocolClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the RestXmlProtocol Client Endpoint Provider. @@ -34,6 +40,24 @@ using RestXmlProtocolEndpointProviderBase = using RestXmlProtocolDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace RestXmlProtocol + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RESTXMLPROTOCOL_EXTERN template class AWS_RESTXMLPROTOCOL_API Aws::Endpoint::EndpointProviderBase< + RestXmlProtocol::Endpoint::RestXmlProtocolClientConfiguration, RestXmlProtocol::Endpoint::RestXmlProtocolBuiltInParameters, + RestXmlProtocol::Endpoint::RestXmlProtocolClientContextParameters>; + +AWS_RESTXMLPROTOCOL_EXTERN template class AWS_RESTXMLPROTOCOL_API Aws::Endpoint::DefaultEndpointProvider< + RestXmlProtocol::Endpoint::RestXmlProtocolClientConfiguration, RestXmlProtocol::Endpoint::RestXmlProtocolBuiltInParameters, + RestXmlProtocol::Endpoint::RestXmlProtocolClientContextParameters>; +} // namespace Endpoint + +namespace RestXmlProtocol { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolServiceClientModel.h index b9a5391ea610..11ec734392e9 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolServiceClientModel.h @@ -152,7 +152,6 @@ class RetryStrategy; } // namespace Client namespace RestXmlProtocol { -using RestXmlProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; using RestXmlProtocolEndpointProviderBase = Aws::RestXmlProtocol::Endpoint::RestXmlProtocolEndpointProviderBase; using RestXmlProtocolEndpointProvider = Aws::RestXmlProtocol::Endpoint::RestXmlProtocolEndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClient.cpp index 213afece45f3..669b4f5b1710 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClient.cpp @@ -147,43 +147,6 @@ RestXmlProtocolClient::RestXmlProtocolClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RestXmlProtocolClient::RestXmlProtocolClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RestXmlProtocolClient::RestXmlProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RestXmlProtocolClient::~RestXmlProtocolClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RestXmlProtocolClient::accessEndpointProvider() { return m_endpointProvider; } @@ -201,12 +164,7 @@ void RestXmlProtocolClient::init(const RestXmlProtocol::RestXmlProtocolClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "restxml"); -} - -void RestXmlProtocolClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RestXmlProtocolClient::InvokeOperationOutcome RestXmlProtocolClient::InvokeServiceOperation( diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClientConfiguration.cpp new file mode 100644 index 000000000000..3e6801bb0ab3 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RestXmlProtocol { + +void RestXmlProtocolClientConfiguration::LoadRestXmlProtocolSpecificConfig(const Aws::String& inputProfileName) { + requestCompressionConfig = Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RestXmlProtocolClientConfiguration::RestXmlProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRestXmlProtocolSpecificConfig(this->profileName); +} + +RestXmlProtocolClientConfiguration::RestXmlProtocolClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRestXmlProtocolSpecificConfig(Aws::String(inputProfileName)); +} + +RestXmlProtocolClientConfiguration::RestXmlProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRestXmlProtocolSpecificConfig(this->profileName); +} + +RestXmlProtocolClientConfiguration::RestXmlProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRestXmlProtocolSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RestXmlProtocolClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.requestCompressionConfig = config.requestCompressionConfig; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace RestXmlProtocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointProvider.cpp index 06d390280d0b..b466dbae3ce7 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_RESTXMLPROTOCOL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace RestXmlProtocol { namespace Endpoint { RestXmlProtocolEndpointProvider::RestXmlProtocolEndpointProvider() : RestXmlProtocolDefaultEpProviderBase(Aws::RestXmlProtocol::RestXmlProtocolEndpointRules::GetRulesBlob(), Aws::RestXmlProtocol::RestXmlProtocolEndpointRules::RulesBlobSize) {} +void RestXmlProtocolBuiltInParameters::SetFromClientConfiguration(const RestXmlProtocolClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void RestXmlProtocolBuiltInParameters::SetFromClientConfiguration(const RestXmlProtocolClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace RestXmlProtocol } // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameRequest.cpp index ec745039876b..2079955c0943 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/BodyWithXmlNameRequest.cpp @@ -25,7 +25,7 @@ Aws::String BodyWithXmlNameRequest::SerializePayload() const { m_nested.AddToNode(nestedNode); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } Aws::Http::HeaderValueCollection BodyWithXmlNameRequest::GetRequestSpecificHeaders() const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersRequest.cpp index 12b60a9e34db..97548fa7b025 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/ContentTypeParametersRequest.cpp @@ -27,5 +27,5 @@ Aws::String ContentTypeParametersRequest::SerializePayload() const { ss.str(""); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp index efa0dc77f8d9..2ef6a40ac243 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/EndpointWithHostLabelOperationRequest.cpp @@ -25,5 +25,5 @@ Aws::String EndpointWithHostLabelOperationRequest::SerializePayload() const { labelNode.SetText(m_label); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapRequest.cpp index d5875bec929d..d02cda0a4415 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapRequest.cpp @@ -31,5 +31,5 @@ Aws::String FlattenedXmlMapRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp index aadd4b2ada64..e82211203b3a 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/FlattenedXmlMapWithXmlNameRequest.cpp @@ -31,5 +31,5 @@ Aws::String FlattenedXmlMapWithXmlNameRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameRequest.cpp index a5096622258a..25b4bf77645e 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithMemberXmlNameRequest.cpp @@ -21,7 +21,7 @@ Aws::String HttpPayloadWithMemberXmlNameRequest::SerializePayload() const { m_nested.AddToNode(parentNode); if (parentNode.HasChildren()) { - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } return {}; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureRequest.cpp index 7c94a0e97087..4110be640f5f 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithStructureRequest.cpp @@ -21,7 +21,7 @@ Aws::String HttpPayloadWithStructureRequest::SerializePayload() const { m_nested.AddToNode(parentNode); if (parentNode.HasChildren()) { - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } return {}; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionRequest.cpp index f666bb513ba9..f13b0db3e071 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithUnionRequest.cpp @@ -21,7 +21,7 @@ Aws::String HttpPayloadWithUnionRequest::SerializePayload() const { m_nested.AddToNode(parentNode); if (parentNode.HasChildren()) { - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } return {}; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameRequest.cpp index 9fc6e9ff28a6..ce0edc16226d 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNameRequest.cpp @@ -21,7 +21,7 @@ Aws::String HttpPayloadWithXmlNameRequest::SerializePayload() const { m_nested.AddToNode(parentNode); if (parentNode.HasChildren()) { - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } return {}; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.cpp index 69ff3726f577..6a9e98197f45 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceAndPrefixRequest.cpp @@ -21,7 +21,7 @@ Aws::String HttpPayloadWithXmlNamespaceAndPrefixRequest::SerializePayload() cons m_nested.AddToNode(parentNode); if (parentNode.HasChildren()) { - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } return {}; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceRequest.cpp index be44324ac2ec..309a51f703b2 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/HttpPayloadWithXmlNamespaceRequest.cpp @@ -21,7 +21,7 @@ Aws::String HttpPayloadWithXmlNamespaceRequest::SerializePayload() const { m_nested.AddToNode(parentNode); if (parentNode.HasChildren()) { - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } return {}; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameRequest.cpp index 18af30cfa6d7..3eaae97a71bc 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapWithXmlNameRequest.cpp @@ -37,5 +37,5 @@ Aws::String NestedXmlMapWithXmlNameRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsRequest.cpp index 6f876c7b3feb..93f0542f1c60 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/NestedXmlMapsRequest.cpp @@ -54,5 +54,5 @@ Aws::String NestedXmlMapsRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PutWithContentEncodingRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PutWithContentEncodingRequest.cpp index b59cc2accd35..5eeffa3437a9 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PutWithContentEncodingRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/PutWithContentEncodingRequest.cpp @@ -25,7 +25,7 @@ Aws::String PutWithContentEncodingRequest::SerializePayload() const { dataNode.SetText(m_data); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } Aws::Http::HeaderValueCollection PutWithContentEncodingRequest::GetRequestSpecificHeaders() const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesRequest.cpp index 108e27428c4d..0faf43d447f0 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/RecursiveShapesRequest.cpp @@ -25,5 +25,5 @@ Aws::String RecursiveShapesRequest::SerializePayload() const { m_nested.AddToNode(nestedNode); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesRequest.cpp index c77352f3617a..47673fc6d005 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/SimpleScalarPropertiesRequest.cpp @@ -81,7 +81,7 @@ Aws::String SimpleScalarPropertiesRequest::SerializePayload() const { ss.str(""); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } Aws::Http::HeaderValueCollection SimpleScalarPropertiesRequest::GetRequestSpecificHeaders() const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesInMiddleRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesInMiddleRequest.cpp index 54dfddb0ab30..6997eb523282 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesInMiddleRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesInMiddleRequest.cpp @@ -21,7 +21,7 @@ Aws::String XmlAttributesInMiddleRequest::SerializePayload() const { m_payload.AddToNode(parentNode); if (parentNode.HasChildren()) { - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } return {}; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadRequest.cpp index 383f91e6b749..bbc27c6343f6 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesOnPayloadRequest.cpp @@ -21,7 +21,7 @@ Aws::String XmlAttributesOnPayloadRequest::SerializePayload() const { m_payload.AddToNode(parentNode); if (parentNode.HasChildren()) { - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } return {}; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesRequest.cpp index 26424f0658e8..4bf3e02dc439 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlAttributesRequest.cpp @@ -29,5 +29,5 @@ Aws::String XmlAttributesRequest::SerializePayload() const { parentNode.SetAttributeValue("test", m_attr); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsRequest.cpp index 42e7713f27d5..0ae15953ff78 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlBlobsRequest.cpp @@ -26,5 +26,5 @@ Aws::String XmlBlobsRequest::SerializePayload() const { dataNode.SetText(HashingUtils::Base64Encode(m_data)); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsRequest.cpp index 47e8e300ccd7..b07d012ef17d 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyBlobsRequest.cpp @@ -26,5 +26,5 @@ Aws::String XmlEmptyBlobsRequest::SerializePayload() const { dataNode.SetText(HashingUtils::Base64Encode(m_data)); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsRequest.cpp index 17256659b6d2..4f57c08814c3 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyListsRequest.cpp @@ -147,5 +147,5 @@ Aws::String XmlEmptyListsRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsRequest.cpp index fc0990dbe165..e98a322f1e0d 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyMapsRequest.cpp @@ -31,5 +31,5 @@ Aws::String XmlEmptyMapsRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsRequest.cpp index d7c74e511395..3b5b12099c9b 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEmptyStringsRequest.cpp @@ -25,5 +25,5 @@ Aws::String XmlEmptyStringsRequest::SerializePayload() const { emptyStringNode.SetText(m_emptyString); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsRequest.cpp index 82acbe0f4f23..50dfddee5ae8 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlEnumsRequest.cpp @@ -62,5 +62,5 @@ Aws::String XmlEnumsRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsRequest.cpp index c3557897488a..d3ca0b62d928 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlIntEnumsRequest.cpp @@ -74,5 +74,5 @@ Aws::String XmlIntEnumsRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsRequest.cpp index a264d7892c06..b6bc0a25f843 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlListsRequest.cpp @@ -147,5 +147,5 @@ Aws::String XmlListsRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceRequest.cpp index e08e6abf54e8..43f151acb415 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapWithXmlNamespaceRequest.cpp @@ -31,5 +31,5 @@ Aws::String XmlMapWithXmlNamespaceRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsRequest.cpp index 2b4e924b77f8..295672310c93 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsRequest.cpp @@ -31,5 +31,5 @@ Aws::String XmlMapsRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameRequest.cpp index 707ac3e69d29..3832fe77e74b 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlMapsXmlNameRequest.cpp @@ -31,5 +31,5 @@ Aws::String XmlMapsXmlNameRequest::SerializePayload() const { } } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesRequest.cpp index 33d30e124a70..7de79b79b595 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlNamespacesRequest.cpp @@ -26,5 +26,5 @@ Aws::String XmlNamespacesRequest::SerializePayload() const { m_nested.AddToNode(nestedNode); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsRequest.cpp index 16ee8ee32257..c2adfa61aa2e 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlTimestampsRequest.cpp @@ -55,5 +55,5 @@ Aws::String XmlTimestampsRequest::SerializePayload() const { httpDateOnTargetNode.SetText(m_httpDateOnTarget.ToGmtString(Aws::Utils::DateFormat::RFC822)); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsRequest.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsRequest.cpp index 841c669fb6cc..4ac912523e5b 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsRequest.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/model/XmlUnionsRequest.cpp @@ -25,5 +25,5 @@ Aws::String XmlUnionsRequest::SerializePayload() const { m_unionValue.AddToNode(unionValueNode); } - return payloadDoc.ConvertToString(); + return payloadDoc.ConvertToCompactString(); } diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolClient.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolClient.h index faade4893aae..b3cfafcf06d4 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolClient.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolClient.h @@ -49,27 +49,6 @@ class AWS_RPCV2PROTOCOL_API RpcV2ProtocolClient : public Aws::Client::AWSRpcV2Cb const Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration& clientConfiguration = Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RpcV2ProtocolClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RpcV2ProtocolClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RpcV2ProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RpcV2ProtocolClient(); /** @@ -407,7 +386,6 @@ class AWS_RPCV2PROTOCOL_API RpcV2ProtocolClient : public Aws::Client::AWSRpcV2Cb return SubmitAsync(&RpcV2ProtocolClient::SparseNullsOperation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolClientConfiguration.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolClientConfiguration.h new file mode 100644 index 000000000000..2a4e0d157ffb --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolClientConfiguration.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RpcV2Protocol { +struct AWS_RPCV2PROTOCOL_API RpcV2ProtocolClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RpcV2ProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RpcV2ProtocolClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RpcV2ProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RpcV2ProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + private: + void LoadRpcV2ProtocolSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RPCV2PROTOCOL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RpcV2ProtocolClientConfiguration& config); +} // namespace RpcV2Protocol +} // namespace Aws \ No newline at end of file diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolEndpointProvider.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolEndpointProvider.h index 860e89a6e183..f8b2a1f8b63f 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolEndpointProvider.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RpcV2Protocol { namespace Endpoint { +using RpcV2ProtocolClientConfiguration = Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RpcV2ProtocolClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RpcV2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; -using RpcV2ProtocolBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RPCV2PROTOCOL_API RpcV2ProtocolBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RpcV2ProtocolBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RpcV2ProtocolClientConfiguration& config); + virtual void SetFromClientConfiguration(const RpcV2ProtocolClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the RpcV2Protocol Client Endpoint Provider. @@ -34,6 +40,24 @@ using RpcV2ProtocolEndpointProviderBase = using RpcV2ProtocolDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace RpcV2Protocol + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RPCV2PROTOCOL_EXTERN template class AWS_RPCV2PROTOCOL_API Aws::Endpoint::EndpointProviderBase< + RpcV2Protocol::Endpoint::RpcV2ProtocolClientConfiguration, RpcV2Protocol::Endpoint::RpcV2ProtocolBuiltInParameters, + RpcV2Protocol::Endpoint::RpcV2ProtocolClientContextParameters>; + +AWS_RPCV2PROTOCOL_EXTERN template class AWS_RPCV2PROTOCOL_API Aws::Endpoint::DefaultEndpointProvider< + RpcV2Protocol::Endpoint::RpcV2ProtocolClientConfiguration, RpcV2Protocol::Endpoint::RpcV2ProtocolBuiltInParameters, + RpcV2Protocol::Endpoint::RpcV2ProtocolClientContextParameters>; +} // namespace Endpoint + +namespace RpcV2Protocol { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolServiceClientModel.h b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolServiceClientModel.h index 5e9342409e91..9d50204cea52 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolServiceClientModel.h +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolServiceClientModel.h @@ -72,7 +72,6 @@ class RetryStrategy; } // namespace Client namespace RpcV2Protocol { -using RpcV2ProtocolClientConfiguration = Aws::Client::GenericClientConfiguration; using RpcV2ProtocolEndpointProviderBase = Aws::RpcV2Protocol::Endpoint::RpcV2ProtocolEndpointProviderBase; using RpcV2ProtocolEndpointProvider = Aws::RpcV2Protocol::Endpoint::RpcV2ProtocolEndpointProvider; diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolClient.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolClient.cpp index 93c44311b82d..ac7ed141da0e 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolClient.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolClient.cpp @@ -91,41 +91,6 @@ RpcV2ProtocolClient::RpcV2ProtocolClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RpcV2ProtocolClient::RpcV2ProtocolClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RpcV2ProtocolClient::RpcV2ProtocolClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RpcV2ProtocolClient::~RpcV2ProtocolClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RpcV2ProtocolClient::accessEndpointProvider() { return m_endpointProvider; } @@ -143,12 +108,7 @@ void RpcV2ProtocolClient::init(const RpcV2Protocol::RpcV2ProtocolClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rpcv2protocol"); -} - -void RpcV2ProtocolClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RpcV2ProtocolClient::InvokeOperationOutcome RpcV2ProtocolClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolClientConfiguration.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolClientConfiguration.cpp new file mode 100644 index 000000000000..54ea8f0813a6 --- /dev/null +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolClientConfiguration.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RpcV2Protocol { + +void RpcV2ProtocolClientConfiguration::LoadRpcV2ProtocolSpecificConfig(const Aws::String& inputProfileName) { +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RpcV2ProtocolClientConfiguration::RpcV2ProtocolClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRpcV2ProtocolSpecificConfig(this->profileName); +} + +RpcV2ProtocolClientConfiguration::RpcV2ProtocolClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRpcV2ProtocolSpecificConfig(Aws::String(inputProfileName)); +} + +RpcV2ProtocolClientConfiguration::RpcV2ProtocolClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRpcV2ProtocolSpecificConfig(this->profileName); +} + +RpcV2ProtocolClientConfiguration::RpcV2ProtocolClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRpcV2ProtocolSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RpcV2ProtocolClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RpcV2Protocol +} // namespace Aws diff --git a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolEndpointProvider.cpp b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolEndpointProvider.cpp index 763b9130d6a4..0feea39f7931 100644 --- a/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolEndpointProvider.cpp +++ b/generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_RPCV2PROTOCOL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace RpcV2Protocol { namespace Endpoint { RpcV2ProtocolEndpointProvider::RpcV2ProtocolEndpointProvider() : RpcV2ProtocolDefaultEpProviderBase(Aws::RpcV2Protocol::RpcV2ProtocolEndpointRules::GetRulesBlob(), Aws::RpcV2Protocol::RpcV2ProtocolEndpointRules::RulesBlobSize) {} +void RpcV2ProtocolBuiltInParameters::SetFromClientConfiguration(const RpcV2ProtocolClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void RpcV2ProtocolBuiltInParameters::SetFromClientConfiguration(const RpcV2ProtocolClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace RpcV2Protocol } // namespace Aws diff --git a/generated/protocol-tests/tests/input/ec2/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/EmptyInputAndEmptyOutputTest.cpp index 04a9d4cad5ee..244e0291d5e8 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, Ec2QueryEmptyInputAndEmptyOutput) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/EndpointOperationTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/EndpointOperationTest.cpp index 81010895be37..b540dda14273 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/EndpointOperationTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/EndpointOperationTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(EndpointOperation, Ec2QueryEndpointTrait) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/EndpointWithHostLabelOperationTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/EndpointWithHostLabelOperationTest.cpp index 8e2ded6921c4..a97a4a5c20f9 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/EndpointWithHostLabelOperationTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/EndpointWithHostLabelOperationTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(EndpointWithHostLabelOperation, Ec2QueryEndpointTraitWithHostLabel) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/HostWithPathOperationTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/HostWithPathOperationTest.cpp index 39ed9ea6a10d..f17af2ac4e7a 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/HostWithPathOperationTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/HostWithPathOperationTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(HostWithPathOperation, Ec2QueryHostWithPath) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/NestedStructuresTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/NestedStructuresTest.cpp index fdc76d2f46e6..efe36d217ea5 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/NestedStructuresTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/NestedStructuresTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(NestedStructures, Ec2NestedStructures) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/NoInputAndOutputTest.cpp index c00dc382630d..2b451c839500 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, Ec2QueryNoInputAndOutput) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/PutWithContentEncodingTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/PutWithContentEncodingTest.cpp index 9b36f4f40ec1..63d1c3cc16aa 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/PutWithContentEncodingTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/PutWithContentEncodingTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppliedContentEncoding_ec2Query) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -157,7 +157,7 @@ EcffzjixWU9FpAyGp2rVl4ETRgqljOGw4UgK31r0ZIEGnH0xGz1FtbW1OcQM008JVujRqulCucEMmntr } AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppendsGzipAndIgnoresHttpProvidedEncoding_ec2Query) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/QueryIdempotencyTokenAutoFillTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/QueryIdempotencyTokenAutoFillTest.cpp index 9097ef05213d..945862ec63dd 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/QueryIdempotencyTokenAutoFillTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/QueryIdempotencyTokenAutoFillTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, Ec2ProtocolIdempotencyTokenAutoFill) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, Ec2ProtocolIdempotencyTokenAuto } AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, Ec2ProtocolIdempotencyTokenAutoFillIsSet) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/QueryListsTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/QueryListsTest.cpp index d4f16d26511b..8eabb5615ac5 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/QueryListsTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/QueryListsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(QueryLists, Ec2Lists) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -42,7 +42,7 @@ AWS_PROTOCOL_TEST(QueryLists, Ec2Lists) { } AWS_PROTOCOL_TEST(QueryLists, Ec2EmptyQueryLists) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -60,7 +60,7 @@ AWS_PROTOCOL_TEST(QueryLists, Ec2EmptyQueryLists) { } AWS_PROTOCOL_TEST(QueryLists, Ec2ListArgWithXmlNameMember) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -79,7 +79,7 @@ AWS_PROTOCOL_TEST(QueryLists, Ec2ListArgWithXmlNameMember) { } AWS_PROTOCOL_TEST(QueryLists, Ec2ListMemberWithXmlName) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -97,7 +97,7 @@ AWS_PROTOCOL_TEST(QueryLists, Ec2ListMemberWithXmlName) { } AWS_PROTOCOL_TEST(QueryLists, Ec2ListNestedStructWithList) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/QueryTimestampsTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/QueryTimestampsTest.cpp index f30c781f2562..2f71d28b3066 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/QueryTimestampsTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/QueryTimestampsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(QueryTimestamps, Ec2TimestampsInput) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/ec2/tests/SimpleInputParamsTest.cpp b/generated/protocol-tests/tests/input/ec2/tests/SimpleInputParamsTest.cpp index 2dc869bba479..4b4d8b6dfd32 100644 --- a/generated/protocol-tests/tests/input/ec2/tests/SimpleInputParamsTest.cpp +++ b/generated/protocol-tests/tests/input/ec2/tests/SimpleInputParamsTest.cpp @@ -15,7 +15,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsStrings) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsStrings) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsStringAndBooleanTrue) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -55,7 +55,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsStringAndBooleanTrue) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsStringsAndBooleanFalse) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -74,7 +74,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsStringsAndBooleanFalse) } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsInteger) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -93,7 +93,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsInteger) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsFloat) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -112,7 +112,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsFloat) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsBlob) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -131,7 +131,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2SimpleInputParamsBlob) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2Enums) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -150,7 +150,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2Enums) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2Query) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -169,7 +169,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2Query) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2QueryIsPreferred) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -188,7 +188,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2QueryIsPreferred) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2XmlNameIsUppercased) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -207,7 +207,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2XmlNameIsUppercased) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2QuerySupportsNaNFloatInputs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -227,7 +227,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2QuerySupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2QuerySupportsInfinityFloatInputs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -247,7 +247,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, Ec2QuerySupportsInfinityFloatInputs) { } AWS_PROTOCOL_TEST(SimpleInputParams, Ec2QuerySupportsNegativeInfinityFloatInputs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/EmptyOperationTest.cpp b/generated/protocol-tests/tests/input/json/tests/EmptyOperationTest.cpp index 1cec3ddab228..6fadd6f4fe1d 100644 --- a/generated/protocol-tests/tests/input/json/tests/EmptyOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/EmptyOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(EmptyOperation, sends_requests_to_slash) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -28,7 +28,7 @@ AWS_PROTOCOL_TEST(EmptyOperation, sends_requests_to_slash) { } AWS_PROTOCOL_TEST(EmptyOperation, includes_x_amz_target_and_content_type) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -44,7 +44,7 @@ AWS_PROTOCOL_TEST(EmptyOperation, includes_x_amz_target_and_content_type) { } AWS_PROTOCOL_TEST(EmptyOperation, json_1_1_client_sends_empty_payload_for_no_input_shape) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/EndpointOperationTest.cpp b/generated/protocol-tests/tests/input/json/tests/EndpointOperationTest.cpp index e6b3582cda6b..d6d61a88a9df 100644 --- a/generated/protocol-tests/tests/input/json/tests/EndpointOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/EndpointOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(EndpointOperation, AwsJson11EndpointTrait) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/EndpointWithHostLabelOperationTest.cpp b/generated/protocol-tests/tests/input/json/tests/EndpointWithHostLabelOperationTest.cpp index 274ef854f098..f4dd498bdbaf 100644 --- a/generated/protocol-tests/tests/input/json/tests/EndpointWithHostLabelOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/EndpointWithHostLabelOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(EndpointWithHostLabelOperation, AwsJson11EndpointTraitWithHostLabel) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/HostWithPathOperationTest.cpp b/generated/protocol-tests/tests/input/json/tests/HostWithPathOperationTest.cpp index ab97a2319831..64cd8ac36355 100644 --- a/generated/protocol-tests/tests/input/json/tests/HostWithPathOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/HostWithPathOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(HostWithPathOperation, AwsJson11HostWithPath) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/JsonEnumsTest.cpp b/generated/protocol-tests/tests/input/json/tests/JsonEnumsTest.cpp index db97f7d0b7a1..1c23c572879e 100644 --- a/generated/protocol-tests/tests/input/json/tests/JsonEnumsTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/JsonEnumsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(JsonEnums, AwsJson11Enums) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/JsonIntEnumsTest.cpp b/generated/protocol-tests/tests/input/json/tests/JsonIntEnumsTest.cpp index 233f375daa1f..7ab790341efd 100644 --- a/generated/protocol-tests/tests/input/json/tests/JsonIntEnumsTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/JsonIntEnumsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(JsonIntEnums, AwsJson11IntEnums) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/JsonUnionsTest.cpp b/generated/protocol-tests/tests/input/json/tests/JsonUnionsTest.cpp index 37cb85b5aeb5..8312738ef31b 100644 --- a/generated/protocol-tests/tests/input/json/tests/JsonUnionsTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/JsonUnionsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeStringUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeStringUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeBooleanUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -56,7 +56,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeBooleanUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeNumberUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -78,7 +78,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeNumberUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeBlobUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -100,7 +100,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeBlobUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeTimestampUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -122,7 +122,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeTimestampUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeEnumUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -144,7 +144,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeEnumUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeListUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -166,7 +166,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeListUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeMapUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -190,7 +190,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeMapUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11SerializeStructureUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/KitchenSinkOperationTest.cpp b/generated/protocol-tests/tests/input/json/tests/KitchenSinkOperationTest.cpp index 85de99cf0d45..170b95b5dbfb 100644 --- a/generated/protocol-tests/tests/input/json/tests/KitchenSinkOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/KitchenSinkOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_string_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -31,7 +31,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_string_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_string_shapes_with_jsonvalue_trait) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -53,7 +53,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_string_shapes_with_jsonvalue_ } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_integer_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -72,7 +72,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_integer_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_long_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -91,7 +91,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_long_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_float_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -110,7 +110,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_float_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_double_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -129,7 +129,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_double_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_blob_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -148,7 +148,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_blob_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_boolean_shapes_true) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -167,7 +167,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_boolean_shapes_true) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_boolean_shapes_false) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -186,7 +186,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_boolean_shapes_false) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_timestamp_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -205,7 +205,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_timestamp_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_timestamp_shapes_with_iso8601_timestampformat) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -224,7 +224,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_timestamp_shapes_with_iso8601 } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_timestamp_shapes_with_httpdate_timestampformat) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -243,7 +243,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_timestamp_shapes_with_httpdat } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_timestamp_shapes_with_unixtimestamp_timestampformat) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -262,7 +262,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_timestamp_shapes_with_unixtim } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_list_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -281,7 +281,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_list_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_empty_list_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -300,7 +300,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_empty_list_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_list_of_map_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -333,7 +333,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_list_of_map_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_list_of_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -366,7 +366,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_list_of_structure_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_list_of_recursive_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -397,7 +397,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_list_of_recursive_structure_s } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_map_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -416,7 +416,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_map_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_empty_map_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -435,7 +435,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_empty_map_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_map_of_list_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -454,7 +454,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_map_of_list_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_map_of_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -482,7 +482,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_map_of_structure_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_map_of_recursive_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -514,7 +514,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_map_of_recursive_structure_sh } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -537,7 +537,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_structure_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_structure_members_with_locationname_traits) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -560,7 +560,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_structure_members_with_locati } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_empty_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -582,7 +582,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_empty_structure_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_structure_which_have_no_members) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -604,7 +604,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_structure_which_have_no_membe } AWS_PROTOCOL_TEST(KitchenSinkOperation, serializes_recursive_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/NullOperationTest.cpp b/generated/protocol-tests/tests/input/json/tests/NullOperationTest.cpp index 84e98c432629..f45771f15ecf 100644 --- a/generated/protocol-tests/tests/input/json/tests/NullOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/NullOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(NullOperation, AwsJson11StructuresDontSerializeNullValues) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/OperationWithOptionalInputOutputTest.cpp b/generated/protocol-tests/tests/input/json/tests/OperationWithOptionalInputOutputTest.cpp index 5dd920f8a672..6f6bf22ef598 100644 --- a/generated/protocol-tests/tests/input/json/tests/OperationWithOptionalInputOutputTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/OperationWithOptionalInputOutputTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(OperationWithOptionalInputOutput, can_call_operation_with_no_input_or_output) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(OperationWithOptionalInputOutput, can_call_operation_with_no_i } AWS_PROTOCOL_TEST(OperationWithOptionalInputOutput, can_call_operation_with_optional_input) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/PutAndGetInlineDocumentsTest.cpp b/generated/protocol-tests/tests/input/json/tests/PutAndGetInlineDocumentsTest.cpp index 69ae7ecf7585..80f3b8d67125 100644 --- a/generated/protocol-tests/tests/input/json/tests/PutAndGetInlineDocumentsTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/PutAndGetInlineDocumentsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(PutAndGetInlineDocuments, PutAndGetInlineDocumentsInput) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/PutWithContentEncodingTest.cpp b/generated/protocol-tests/tests/input/json/tests/PutWithContentEncodingTest.cpp index d8c7bdc29bf5..45ce2b6e6532 100644 --- a/generated/protocol-tests/tests/input/json/tests/PutWithContentEncodingTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/PutWithContentEncodingTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppliedContentEncoding_awsJson1_1) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -157,7 +157,7 @@ EcffzjixWU9FpAyGp2rVl4ETRgqljOGw4UgK31r0ZIEGnH0xGz1FtbW1OcQM008JVujRqulCucEMmntr } AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppendsGzipAndIgnoresHttpProvidedEncoding_awsJson1_1) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/input/json/tests/SimpleScalarPropertiesTest.cpp index 63b5275fb30c..49a0ba0cfebc 100644 --- a/generated/protocol-tests/tests/input/json/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsNaNFloatInputs) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsInfinityFloatInputs) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -53,7 +53,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsInfinityFloatInputs) } AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsNegativeInfinityFloatInputs) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json/tests/SparseNullsOperationTest.cpp b/generated/protocol-tests/tests/input/json/tests/SparseNullsOperationTest.cpp index bb8dd14580ee..30456335087c 100644 --- a/generated/protocol-tests/tests/input/json/tests/SparseNullsOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json/tests/SparseNullsOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(SparseNullsOperation, AwsJson11SparseMapsSerializeNullValues) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(SparseNullsOperation, AwsJson11SparseMapsSerializeNullValues) } AWS_PROTOCOL_TEST(SparseNullsOperation, AwsJson11SparseListsSerializeNull) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0-query-compatible/tests/QueryCompatibleOperationTest.cpp b/generated/protocol-tests/tests/input/json_1_0-query-compatible/tests/QueryCompatibleOperationTest.cpp index 55c41050a18e..6c757a301a92 100644 --- a/generated/protocol-tests/tests/input/json_1_0-query-compatible/tests/QueryCompatibleOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0-query-compatible/tests/QueryCompatibleOperationTest.cpp @@ -12,7 +12,8 @@ using QueryCompatibleJSONRPC10Client = Aws::QueryCompatibleJSONRPC10::QueryCompa using namespace Aws::QueryCompatibleJSONRPC10::Model; AWS_PROTOCOL_TEST(QueryCompatibleOperation, QueryCompatibleAwsJson10CborSendsQueryModeHeader) { - QueryCompatibleJSONRPC10Client client(mockCredentials, mockConfig); + QueryCompatibleJSONRPC10Client client(mockCredentials, nullptr, + Aws::QueryCompatibleJSONRPC10::QueryCompatibleJSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/EmptyInputAndEmptyOutputTest.cpp index 4342618cc38d..ab3776ecc159 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, AwsJson10EmptyInputAndEmptyOutput) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/EndpointOperationTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/EndpointOperationTest.cpp index 5249c42d0e3a..32634d0d1f53 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/EndpointOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/EndpointOperationTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(EndpointOperation, AwsJson10EndpointTrait) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/EndpointWithHostLabelOperationTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/EndpointWithHostLabelOperationTest.cpp index fddc3d1fe44a..5eeed946199c 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/EndpointWithHostLabelOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/EndpointWithHostLabelOperationTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(EndpointWithHostLabelOperation, AwsJson10EndpointTraitWithHostLabel) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/HostWithPathOperationTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/HostWithPathOperationTest.cpp index 7c44c342cac2..76395c99bc31 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/HostWithPathOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/HostWithPathOperationTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(HostWithPathOperation, AwsJson10HostWithPath) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/JsonUnionsTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/JsonUnionsTest.cpp index 013c5b48ed7d..31ebfefba282 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/JsonUnionsTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/JsonUnionsTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeStringUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeStringUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeBooleanUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -56,7 +56,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeBooleanUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeNumberUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -78,7 +78,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeNumberUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeBlobUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -100,7 +100,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeBlobUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeTimestampUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -122,7 +122,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeTimestampUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeEnumUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -144,7 +144,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeEnumUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeIntEnumUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -166,7 +166,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeIntEnumUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeListUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -188,7 +188,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeListUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeMapUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -212,7 +212,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeMapUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10SerializeStructureUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/NoInputAndNoOutputTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/NoInputAndNoOutputTest.cpp index 986ad2659721..538172bf7850 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/NoInputAndNoOutputTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/NoInputAndNoOutputTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(NoInputAndNoOutput, AwsJson10MustAlwaysSendEmptyJsonPayload) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/NoInputAndOutputTest.cpp index a7ea31a1878e..4939a6bdced4 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, AwsJson10NoInputAndOutput) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/PutWithContentEncodingTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/PutWithContentEncodingTest.cpp index c110447b073b..11f9884dd939 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/PutWithContentEncodingTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/PutWithContentEncodingTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppliedContentEncoding_awsJson1_0) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -157,7 +157,7 @@ EcffzjixWU9FpAyGp2rVl4ETRgqljOGw4UgK31r0ZIEGnH0xGz1FtbW1OcQM008JVujRqulCucEMmntr } AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppendsGzipAndIgnoresHttpProvidedEncoding_awsJson1_0) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/QueryIncompatibleOperationTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/QueryIncompatibleOperationTest.cpp index 9eb3e95a9ed7..53e4dbc91e22 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/QueryIncompatibleOperationTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/QueryIncompatibleOperationTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(QueryIncompatibleOperation, NonQueryCompatibleAwsJson10ForbidsQueryModeHeader) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/json_1_0/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/input/json_1_0/tests/SimpleScalarPropertiesTest.cpp index 490ddecf2eb0..1ae40ac4fc80 100644 --- a/generated/protocol-tests/tests/input/json_1_0/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/input/json_1_0/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsNaNFloatInputs) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsInfinityFloatInputs) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); @@ -53,7 +53,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsInfinityFloatInputs) } AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsNegativeInfinityFloatInputs) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/input/query/tests/EmptyInputAndEmptyOutputTest.cpp index 98d5f94d38fa..e37216990339 100644 --- a/generated/protocol-tests/tests/input/query/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, QueryEmptyInputAndEmptyOutput) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/EndpointOperationTest.cpp b/generated/protocol-tests/tests/input/query/tests/EndpointOperationTest.cpp index 25f7682924c1..03a5224709ad 100644 --- a/generated/protocol-tests/tests/input/query/tests/EndpointOperationTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/EndpointOperationTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(EndpointOperation, AwsQueryEndpointTrait) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/EndpointWithHostLabelOperationTest.cpp b/generated/protocol-tests/tests/input/query/tests/EndpointWithHostLabelOperationTest.cpp index 3927363d9b06..d4a3705aa608 100644 --- a/generated/protocol-tests/tests/input/query/tests/EndpointWithHostLabelOperationTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/EndpointWithHostLabelOperationTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(EndpointWithHostLabelOperation, AwsQueryEndpointTraitWithHostLabel) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/HostWithPathOperationTest.cpp b/generated/protocol-tests/tests/input/query/tests/HostWithPathOperationTest.cpp index b813cdb1fc05..5ac09c114b41 100644 --- a/generated/protocol-tests/tests/input/query/tests/HostWithPathOperationTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/HostWithPathOperationTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(HostWithPathOperation, QueryHostWithPath) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/NestedStructuresTest.cpp b/generated/protocol-tests/tests/input/query/tests/NestedStructuresTest.cpp index 8e3f38279237..acfaf50686b2 100644 --- a/generated/protocol-tests/tests/input/query/tests/NestedStructuresTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/NestedStructuresTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(NestedStructures, NestedStructures) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/NoInputAndNoOutputTest.cpp b/generated/protocol-tests/tests/input/query/tests/NoInputAndNoOutputTest.cpp index 7807ace49794..26cda861e4bf 100644 --- a/generated/protocol-tests/tests/input/query/tests/NoInputAndNoOutputTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/NoInputAndNoOutputTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndNoOutput, QueryNoInputAndNoOutput) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/input/query/tests/NoInputAndOutputTest.cpp index 86d63c68c81b..124d089c5fec 100644 --- a/generated/protocol-tests/tests/input/query/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, QueryNoInputAndOutput) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/PutWithContentEncodingTest.cpp b/generated/protocol-tests/tests/input/query/tests/PutWithContentEncodingTest.cpp index f49b2e83be5c..74fc55f3b26b 100644 --- a/generated/protocol-tests/tests/input/query/tests/PutWithContentEncodingTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/PutWithContentEncodingTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppliedContentEncoding_awsQuery) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -157,7 +157,7 @@ EcffzjixWU9FpAyGp2rVl4ETRgqljOGw4UgK31r0ZIEGnH0xGz1FtbW1OcQM008JVujRqulCucEMmntr } AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppendsGzipAndIgnoresHttpProvidedEncoding_awsQuery) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/QueryIdempotencyTokenAutoFillTest.cpp b/generated/protocol-tests/tests/input/query/tests/QueryIdempotencyTokenAutoFillTest.cpp index c56e8a2952d6..57f835b5eb2e 100644 --- a/generated/protocol-tests/tests/input/query/tests/QueryIdempotencyTokenAutoFillTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/QueryIdempotencyTokenAutoFillTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, QueryProtocolIdempotencyTokenAutoFill) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, QueryProtocolIdempotencyTokenAu } AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, QueryProtocolIdempotencyTokenAutoFillIsSet) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/QueryListsTest.cpp b/generated/protocol-tests/tests/input/query/tests/QueryListsTest.cpp index 0f6d93c9c8cf..de17888c8fd9 100644 --- a/generated/protocol-tests/tests/input/query/tests/QueryListsTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/QueryListsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(QueryLists, QueryLists) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -42,7 +42,7 @@ AWS_PROTOCOL_TEST(QueryLists, QueryLists) { } AWS_PROTOCOL_TEST(QueryLists, EmptyQueryLists) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -60,7 +60,7 @@ AWS_PROTOCOL_TEST(QueryLists, EmptyQueryLists) { } AWS_PROTOCOL_TEST(QueryLists, FlattenedQueryLists) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -78,7 +78,7 @@ AWS_PROTOCOL_TEST(QueryLists, FlattenedQueryLists) { } AWS_PROTOCOL_TEST(QueryLists, QueryListArgWithXmlNameMember) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -98,7 +98,7 @@ AWS_PROTOCOL_TEST(QueryLists, QueryListArgWithXmlNameMember) { } AWS_PROTOCOL_TEST(QueryLists, QueryFlattenedListArgWithXmlName) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -116,7 +116,7 @@ AWS_PROTOCOL_TEST(QueryLists, QueryFlattenedListArgWithXmlName) { } AWS_PROTOCOL_TEST(QueryLists, QueryNestedStructWithList) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/QueryMapsTest.cpp b/generated/protocol-tests/tests/input/query/tests/QueryMapsTest.cpp index e355727b9218..70513e9ac3c4 100644 --- a/generated/protocol-tests/tests/input/query/tests/QueryMapsTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/QueryMapsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(QueryMaps, QuerySimpleQueryMaps) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(QueryMaps, QuerySimpleQueryMaps) { } AWS_PROTOCOL_TEST(QueryMaps, QuerySimpleQueryMapsWithXmlName) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -50,7 +50,7 @@ AWS_PROTOCOL_TEST(QueryMaps, QuerySimpleQueryMapsWithXmlName) { } AWS_PROTOCOL_TEST(QueryMaps, QueryComplexQueryMaps) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -79,7 +79,7 @@ AWS_PROTOCOL_TEST(QueryMaps, QueryComplexQueryMaps) { } AWS_PROTOCOL_TEST(QueryMaps, QueryEmptyQueryMaps) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -97,7 +97,7 @@ AWS_PROTOCOL_TEST(QueryMaps, QueryEmptyQueryMaps) { } AWS_PROTOCOL_TEST(QueryMaps, QueryQueryMapWithMemberXmlName) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -117,7 +117,7 @@ AWS_PROTOCOL_TEST(QueryMaps, QueryQueryMapWithMemberXmlName) { } AWS_PROTOCOL_TEST(QueryMaps, QueryFlattenedQueryMaps) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -137,7 +137,7 @@ AWS_PROTOCOL_TEST(QueryMaps, QueryFlattenedQueryMaps) { } AWS_PROTOCOL_TEST(QueryMaps, QueryFlattenedQueryMapsWithXmlName) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -155,7 +155,7 @@ AWS_PROTOCOL_TEST(QueryMaps, QueryFlattenedQueryMapsWithXmlName) { } AWS_PROTOCOL_TEST(QueryMaps, QueryQueryMapOfLists) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -176,7 +176,7 @@ AWS_PROTOCOL_TEST(QueryMaps, QueryQueryMapOfLists) { } AWS_PROTOCOL_TEST(QueryMaps, QueryNestedStructWithMap) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/QueryTimestampsTest.cpp b/generated/protocol-tests/tests/input/query/tests/QueryTimestampsTest.cpp index b201a07a148f..6f1ebd351f3c 100644 --- a/generated/protocol-tests/tests/input/query/tests/QueryTimestampsTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/QueryTimestampsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(QueryTimestamps, QueryTimestampsInput) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/query/tests/SimpleInputParamsTest.cpp b/generated/protocol-tests/tests/input/query/tests/SimpleInputParamsTest.cpp index 6324cd316788..2b089a8c3cf6 100644 --- a/generated/protocol-tests/tests/input/query/tests/SimpleInputParamsTest.cpp +++ b/generated/protocol-tests/tests/input/query/tests/SimpleInputParamsTest.cpp @@ -15,7 +15,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsStrings) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsStrings) { } AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsStringAndBooleanTrue) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -55,7 +55,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsStringAndBooleanTrue) } AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsStringsAndBooleanFalse) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -74,7 +74,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsStringsAndBooleanFals } AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsInteger) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -93,7 +93,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsInteger) { } AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsFloat) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -112,7 +112,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsFloat) { } AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsBlob) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -131,7 +131,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, QuerySimpleInputParamsBlob) { } AWS_PROTOCOL_TEST(SimpleInputParams, QueryEnums) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -150,7 +150,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, QueryEnums) { } AWS_PROTOCOL_TEST(SimpleInputParams, QueryIntEnums) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -169,7 +169,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, QueryIntEnums) { } AWS_PROTOCOL_TEST(SimpleInputParams, AwsQuerySupportsNaNFloatInputs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -189,7 +189,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, AwsQuerySupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleInputParams, AwsQuerySupportsInfinityFloatInputs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -209,7 +209,7 @@ AWS_PROTOCOL_TEST(SimpleInputParams, AwsQuerySupportsInfinityFloatInputs) { } AWS_PROTOCOL_TEST(SimpleInputParams, AwsQuerySupportsNegativeInfinityFloatInputs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/AllQueryStringTypesTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/AllQueryStringTypesTest.cpp index 4f212666a83a..aa86425636b4 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/AllQueryStringTypesTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/AllQueryStringTypesTest.cpp @@ -15,7 +15,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonAllQueryStringTypes) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -78,7 +78,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonAllQueryStringTypes) { } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonQueryStringMap) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -94,7 +94,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonQueryStringMap) { } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonQueryStringEscaping) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -111,7 +111,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonQueryStringEscaping) { } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonSupportsNaNFloatQueryValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -129,7 +129,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonSupportsNaNFloatQueryValues) { } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonSupportsInfinityFloatQueryValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -147,7 +147,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonSupportsInfinityFloatQueryValues) } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonSupportsNegativeInfinityFloatQueryValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -165,7 +165,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonSupportsNegativeInfinityFloatQuer } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestJsonZeroAndFalseQueryValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/ConstantAndVariableQueryStringTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/ConstantAndVariableQueryStringTest.cpp index f17fe6d46e71..d9a2d600f623 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/ConstantAndVariableQueryStringTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/ConstantAndVariableQueryStringTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(ConstantAndVariableQueryString, RestJsonConstantAndVariableQueryStringMissingOneValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -28,7 +28,7 @@ AWS_PROTOCOL_TEST(ConstantAndVariableQueryString, RestJsonConstantAndVariableQue } AWS_PROTOCOL_TEST(ConstantAndVariableQueryString, RestJsonConstantAndVariableQueryStringAllValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/ConstantQueryStringTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/ConstantQueryStringTest.cpp index 21c4badaf70e..df9c758f5a36 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/ConstantQueryStringTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/ConstantQueryStringTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(ConstantQueryString, RestJsonConstantQueryString) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeAsMapValueTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeAsMapValueTest.cpp index 05d69a06fab8..28ba5b2ea292 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeAsMapValueTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeAsMapValueTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(DocumentTypeAsMapValue, DocumentTypeAsMapValueInput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeAsPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeAsPayloadTest.cpp index 790da51ecee2..6cbd63874c29 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeAsPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeAsPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(DocumentTypeAsPayload, DocumentTypeAsPayloadInput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -33,7 +33,7 @@ AWS_PROTOCOL_TEST(DocumentTypeAsPayload, DocumentTypeAsPayloadInput) { } AWS_PROTOCOL_TEST(DocumentTypeAsPayload, DocumentTypeAsPayloadInputString) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeTest.cpp index 5faf611bbfe6..8b3f58b65503 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/DocumentTypeTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(DocumentType, DocumentTypeInputWithObject) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(DocumentType, DocumentTypeInputWithObject) { } AWS_PROTOCOL_TEST(DocumentType, DocumentInputWithString) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -56,7 +56,7 @@ AWS_PROTOCOL_TEST(DocumentType, DocumentInputWithString) { } AWS_PROTOCOL_TEST(DocumentType, DocumentInputWithNumber) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -78,7 +78,7 @@ AWS_PROTOCOL_TEST(DocumentType, DocumentInputWithNumber) { } AWS_PROTOCOL_TEST(DocumentType, DocumentInputWithBoolean) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -100,7 +100,7 @@ AWS_PROTOCOL_TEST(DocumentType, DocumentInputWithBoolean) { } AWS_PROTOCOL_TEST(DocumentType, DocumentInputWithList) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/EmptyInputAndEmptyOutputTest.cpp index 3e4ad39ee46c..712321cb106e 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, RestJsonEmptyInputAndEmptyOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/EndpointOperationTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/EndpointOperationTest.cpp index 07c4f71c72cc..799ca7943c46 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/EndpointOperationTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/EndpointOperationTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(EndpointOperation, RestJsonEndpointTrait) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/EndpointWithHostLabelOperationTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/EndpointWithHostLabelOperationTest.cpp index b4379393e54e..0915a381dedf 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/EndpointWithHostLabelOperationTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/EndpointWithHostLabelOperationTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(EndpointWithHostLabelOperation, RestJsonEndpointTraitWithHostLabel) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HostWithPathOperationTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HostWithPathOperationTest.cpp index 8322f57c5ce8..1affc6f278d0 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HostWithPathOperationTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HostWithPathOperationTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HostWithPathOperation, RestJsonHostWithPath) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpChecksumRequiredTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpChecksumRequiredTest.cpp index 43f3c22916cf..fe49e830b9ad 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpChecksumRequiredTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpChecksumRequiredTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpChecksumRequired, RestJsonHttpChecksumRequired) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpEmptyPrefixHeadersTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpEmptyPrefixHeadersTest.cpp index b7f5a77fdde6..ad3b4b301447 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpEmptyPrefixHeadersTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpEmptyPrefixHeadersTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpEmptyPrefixHeaders, RestJsonHttpEmptyPrefixHeadersRequestClient) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpEnumPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpEnumPayloadTest.cpp index c26bdf52e3e3..6dfc66051b49 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpEnumPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpEnumPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpEnumPayload, RestJsonEnumPayloadRequest) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadTraitsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadTraitsTest.cpp index b61a2e44df43..a5359433abab 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadTraitsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadTraitsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadTraits, RestJsonHttpPayloadTraitsWithBlob) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(HttpPayloadTraits, RestJsonHttpPayloadTraitsWithBlob) { } AWS_PROTOCOL_TEST(HttpPayloadTraits, RestJsonHttpPayloadTraitsWithNoBlobBody) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadWithStructureTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadWithStructureTest.cpp index 5d8d99cab9ae..a4166af5aa17 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadWithStructureTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadWithStructureTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithStructure, RestJsonHttpPayloadWithStructure) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadWithUnionTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadWithUnionTest.cpp index 89b02ca3f0ab..d89a1d5d4445 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadWithUnionTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpPayloadWithUnionTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestJsonHttpPayloadWithUnion) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestJsonHttpPayloadWithUnion) { } AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestJsonHttpPayloadWithUnsetUnion) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpPrefixHeadersTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpPrefixHeadersTest.cpp index 5bb0724102de..2288061b4824 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpPrefixHeadersTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpPrefixHeadersTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPrefixHeaders, RestJsonHttpPrefixHeadersArePresent) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(HttpPrefixHeaders, RestJsonHttpPrefixHeadersArePresent) { } AWS_PROTOCOL_TEST(HttpPrefixHeaders, RestJsonHttpPrefixHeadersAreNotPresent) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -48,7 +48,7 @@ AWS_PROTOCOL_TEST(HttpPrefixHeaders, RestJsonHttpPrefixHeadersAreNotPresent) { } AWS_PROTOCOL_TEST(HttpPrefixHeaders, RestJsonHttpPrefixEmptyHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpQueryParamsOnlyOperationTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpQueryParamsOnlyOperationTest.cpp index e85a64bda93f..670ba14c35bf 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpQueryParamsOnlyOperationTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpQueryParamsOnlyOperationTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpQueryParamsOnlyOperation, HttpQueryParamsOnlyRequest) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -28,7 +28,7 @@ AWS_PROTOCOL_TEST(HttpQueryParamsOnlyOperation, HttpQueryParamsOnlyRequest) { } AWS_PROTOCOL_TEST(HttpQueryParamsOnlyOperation, HttpQueryParamsOnlyEmptyRequest) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithFloatLabelsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithFloatLabelsTest.cpp index da65380b473e..63e17d78f912 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithFloatLabelsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithFloatLabelsTest.cpp @@ -15,7 +15,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestJsonSupportsNaNFloatLabels) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestJsonSupportsNaNFloatLabels) { } AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestJsonSupportsInfinityFloatLabels) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -49,7 +49,7 @@ AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestJsonSupportsInfinityFloatLabel } AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestJsonSupportsNegativeInfinityFloatLabels) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithGreedyLabelInPathTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithGreedyLabelInPathTest.cpp index 5e7f7b19d9d4..7892b909b4ff 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithGreedyLabelInPathTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithGreedyLabelInPathTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithGreedyLabelInPath, RestJsonHttpRequestWithGreedyLabelInPath) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithLabelsAndTimestampFormatTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithLabelsAndTimestampFormatTest.cpp index 0f7b4179173d..ae0ccd03b564 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithLabelsAndTimestampFormatTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithLabelsAndTimestampFormatTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithLabelsAndTimestampFormat, RestJsonHttpRequestWithLabelsAndTimestampFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithLabelsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithLabelsTest.cpp index 87b289bdf558..ac07961b573c 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithLabelsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithLabelsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithLabels, RestJsonInputWithHeadersAndAllParams) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(HttpRequestWithLabels, RestJsonInputWithHeadersAndAllParams) { } AWS_PROTOCOL_TEST(HttpRequestWithLabels, RestJsonHttpRequestLabelEscaping) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithRegexLiteralTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithRegexLiteralTest.cpp index ec62a71925ba..1874cc44208b 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithRegexLiteralTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpRequestWithRegexLiteralTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithRegexLiteral, RestJsonToleratesRegexCharsInSegments) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/HttpStringPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/HttpStringPayloadTest.cpp index 0fb0a624e764..ba346ce19237 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/HttpStringPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/HttpStringPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpStringPayload, RestJsonStringPayloadRequest) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/InputAndOutputWithHeadersTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/InputAndOutputWithHeadersTest.cpp index 583683d49c49..4d13117b336f 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/InputAndOutputWithHeadersTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/InputAndOutputWithHeadersTest.cpp @@ -15,7 +15,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithStringHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithStringHea } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithQuotedStringHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -51,7 +51,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithQuotedStr } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithNumericHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -76,7 +76,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithNumericHe } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithBooleanHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -95,7 +95,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithBooleanHe } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithTimestampHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -113,7 +113,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithTimestamp } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithEnumHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -132,7 +132,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithEnumHeade } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithIntEnumHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -150,7 +150,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithIntEnumHe } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsNaNFloatHeaderInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -168,7 +168,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsNaNFloatHeaderInput } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsInfinityFloatHeaderInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -186,7 +186,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsInfinityFloatHeader } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsNegativeInfinityFloatHeaderInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/JsonBlobsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/JsonBlobsTest.cpp index 0761c6620220..b0664c71e59a 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/JsonBlobsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/JsonBlobsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonBlobs, RestJsonJsonBlobs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/JsonEnumsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/JsonEnumsTest.cpp index 553d7d158d3c..ca98e2704f0c 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/JsonEnumsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/JsonEnumsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonEnums, RestJsonJsonEnums) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/JsonIntEnumsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/JsonIntEnumsTest.cpp index e60d432d5d27..c9b3d021d085 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/JsonIntEnumsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/JsonIntEnumsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonIntEnums, RestJsonJsonIntEnums) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/JsonListsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/JsonListsTest.cpp index 197a59639442..d661df1069e3 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/JsonListsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/JsonListsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonLists, RestJsonLists) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -68,7 +68,7 @@ AWS_PROTOCOL_TEST(JsonLists, RestJsonLists) { } AWS_PROTOCOL_TEST(JsonLists, RestJsonListsEmpty) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/JsonMapsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/JsonMapsTest.cpp index 222cbe72f708..240ec7fb7cbe 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/JsonMapsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/JsonMapsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonMaps, RestJsonJsonMaps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -41,7 +41,7 @@ AWS_PROTOCOL_TEST(JsonMaps, RestJsonJsonMaps) { } AWS_PROTOCOL_TEST(JsonMaps, RestJsonSerializesZeroValuesInMaps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -62,7 +62,7 @@ AWS_PROTOCOL_TEST(JsonMaps, RestJsonSerializesZeroValuesInMaps) { } AWS_PROTOCOL_TEST(JsonMaps, RestJsonSerializesDenseSetMap) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/JsonTimestampsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/JsonTimestampsTest.cpp index 47880acee531..8aa787e319e0 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/JsonTimestampsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/JsonTimestampsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestamps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestamps) { } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithDateTimeFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -48,7 +48,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithDateTimeFormat) { } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithDateTimeOnTargetFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -66,7 +66,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithDateTimeOnTargetForm } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithEpochSecondsFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -84,7 +84,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithEpochSecondsFormat) } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithEpochSecondsOnTargetFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -102,7 +102,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithEpochSecondsOnTarget } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithHttpDateFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -120,7 +120,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithHttpDateFormat) { } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithHttpDateOnTargetFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/JsonUnionsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/JsonUnionsTest.cpp index f487da2b23c6..796bbce92cb9 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/JsonUnionsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/JsonUnionsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeStringUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeStringUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeBooleanUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -56,7 +56,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeBooleanUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeNumberUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -78,7 +78,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeNumberUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeBlobUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -100,7 +100,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeBlobUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeTimestampUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -122,7 +122,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeTimestampUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeEnumUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -144,7 +144,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeEnumUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeListUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -166,7 +166,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeListUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeMapUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -190,7 +190,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeMapUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeStructureUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -217,7 +217,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeStructureUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeRenamedStructureUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -245,7 +245,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeRenamedStructureUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonSerializeNestedUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/MediaTypeHeaderTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/MediaTypeHeaderTest.cpp index b2ee0775ccf2..8d45ccfbb8e8 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/MediaTypeHeaderTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/MediaTypeHeaderTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(MediaTypeHeader, MediaTypeHeaderInputBase64) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/NoInputAndNoOutputTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/NoInputAndNoOutputTest.cpp index 37c147108c10..9730466f5f8f 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/NoInputAndNoOutputTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/NoInputAndNoOutputTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndNoOutput, RestJsonNoInputAndNoOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/NoInputAndOutputTest.cpp index 2c5c321e4eb3..542c549fee96 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, RestJsonNoInputAndOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/NullAndEmptyHeadersClientTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/NullAndEmptyHeadersClientTest.cpp index e4c136317d49..2a103c52a738 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/NullAndEmptyHeadersClientTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/NullAndEmptyHeadersClientTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(NullAndEmptyHeadersClient, RestJsonNullAndEmptyHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/OmitsNullSerializesEmptyStringTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/OmitsNullSerializesEmptyStringTest.cpp index a4385323b711..46d4a1e18bfd 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/OmitsNullSerializesEmptyStringTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/OmitsNullSerializesEmptyStringTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(OmitsNullSerializesEmptyString, RestJsonOmitsNullQuery) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -27,7 +27,7 @@ AWS_PROTOCOL_TEST(OmitsNullSerializesEmptyString, RestJsonOmitsNullQuery) { } AWS_PROTOCOL_TEST(OmitsNullSerializesEmptyString, RestJsonSerializesEmptyQueryValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/OmitsSerializingEmptyListsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/OmitsSerializingEmptyListsTest.cpp index 84bd440377f2..5f07fbe8b1c1 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/OmitsSerializingEmptyListsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/OmitsSerializingEmptyListsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(OmitsSerializingEmptyLists, RestJsonOmitsEmptyListQueryValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/PostUnionWithJsonNameTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/PostUnionWithJsonNameTest.cpp index eb5b43bd25b8..139b822fd9aa 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/PostUnionWithJsonNameTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/PostUnionWithJsonNameTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameRequest1) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameRequest1) { } AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameRequest2) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -56,7 +56,7 @@ AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameRequest2) { } AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameRequest3) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/PutWithContentEncodingTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/PutWithContentEncodingTest.cpp index 571f0b8e162a..bbff810594ba 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/PutWithContentEncodingTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/PutWithContentEncodingTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppliedContentEncoding_restJson1) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -157,7 +157,7 @@ EcffzjixWU9FpAyGp2rVl4ETRgqljOGw4UgK31r0ZIEGnH0xGz1FtbW1OcQM008JVujRqulCucEMmntr } AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppendedGzipAfterProvidedEncoding_restJson1) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/QueryIdempotencyTokenAutoFillTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/QueryIdempotencyTokenAutoFillTest.cpp index cb7096433c4f..87bc9e603be0 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/QueryIdempotencyTokenAutoFillTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/QueryIdempotencyTokenAutoFillTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, RestJsonQueryIdempotencyTokenAutoFill) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -27,7 +27,7 @@ AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, RestJsonQueryIdempotencyTokenAu } AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, RestJsonQueryIdempotencyTokenAutoFillIsSet) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/QueryParamsAsStringListMapTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/QueryParamsAsStringListMapTest.cpp index 152ed2b220b4..fd1822982178 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/QueryParamsAsStringListMapTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/QueryParamsAsStringListMapTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(QueryParamsAsStringListMap, RestJsonQueryParamsStringListMap) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/QueryPrecedenceTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/QueryPrecedenceTest.cpp index 080860dff88a..af597e70535d 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/QueryPrecedenceTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/QueryPrecedenceTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(QueryPrecedence, RestJsonQueryPrecedence) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/RecursiveShapesTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/RecursiveShapesTest.cpp index 37f5cd982c48..228b3e5efaec 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/RecursiveShapesTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/RecursiveShapesTest.cpp @@ -14,7 +14,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(RecursiveShapes, RestJsonRecursiveShapes) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/SimpleScalarPropertiesTest.cpp index 50b8c7744f71..b18968cdad89 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSimpleScalarProperties) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -45,7 +45,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSimpleScalarProperties) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonDoesntSerializeNullStructureValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -62,7 +62,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonDoesntSerializeNullStructureVa } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsNaNFloatInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -81,7 +81,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsInfinityFloatInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -100,7 +100,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsInfinityFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsNegativeInfinityFloatInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/SparseJsonListsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/SparseJsonListsTest.cpp index df72dff11646..2dd0b15aac7a 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/SparseJsonListsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/SparseJsonListsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(SparseJsonLists, RestJsonSparseListsSerializeNull) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/SparseJsonMapsTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/SparseJsonMapsTest.cpp index 1f033b120b8a..1c9041e5d3c7 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/SparseJsonMapsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/SparseJsonMapsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSparseJsonMaps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -41,7 +41,7 @@ AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSparseJsonMaps) { } AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSerializesSparseNullMapValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -65,7 +65,7 @@ AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSerializesSparseNullMapValues) { } AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSerializesZeroValuesInSparseMaps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -86,7 +86,7 @@ AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSerializesZeroValuesInSparseMaps) { } AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSerializesSparseSetMap) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -105,7 +105,7 @@ AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSerializesSparseSetMap) { } AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSerializesSparseSetMapAndRetainsNull) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/TestBodyStructureTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/TestBodyStructureTest.cpp index 44735ab553e3..6368240daaf7 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/TestBodyStructureTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/TestBodyStructureTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TestBodyStructure, RestJsonTestBodyStructure) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(TestBodyStructure, RestJsonTestBodyStructure) { } AWS_PROTOCOL_TEST(TestBodyStructure, RestJsonHttpWithEmptyBody) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/TestGetNoInputNoPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/TestGetNoInputNoPayloadTest.cpp index f1a2482629d2..64b379818eb1 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/TestGetNoInputNoPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/TestGetNoInputNoPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TestGetNoInputNoPayload, RestJsonHttpGetWithNoInput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/TestGetNoPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/TestGetNoPayloadTest.cpp index 53065cacb419..38eca8d31829 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/TestGetNoPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/TestGetNoPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TestGetNoPayload, RestJsonHttpGetWithNoModeledBody) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -28,7 +28,7 @@ AWS_PROTOCOL_TEST(TestGetNoPayload, RestJsonHttpGetWithNoModeledBody) { } AWS_PROTOCOL_TEST(TestGetNoPayload, RestJsonHttpGetWithHeaderMemberNoModeledBody) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/TestPayloadBlobTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/TestPayloadBlobTest.cpp index 31805c2a0c3d..e8b2570a4c10 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/TestPayloadBlobTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/TestPayloadBlobTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TestPayloadBlob, RestJsonHttpWithEmptyBlobPayload) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -27,7 +27,7 @@ AWS_PROTOCOL_TEST(TestPayloadBlob, RestJsonHttpWithEmptyBlobPayload) { } AWS_PROTOCOL_TEST(TestPayloadBlob, RestJsonTestPayloadBlob) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/TestPayloadStructureTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/TestPayloadStructureTest.cpp index a8acd4504159..ad2430c0b105 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/TestPayloadStructureTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/TestPayloadStructureTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TestPayloadStructure, RestJsonHttpWithEmptyStructurePayload) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(TestPayloadStructure, RestJsonHttpWithEmptyStructurePayload) { } AWS_PROTOCOL_TEST(TestPayloadStructure, RestJsonTestPayloadStructure) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -53,7 +53,7 @@ AWS_PROTOCOL_TEST(TestPayloadStructure, RestJsonTestPayloadStructure) { } AWS_PROTOCOL_TEST(TestPayloadStructure, RestJsonHttpWithHeadersButNoPayload) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/TestPostNoInputNoPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/TestPostNoInputNoPayloadTest.cpp index 2abb2c1270d9..d29b5523f448 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/TestPostNoInputNoPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/TestPostNoInputNoPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TestPostNoInputNoPayload, RestJsonHttpPostWithNoInput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/TestPostNoPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/TestPostNoPayloadTest.cpp index ae871d490ab9..45211e63e483 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/TestPostNoPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/TestPostNoPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TestPostNoPayload, RestJsonHttpPostWithNoModeledBody) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -28,7 +28,7 @@ AWS_PROTOCOL_TEST(TestPostNoPayload, RestJsonHttpPostWithNoModeledBody) { } AWS_PROTOCOL_TEST(TestPostNoPayload, RestJsonHttpWithPostHeaderMemberNoModeledBody) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/TimestampFormatHeadersTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/TimestampFormatHeadersTest.cpp index 01d8a23eaa7e..ad103d2e3ec7 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/TimestampFormatHeadersTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/TimestampFormatHeadersTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TimestampFormatHeaders, RestJsonTimestampFormatHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-json/tests/UnitInputAndOutputTest.cpp b/generated/protocol-tests/tests/input/rest-json/tests/UnitInputAndOutputTest.cpp index f0ef72f9239b..e67ad7cfd301 100644 --- a/generated/protocol-tests/tests/input/rest-json/tests/UnitInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/input/rest-json/tests/UnitInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(UnitInputAndOutput, RestJsonUnitInputAndOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/AllQueryStringTypesTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/AllQueryStringTypesTest.cpp index 679696642268..11453cc05bdd 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/AllQueryStringTypesTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/AllQueryStringTypesTest.cpp @@ -15,7 +15,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(AllQueryStringTypes, AllQueryStringTypes) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -57,7 +57,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, AllQueryStringTypes) { } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlQueryStringMap) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -73,7 +73,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlQueryStringMap) { } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlQueryStringEscaping) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -89,7 +89,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlQueryStringEscaping) { } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlSupportsNaNFloatQueryValues) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -106,7 +106,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlSupportsNaNFloatQueryValues) { } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlSupportsInfinityFloatQueryValues) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -123,7 +123,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlSupportsInfinityFloatQueryValues) } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlSupportsNegativeInfinityFloatQueryValues) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -140,7 +140,7 @@ AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlSupportsNegativeInfinityFloatQuery } AWS_PROTOCOL_TEST(AllQueryStringTypes, RestXmlZeroAndFalseQueryValues) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/BodyWithXmlNameTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/BodyWithXmlNameTest.cpp index 7e2856e0ee63..4d6f377d4227 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/BodyWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/BodyWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(BodyWithXmlName, BodyWithXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/ConstantAndVariableQueryStringTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/ConstantAndVariableQueryStringTest.cpp index 2a17c870af52..9af4941444b9 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/ConstantAndVariableQueryStringTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/ConstantAndVariableQueryStringTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(ConstantAndVariableQueryString, ConstantAndVariableQueryStringMissingOneValue) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -28,7 +28,7 @@ AWS_PROTOCOL_TEST(ConstantAndVariableQueryString, ConstantAndVariableQueryString } AWS_PROTOCOL_TEST(ConstantAndVariableQueryString, ConstantAndVariableQueryStringAllValues) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/ConstantQueryStringTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/ConstantQueryStringTest.cpp index 7d7cbf13f9de..9c3bd65448fb 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/ConstantQueryStringTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/ConstantQueryStringTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(ConstantQueryString, ConstantQueryString) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/EmptyInputAndEmptyOutputTest.cpp index 10563f409c0f..6c1311ef0517 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, EmptyInputAndEmptyOutput) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/EndpointOperationTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/EndpointOperationTest.cpp index 3365b6fad086..2497d63a0682 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/EndpointOperationTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/EndpointOperationTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(EndpointOperation, RestXmlEndpointTrait) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/EndpointWithHostLabelHeaderOperationTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/EndpointWithHostLabelHeaderOperationTest.cpp index 795102cdceb0..645fb4d4a951 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/EndpointWithHostLabelHeaderOperationTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/EndpointWithHostLabelHeaderOperationTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(EndpointWithHostLabelHeaderOperation, RestXmlEndpointTraitWithHostLabelAndHttpBinding) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/EndpointWithHostLabelOperationTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/EndpointWithHostLabelOperationTest.cpp index a35f43322ba2..6f8adaebb83b 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/EndpointWithHostLabelOperationTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/EndpointWithHostLabelOperationTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(EndpointWithHostLabelOperation, RestXmlEndpointTraitWithHostLabel) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/FlattenedXmlMapTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/FlattenedXmlMapTest.cpp index 541a316a4993..336f406ce85f 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/FlattenedXmlMapTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/FlattenedXmlMapTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(FlattenedXmlMap, FlattenedXmlMap) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/FlattenedXmlMapWithXmlNameTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/FlattenedXmlMapWithXmlNameTest.cpp index 9183c752658d..5546582be3da 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/FlattenedXmlMapWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/FlattenedXmlMapWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(FlattenedXmlMapWithXmlName, FlattenedXmlMapWithXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpEmptyPrefixHeadersTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpEmptyPrefixHeadersTest.cpp index dcd26f804f28..d95234455551 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpEmptyPrefixHeadersTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpEmptyPrefixHeadersTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpEmptyPrefixHeaders, HttpEmptyPrefixHeadersRequestClient) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpEnumPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpEnumPayloadTest.cpp index b817562d582d..ceb78b259fce 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpEnumPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpEnumPayloadTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpEnumPayload, RestXmlEnumPayloadRequest) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadTraitsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadTraitsTest.cpp index 3501f89fc0d7..333007616bab 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadTraitsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadTraitsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadTraits, HttpPayloadTraitsWithBlob) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(HttpPayloadTraits, HttpPayloadTraitsWithBlob) { } AWS_PROTOCOL_TEST(HttpPayloadTraits, HttpPayloadTraitsWithNoBlobBody) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithMemberXmlNameTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithMemberXmlNameTest.cpp index b57e828ff530..59efcd52c3af 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithMemberXmlNameTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithMemberXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithMemberXmlName, HttpPayloadWithMemberXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithStructureTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithStructureTest.cpp index 47d3920b9545..5614f1522ba1 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithStructureTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithStructureTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithStructure, HttpPayloadWithStructure) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithUnionTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithUnionTest.cpp index 768b967b89be..7457b3e69eaa 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithUnionTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithUnionTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestXmlHttpPayloadWithUnion) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestXmlHttpPayloadWithUnion) { } AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestXmlHttpPayloadWithUnsetUnion) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNameTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNameTest.cpp index ba987e8bd99e..bc3897582213 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithXmlName, HttpPayloadWithXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNamespaceAndPrefixTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNamespaceAndPrefixTest.cpp index 22f14312716e..86d74c9ca055 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNamespaceAndPrefixTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNamespaceAndPrefixTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithXmlNamespaceAndPrefix, HttpPayloadWithXmlNamespaceAndPrefix) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNamespaceTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNamespaceTest.cpp index 03d551ff93f6..e5754449ef48 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNamespaceTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPayloadWithXmlNamespaceTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithXmlNamespace, HttpPayloadWithXmlNamespace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPrefixHeadersTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPrefixHeadersTest.cpp index 1c0bf29dea7b..3983af893855 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpPrefixHeadersTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpPrefixHeadersTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPrefixHeaders, HttpPrefixHeadersArePresent) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(HttpPrefixHeaders, HttpPrefixHeadersArePresent) { } AWS_PROTOCOL_TEST(HttpPrefixHeaders, HttpPrefixHeadersAreNotPresent) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -48,7 +48,7 @@ AWS_PROTOCOL_TEST(HttpPrefixHeaders, HttpPrefixHeadersAreNotPresent) { } AWS_PROTOCOL_TEST(HttpPrefixHeaders, HttpPrefixEmptyHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithFloatLabelsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithFloatLabelsTest.cpp index 71884b35fd9a..296ccb61100e 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithFloatLabelsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithFloatLabelsTest.cpp @@ -15,7 +15,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestXmlSupportsNaNFloatLabels) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestXmlSupportsNaNFloatLabels) { } AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestXmlSupportsInfinityFloatLabels) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -49,7 +49,7 @@ AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestXmlSupportsInfinityFloatLabels } AWS_PROTOCOL_TEST(HttpRequestWithFloatLabels, RestXmlSupportsNegativeInfinityFloatLabels) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithGreedyLabelInPathTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithGreedyLabelInPathTest.cpp index 126d8fa98840..95a4e79f6258 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithGreedyLabelInPathTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithGreedyLabelInPathTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithGreedyLabelInPath, HttpRequestWithGreedyLabelInPath) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithLabelsAndTimestampFormatTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithLabelsAndTimestampFormatTest.cpp index 2daedef549ad..2c89f44756cc 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithLabelsAndTimestampFormatTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithLabelsAndTimestampFormatTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithLabelsAndTimestampFormat, HttpRequestWithLabelsAndTimestampFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithLabelsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithLabelsTest.cpp index 0bca7f6e6fb4..d6806453e15e 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithLabelsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpRequestWithLabelsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpRequestWithLabels, InputWithHeadersAndAllParams) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(HttpRequestWithLabels, InputWithHeadersAndAllParams) { } AWS_PROTOCOL_TEST(HttpRequestWithLabels, HttpRequestLabelEscaping) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/HttpStringPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/HttpStringPayloadTest.cpp index 040c9465e76b..aad39028966d 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/HttpStringPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/HttpStringPayloadTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpStringPayload, RestXmlStringPayloadRequest) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/InputAndOutputWithHeadersTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/InputAndOutputWithHeadersTest.cpp index 6e95eb4dac73..d18c3895d6a6 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/InputAndOutputWithHeadersTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/InputAndOutputWithHeadersTest.cpp @@ -15,7 +15,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithStringHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithStringHeaders) { } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithNumericHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -59,7 +59,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithNumericHeaders) { } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithBooleanHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -78,7 +78,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithBooleanHeaders) { } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithTimestampHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -96,7 +96,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithTimestampHeaders) } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithEnumHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -115,7 +115,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithEnumHeaders) { } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsNaNFloatHeaderInputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -133,7 +133,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsNaNFloatHeaderInputs } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsInfinityFloatHeaderInputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -151,7 +151,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsInfinityFloatHeaderI } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsNegativeInfinityFloatHeaderInputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/NestedXmlMapWithXmlNameTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/NestedXmlMapWithXmlNameTest.cpp index 88c9d8618116..a9c5b661338f 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/NestedXmlMapWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/NestedXmlMapWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NestedXmlMapWithXmlName, NestedXmlMapWithXmlNameSerializes) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/NestedXmlMapsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/NestedXmlMapsTest.cpp index a5228e0570e7..f650c6f7da87 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/NestedXmlMapsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/NestedXmlMapsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NestedXmlMaps, NestedXmlMapRequest) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(NestedXmlMaps, NestedXmlMapRequest) { } AWS_PROTOCOL_TEST(NestedXmlMaps, FlatNestedXmlMapRequest) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/NoInputAndNoOutputTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/NoInputAndNoOutputTest.cpp index 8fe85351a3c5..25c43a67a264 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/NoInputAndNoOutputTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/NoInputAndNoOutputTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndNoOutput, NoInputAndNoOutput) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/NoInputAndOutputTest.cpp index e4ba8b8dea69..6da7b0840d7a 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, NoInputAndOutput) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/NullAndEmptyHeadersClientTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/NullAndEmptyHeadersClientTest.cpp index da0c7de8a1e4..7a8479d6be95 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/NullAndEmptyHeadersClientTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/NullAndEmptyHeadersClientTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NullAndEmptyHeadersClient, NullAndEmptyHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/OmitsNullSerializesEmptyStringTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/OmitsNullSerializesEmptyStringTest.cpp index 210c7ae348ef..f0db2661a895 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/OmitsNullSerializesEmptyStringTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/OmitsNullSerializesEmptyStringTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(OmitsNullSerializesEmptyString, RestXmlOmitsNullQuery) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -27,7 +27,7 @@ AWS_PROTOCOL_TEST(OmitsNullSerializesEmptyString, RestXmlOmitsNullQuery) { } AWS_PROTOCOL_TEST(OmitsNullSerializesEmptyString, RestXmlSerializesEmptyString) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/PutWithContentEncodingTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/PutWithContentEncodingTest.cpp index b7dc8153b48e..636c1664c2e4 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/PutWithContentEncodingTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/PutWithContentEncodingTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppliedContentEncoding_restXml) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -157,7 +157,7 @@ EcffzjixWU9FpAyGp2rVl4ETRgqljOGw4UgK31r0ZIEGnH0xGz1FtbW1OcQM008JVujRqulCucEMmntr } AWS_PROTOCOL_TEST(PutWithContentEncoding, SDKAppendedGzipAfterProvidedEncoding_restXml) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/QueryIdempotencyTokenAutoFillTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/QueryIdempotencyTokenAutoFillTest.cpp index cbd64c497981..6cc3e5bdd841 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/QueryIdempotencyTokenAutoFillTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/QueryIdempotencyTokenAutoFillTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, QueryIdempotencyTokenAutoFill) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -27,7 +27,7 @@ AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, QueryIdempotencyTokenAutoFill) } AWS_PROTOCOL_TEST(QueryIdempotencyTokenAutoFill, QueryIdempotencyTokenAutoFillIsSet) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/QueryParamsAsStringListMapTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/QueryParamsAsStringListMapTest.cpp index 05e76545e386..4a592c424394 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/QueryParamsAsStringListMapTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/QueryParamsAsStringListMapTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(QueryParamsAsStringListMap, RestXmlQueryParamsStringListMap) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/QueryPrecedenceTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/QueryPrecedenceTest.cpp index 1606437d21e9..07a20e0999ab 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/QueryPrecedenceTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/QueryPrecedenceTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(QueryPrecedence, RestXmlQueryPrecedence) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/RecursiveShapesTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/RecursiveShapesTest.cpp index 483887b37b7d..693df9b568f8 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/RecursiveShapesTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/RecursiveShapesTest.cpp @@ -14,7 +14,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(RecursiveShapes, RecursiveShapes) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/SimpleScalarPropertiesTest.cpp index 12babe85f7ca..d71d4cbb674f 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarProperties) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -47,7 +47,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarProperties) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithEscapedCharacter) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -68,7 +68,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithEscapedChara } AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithWhiteSpace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -89,7 +89,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithWhiteSpace) } AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesPureWhiteSpace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -110,7 +110,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesPureWhiteSpace) } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsNaNFloatInputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -131,7 +131,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsInfinityFloatInputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -152,7 +152,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsInfinityFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsNegativeInfinityFloatInputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/TimestampFormatHeadersTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/TimestampFormatHeadersTest.cpp index 807bef73b46e..bb4c5b5247c7 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/TimestampFormatHeadersTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/TimestampFormatHeadersTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(TimestampFormatHeaders, TimestampFormatHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesInMiddleTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesInMiddleTest.cpp index b9ba2dde9749..f131119e3e70 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesInMiddleTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesInMiddleTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlAttributesInMiddle, XmlAttributesInMiddle) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesOnPayloadTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesOnPayloadTest.cpp index c8fc7ea0cc9d..072866d9fa81 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesOnPayloadTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesOnPayloadTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlAttributesOnPayload, XmlAttributesOnPayload) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesTest.cpp index bcaeaa2fe7a3..b43e4fafa61e 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlAttributesTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlAttributes, XmlAttributes) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -31,7 +31,7 @@ AWS_PROTOCOL_TEST(XmlAttributes, XmlAttributes) { } AWS_PROTOCOL_TEST(XmlAttributes, XmlAttributesWithEscaping) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlBlobsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlBlobsTest.cpp index 43a8ea04f1ad..273b73fb6d48 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlBlobsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlBlobsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlBlobs, XmlBlobs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyListsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyListsTest.cpp index c8957ef7b01d..5190b2cc81b9 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyListsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyListsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyLists, XmlEmptyLists) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyMapsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyMapsTest.cpp index c75d057b47ed..a86f07e7dd14 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyMapsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyMapsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyMaps, XmlEmptyMaps) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyStringsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyStringsTest.cpp index 3a7ca7cac04f..cddf3b75ce94 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyStringsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlEmptyStringsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyStrings, XmlEmptyStrings) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlEnumsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlEnumsTest.cpp index 34795008a6aa..176c54bc6987 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlEnumsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlEnumsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEnums, XmlEnums) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlIntEnumsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlIntEnumsTest.cpp index e26df37030ed..d1a4a29776cd 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlIntEnumsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlIntEnumsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlIntEnums, XmlIntEnums) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlListsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlListsTest.cpp index cfb2097c458f..b584b0f9bb1d 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlListsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlListsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlLists, XmlLists) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapWithXmlNamespaceTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapWithXmlNamespaceTest.cpp index a956e7c5e04a..a5ac350adada 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapWithXmlNamespaceTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapWithXmlNamespaceTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlMapWithXmlNamespace, RestXmlXmlMapWithXmlNamespace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapsTest.cpp index 67574691a368..4714409d088e 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlMaps, XmlMaps) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapsXmlNameTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapsXmlNameTest.cpp index a72bde702051..476ec7724ba2 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapsXmlNameTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlMapsXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlMapsXmlName, XmlMapsXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlNamespacesTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlNamespacesTest.cpp index fa853db9271e..f3226345619a 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlNamespacesTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlNamespacesTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlNamespaces, XmlNamespaces) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlTimestampsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlTimestampsTest.cpp index e78625e17468..dac3cd727f33 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlTimestampsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlTimestampsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestamps) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -31,7 +31,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestamps) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithDateTimeFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -50,7 +50,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithDateTimeFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithDateTimeOnTargetFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -70,7 +70,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithDateTimeOnTargetFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithEpochSecondsFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -89,7 +89,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithEpochSecondsFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithEpochSecondsOnTargetFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -109,7 +109,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithEpochSecondsOnTargetFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithHttpDateFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -129,7 +129,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithHttpDateFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithHttpDateOnTargetFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/rest-xml/tests/XmlUnionsTest.cpp b/generated/protocol-tests/tests/input/rest-xml/tests/XmlUnionsTest.cpp index 6505462abd4e..f4c992e28803 100644 --- a/generated/protocol-tests/tests/input/rest-xml/tests/XmlUnionsTest.cpp +++ b/generated/protocol-tests/tests/input/rest-xml/tests/XmlUnionsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithStructMember) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -51,7 +51,7 @@ AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithStructMember) { } AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithStringMember) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -75,7 +75,7 @@ AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithStringMember) { } AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithBooleanMember) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); @@ -99,7 +99,7 @@ AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithBooleanMember) { } AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithUnionMember) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); SetMockResponse(); diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor-non-query-compatible/tests/NonQueryCompatibleOperationTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor-non-query-compatible/tests/NonQueryCompatibleOperationTest.cpp index 47374022bcb6..34b0375f6d55 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor-non-query-compatible/tests/NonQueryCompatibleOperationTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor-non-query-compatible/tests/NonQueryCompatibleOperationTest.cpp @@ -12,7 +12,8 @@ using NonQueryCompatibleRpcV2ProtocolClient = Aws::NonQueryCompatibleRpcV2Protoc using namespace Aws::NonQueryCompatibleRpcV2Protocol::Model; AWS_PROTOCOL_TEST(NonQueryCompatibleOperation, NonQueryCompatibleRpcV2CborForbidsQueryModeHeader) { - NonQueryCompatibleRpcV2ProtocolClient client(mockCredentials, mockConfig); + NonQueryCompatibleRpcV2ProtocolClient client( + mockCredentials, nullptr, Aws::NonQueryCompatibleRpcV2Protocol::NonQueryCompatibleRpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperationTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperationTest.cpp index e5baa8374f3d..a93b6c924f45 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperationTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperationTest.cpp @@ -12,7 +12,8 @@ using QueryCompatibleRpcV2ProtocolClient = Aws::QueryCompatibleRpcV2Protocol::Qu using namespace Aws::QueryCompatibleRpcV2Protocol::Model; AWS_PROTOCOL_TEST(QueryCompatibleOperation, QueryCompatibleRpcV2CborSendsQueryModeHeader) { - QueryCompatibleRpcV2ProtocolClient client(mockCredentials, mockConfig); + QueryCompatibleRpcV2ProtocolClient client(mockCredentials, nullptr, + Aws::QueryCompatibleRpcV2Protocol::QueryCompatibleRpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/EmptyInputOutputTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/EmptyInputOutputTest.cpp index 194933b45e0c..19ebc80cf047 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/EmptyInputOutputTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/EmptyInputOutputTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(EmptyInputOutput, empty_input) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/NoInputOutputTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/NoInputOutputTest.cpp index db7a0e5c2412..ec375cea4d0a 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/NoInputOutputTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/NoInputOutputTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(NoInputOutput, no_input) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/OptionalInputOutputTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/OptionalInputOutputTest.cpp index 8f2d53bb0ad7..d3e850acced1 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/OptionalInputOutputTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/OptionalInputOutputTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(OptionalInputOutput, optional_input) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RecursiveShapesTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RecursiveShapesTest.cpp index 44b903e114ed..7c344924a4fc 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RecursiveShapesTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RecursiveShapesTest.cpp @@ -14,7 +14,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RecursiveShapes, RpcV2CborRecursiveShapes) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborDenseMapsTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborDenseMapsTest.cpp index 0541228989f3..a38f4305b7e1 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborDenseMapsTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborDenseMapsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborMaps) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -59,7 +59,7 @@ AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborMaps) { } AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborSerializesZeroValuesInMaps) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -94,7 +94,7 @@ AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborSerializesZeroValuesInMaps) { } AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborSerializesDenseSetMap) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborListsTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborListsTest.cpp index 37b51a3c06b3..491372d495a8 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborListsTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborListsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborLists) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -136,7 +136,7 @@ AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborLists) { } AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborListsEmpty) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -164,7 +164,7 @@ AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborListsEmpty) { } AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborListsEmptyUsingDefiniteLength) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborSparseMapsTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborSparseMapsTest.cpp index 42d13b45b7f5..8f60e40403b7 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborSparseMapsTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborSparseMapsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSparseMaps) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -61,7 +61,7 @@ AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSparseMaps) { } AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSerializesNullMapValues) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -109,7 +109,7 @@ AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSerializesNullMapValues) { } AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSerializesSparseSetMap) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -144,7 +144,7 @@ AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSerializesSparseSetMap) { } AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSerializesSparseSetMapAndRetainsNull) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -182,7 +182,7 @@ AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSerializesSparseSetMapAndRetains } AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSerializesZeroValuesInSparseMaps) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborUnionsTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborUnionsTest.cpp index b0a9429ffbfa..f9e15c385ff2 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborUnionsTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/RpcV2CborUnionsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RpcV2CborUnions, RpcV2CborSerializesUnionValue) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -48,7 +48,7 @@ AWS_PROTOCOL_TEST(RpcV2CborUnions, RpcV2CborSerializesUnionValue) { } AWS_PROTOCOL_TEST(RpcV2CborUnions, RpcV2CborSerializesNestedUnionValue) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/SimpleScalarPropertiesTest.cpp index f16a68e5ca95..cd9fc2eb3890 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSimpleScalarProperties) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -70,7 +70,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSimpleScalarProperties) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborClientDoesntSerializeNullStructureValues) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -96,7 +96,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborClientDoesntSerializeNullStru } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsNaNFloatInputs) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -125,7 +125,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsInfinityFloatInputs) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -154,7 +154,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsInfinityFloatInputs) } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsNegativeInfinityFloatInputs) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/SparseNullsOperationTest.cpp b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/SparseNullsOperationTest.cpp index 9100e43f1249..3643b5cd6d18 100644 --- a/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/SparseNullsOperationTest.cpp +++ b/generated/protocol-tests/tests/input/smithy-rpc-v2-cbor/tests/SparseNullsOperationTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(SparseNullsOperation, RpcV2CborSparseMapsSerializeNullValues) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; @@ -42,7 +42,7 @@ AWS_PROTOCOL_TEST(SparseNullsOperation, RpcV2CborSparseMapsSerializeNullValues) } AWS_PROTOCOL_TEST(SparseNullsOperation, RpcV2CborSparseListsSerializeNull) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); // Cbor specific OutputResponse mockRs; diff --git a/generated/protocol-tests/tests/output/ec2/tests/DatetimeOffsetsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/DatetimeOffsetsTest.cpp index 309070a6b2ce..48f292294c65 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/DatetimeOffsetsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/DatetimeOffsetsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(DatetimeOffsets, Ec2QueryDateTimeWithNegativeOffset) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(DatetimeOffsets, Ec2QueryDateTimeWithNegativeOffset) { } AWS_PROTOCOL_TEST(DatetimeOffsets, Ec2QueryDateTimeWithPositiveOffset) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/EmptyInputAndEmptyOutputTest.cpp index eeb63dd47250..a5b76a155ae2 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, Ec2QueryEmptyInputAndEmptyOutput) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/FractionalSecondsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/FractionalSecondsTest.cpp index ef2680df7dd8..9e499016d53e 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/FractionalSecondsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/FractionalSecondsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(FractionalSeconds, Ec2QueryDateTimeWithFractionalSeconds) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrors0Test.cpp b/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrors0Test.cpp index 2cb7769086c5..8bfb32d56b7a 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrors0Test.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrors0Test.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors0, Ec2InvalidGreetingError) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrors1Test.cpp b/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrors1Test.cpp index 29e4674b107b..3212eb3d6c7c 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrors1Test.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrors1Test.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors1, Ec2ComplexError) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrorsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrorsTest.cpp index 0e2ade4544b3..8e3377da3308 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrorsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/GreetingWithErrorsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors, Ec2GreetingWithErrors) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/IgnoresWrappingXmlNameTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/IgnoresWrappingXmlNameTest.cpp index 7f68a9befdc4..f5a92782819e 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/IgnoresWrappingXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/IgnoresWrappingXmlNameTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(IgnoresWrappingXmlName, Ec2IgnoresWrappingXmlName) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/NoInputAndOutputTest.cpp index 20bbbedb7e1b..cd5fe3b7e779 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, Ec2QueryNoInputAndOutput) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/RecursiveXmlShapesTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/RecursiveXmlShapesTest.cpp index 1d4d6528a529..deea13dea2e7 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/RecursiveXmlShapesTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/RecursiveXmlShapesTest.cpp @@ -14,7 +14,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(RecursiveXmlShapes, Ec2RecursiveShapes) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/SimpleScalarXmlPropertiesTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/SimpleScalarXmlPropertiesTest.cpp index 9b8bcf628011..ec090f1b3771 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/SimpleScalarXmlPropertiesTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/SimpleScalarXmlPropertiesTest.cpp @@ -15,7 +15,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, Ec2SimpleScalarProperties) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -53,7 +53,7 @@ AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, Ec2SimpleScalarProperties) { } AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, Ec2QuerySupportsNaNFloatOutputs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -76,7 +76,7 @@ AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, Ec2QuerySupportsNaNFloatOutputs) { } AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, Ec2QuerySupportsInfinityFloatOutputs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -100,7 +100,7 @@ AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, Ec2QuerySupportsInfinityFloatOutput } AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, Ec2QuerySupportsNegativeInfinityFloatOutputs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/XmlBlobsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/XmlBlobsTest.cpp index 50b13f1cd046..114915016d4c 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/XmlBlobsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/XmlBlobsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(XmlBlobs, Ec2XmlBlobs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/XmlEmptyBlobsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/XmlEmptyBlobsTest.cpp index 076d703de85e..a551ee9a07ce 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/XmlEmptyBlobsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/XmlEmptyBlobsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(XmlEmptyBlobs, Ec2XmlEmptyBlobs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(XmlEmptyBlobs, Ec2XmlEmptyBlobs) { } AWS_PROTOCOL_TEST(XmlEmptyBlobs, Ec2XmlEmptySelfClosedBlobs) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/XmlEmptyListsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/XmlEmptyListsTest.cpp index b7b1b7136a74..a110b6c07832 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/XmlEmptyListsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/XmlEmptyListsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(XmlEmptyLists, Ec2XmlEmptyLists) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/XmlEnumsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/XmlEnumsTest.cpp index 959b4003304c..6d0c6f65a3e8 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/XmlEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/XmlEnumsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(XmlEnums, Ec2XmlEnums) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/XmlIntEnumsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/XmlIntEnumsTest.cpp index 3a6a4b4a2ee4..134f6dd755e6 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/XmlIntEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/XmlIntEnumsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(XmlIntEnums, Ec2XmlIntEnums) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/XmlListsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/XmlListsTest.cpp index 1e9709f05cd8..522f3a6f9e94 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/XmlListsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/XmlListsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(XmlLists, Ec2XmlLists) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/XmlNamespacesTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/XmlNamespacesTest.cpp index cc1b5ceffd8a..2f7f93b07989 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/XmlNamespacesTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/XmlNamespacesTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(XmlNamespaces, Ec2XmlNamespaces) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/ec2/tests/XmlTimestampsTest.cpp b/generated/protocol-tests/tests/output/ec2/tests/XmlTimestampsTest.cpp index 97b23316dab4..3360bc18d512 100644 --- a/generated/protocol-tests/tests/output/ec2/tests/XmlTimestampsTest.cpp +++ b/generated/protocol-tests/tests/output/ec2/tests/XmlTimestampsTest.cpp @@ -12,7 +12,7 @@ using EC2ProtocolClient = Aws::EC2Protocol::EC2ProtocolClient; using namespace Aws::EC2Protocol::Model; AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestamps) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestamps) { } AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithDateTimeFormat) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -56,7 +56,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithDateTimeFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithDateTimeOnTargetFormat) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -79,7 +79,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithDateTimeOnTargetFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithEpochSecondsFormat) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -101,7 +101,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithEpochSecondsFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithEpochSecondsOnTargetFormat) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -123,7 +123,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithEpochSecondsOnTargetFormat) } AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithHttpDateFormat) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -145,7 +145,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithHttpDateFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, Ec2XmlTimestampsWithHttpDateOnTargetFormat) { - EC2ProtocolClient client(mockCredentials, mockConfig); + EC2ProtocolClient client(mockCredentials, nullptr, Aws::EC2Protocol::EC2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/DatetimeOffsetsTest.cpp b/generated/protocol-tests/tests/output/json/tests/DatetimeOffsetsTest.cpp index 401ab7226e76..821ac977b2bf 100644 --- a/generated/protocol-tests/tests/output/json/tests/DatetimeOffsetsTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/DatetimeOffsetsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(DatetimeOffsets, AwsJson11DateTimeWithNegativeOffset) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(DatetimeOffsets, AwsJson11DateTimeWithNegativeOffset) { } AWS_PROTOCOL_TEST(DatetimeOffsets, AwsJson11DateTimeWithPositiveOffset) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/EmptyOperationTest.cpp b/generated/protocol-tests/tests/output/json/tests/EmptyOperationTest.cpp index d3d279c9edd5..8a98d6bbaf10 100644 --- a/generated/protocol-tests/tests/output/json/tests/EmptyOperationTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/EmptyOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(EmptyOperation, handles_empty_output_shape) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(EmptyOperation, handles_empty_output_shape) { } AWS_PROTOCOL_TEST(EmptyOperation, handles_unexpected_json_output) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -48,7 +48,7 @@ AWS_PROTOCOL_TEST(EmptyOperation, handles_unexpected_json_output) { } AWS_PROTOCOL_TEST(EmptyOperation, json_1_1_service_responds_with_no_payload) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/FractionalSecondsTest.cpp b/generated/protocol-tests/tests/output/json/tests/FractionalSecondsTest.cpp index 2748584bfd5e..23a5276501d0 100644 --- a/generated/protocol-tests/tests/output/json/tests/FractionalSecondsTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/FractionalSecondsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(FractionalSeconds, AwsJson11DateTimeWithFractionalSeconds) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/GreetingWithErrors0Test.cpp b/generated/protocol-tests/tests/output/json/tests/GreetingWithErrors0Test.cpp index c2ee242723b2..d3f552067667 100644 --- a/generated/protocol-tests/tests/output/json/tests/GreetingWithErrors0Test.cpp +++ b/generated/protocol-tests/tests/output/json/tests/GreetingWithErrors0Test.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors0, AwsJson11ComplexError) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; @@ -29,7 +29,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors0, AwsJson11ComplexError) { } AWS_PROTOCOL_TEST(GreetingWithErrors0, AwsJson11EmptyComplexError) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/json/tests/GreetingWithErrors1Test.cpp b/generated/protocol-tests/tests/output/json/tests/GreetingWithErrors1Test.cpp index 21248e93778d..443e557d07cb 100644 --- a/generated/protocol-tests/tests/output/json/tests/GreetingWithErrors1Test.cpp +++ b/generated/protocol-tests/tests/output/json/tests/GreetingWithErrors1Test.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingXAmznErrorType) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -26,7 +26,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingXAmznErrorType) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingXAmznErrorTypeWithUri) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -40,7 +40,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingXAmznErrorTypeWithU } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingXAmznErrorTypeWithUriAndNamespace) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -54,7 +54,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingXAmznErrorTypeWithU } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingCode) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -69,7 +69,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingCode) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingCodeAndNamespace) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -84,7 +84,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingCodeAndNamespace) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingCodeUriAndNamespace) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -101,7 +101,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorUsingCodeUriAndNamespace } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithDunderType) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -116,7 +116,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithDunderType) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithDunderTypeAndNamespace) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -131,7 +131,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithDunderTypeAndNamespa } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithDunderTypeAndDifferentNamespace) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -146,7 +146,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithDunderTypeAndDiffere } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithDunderTypeUriAndNamespace) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -163,7 +163,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithDunderTypeUriAndName } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson11FooErrorWithNestedTypeProperty) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; diff --git a/generated/protocol-tests/tests/output/json/tests/GreetingWithErrorsTest.cpp b/generated/protocol-tests/tests/output/json/tests/GreetingWithErrorsTest.cpp index fc33a0a160fd..2d5ccf65fbc7 100644 --- a/generated/protocol-tests/tests/output/json/tests/GreetingWithErrorsTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/GreetingWithErrorsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors, AwsJson11InvalidGreetingError) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/json/tests/JsonEnumsTest.cpp b/generated/protocol-tests/tests/output/json/tests/JsonEnumsTest.cpp index 405b18452978..04a638bd0971 100644 --- a/generated/protocol-tests/tests/output/json/tests/JsonEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/JsonEnumsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(JsonEnums, AwsJson11Enums) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/JsonIntEnumsTest.cpp b/generated/protocol-tests/tests/output/json/tests/JsonIntEnumsTest.cpp index 75651cce433b..ec1f8dd57038 100644 --- a/generated/protocol-tests/tests/output/json/tests/JsonIntEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/JsonIntEnumsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(JsonIntEnums, AwsJson11IntEnums) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/JsonUnionsTest.cpp b/generated/protocol-tests/tests/output/json/tests/JsonUnionsTest.cpp index 19f388949f95..c17f5704fb4d 100644 --- a/generated/protocol-tests/tests/output/json/tests/JsonUnionsTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/JsonUnionsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeStringUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeStringUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeBooleanUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -58,7 +58,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeBooleanUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeNumberUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -81,7 +81,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeNumberUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeBlobUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -104,7 +104,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeBlobUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeTimestampUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -127,7 +127,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeTimestampUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeEnumUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -150,7 +150,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeEnumUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeListUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -176,7 +176,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeListUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeMapUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -206,7 +206,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeMapUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeStructureUnionValue) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -233,7 +233,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeStructureUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson11DeserializeIgnoreType) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/KitchenSinkOperationTest.cpp b/generated/protocol-tests/tests/output/json/tests/KitchenSinkOperationTest.cpp index 2b543da4bfa6..86b5c78e8749 100644 --- a/generated/protocol-tests/tests/output/json/tests/KitchenSinkOperationTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/KitchenSinkOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_operations_with_empty_json_bodies) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_operations_with_empty_json_bodies } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_string_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -50,7 +50,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_string_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_integer_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -70,7 +70,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_integer_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_long_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -90,7 +90,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_long_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_float_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -110,7 +110,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_float_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_double_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -130,7 +130,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_double_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_boolean_shapes_true) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -150,7 +150,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_boolean_shapes_true) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_boolean_false) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -170,7 +170,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_boolean_false) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_blob_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -190,7 +190,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_blob_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_timestamp_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -210,7 +210,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_timestamp_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_iso8601_timestamps) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -230,7 +230,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_iso8601_timestamps) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_httpdate_timestamps) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -250,7 +250,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_httpdate_timestamps) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -274,7 +274,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_of_map_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -306,7 +306,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_of_map_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_of_list_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -340,7 +340,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_of_list_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_of_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -368,7 +368,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_of_structure_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_of_recursive_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -401,7 +401,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_list_of_recursive_structure_shape } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -426,7 +426,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_of_list_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -461,7 +461,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_of_list_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_of_map_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -500,7 +500,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_of_map_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_of_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -531,7 +531,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_of_structure_shapes) { } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_of_recursive_structure_shapes) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -574,7 +574,7 @@ AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_map_of_recursive_structure_shapes } AWS_PROTOCOL_TEST(KitchenSinkOperation, parses_the_request_id_from_the_response) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/NullOperationTest.cpp b/generated/protocol-tests/tests/output/json/tests/NullOperationTest.cpp index 9a2537cb6497..b1aaba7cd4e1 100644 --- a/generated/protocol-tests/tests/output/json/tests/NullOperationTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/NullOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(NullOperation, AwsJson11StructuresDontDeserializeNullValues) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/PutAndGetInlineDocumentsTest.cpp b/generated/protocol-tests/tests/output/json/tests/PutAndGetInlineDocumentsTest.cpp index 21f8e49b0d91..3cdd0dec3bd4 100644 --- a/generated/protocol-tests/tests/output/json/tests/PutAndGetInlineDocumentsTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/PutAndGetInlineDocumentsTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(PutAndGetInlineDocuments, PutAndGetInlineDocumentsInput) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/output/json/tests/SimpleScalarPropertiesTest.cpp index f8eb41849bfa..6e0c4c4c211b 100644 --- a/generated/protocol-tests/tests/output/json/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsNaNFloatInputs) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -36,7 +36,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsInfinityFloatInputs) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -57,7 +57,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsInfinityFloatInputs) } AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson11SupportsNegativeInfinityFloatInputs) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json/tests/SparseNullsOperationTest.cpp b/generated/protocol-tests/tests/output/json/tests/SparseNullsOperationTest.cpp index 71f4c4fd0533..7485707b3935 100644 --- a/generated/protocol-tests/tests/output/json/tests/SparseNullsOperationTest.cpp +++ b/generated/protocol-tests/tests/output/json/tests/SparseNullsOperationTest.cpp @@ -12,7 +12,7 @@ using JsonProtocolClient = Aws::JsonProtocol::JsonProtocolClient; using namespace Aws::JsonProtocol::Model; AWS_PROTOCOL_TEST(SparseNullsOperation, AwsJson11SparseMapsDeserializeNullValues) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(SparseNullsOperation, AwsJson11SparseMapsDeserializeNullValues } AWS_PROTOCOL_TEST(SparseNullsOperation, AwsJson11SparseListsDeserializeNull) { - JsonProtocolClient client(mockCredentials, mockConfig); + JsonProtocolClient client(mockCredentials, nullptr, Aws::JsonProtocol::JsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json_1_0-query-compatible/tests/QueryCompatibleOperation0Test.cpp b/generated/protocol-tests/tests/output/json_1_0-query-compatible/tests/QueryCompatibleOperation0Test.cpp index 95d09f890218..c71dffa131a7 100644 --- a/generated/protocol-tests/tests/output/json_1_0-query-compatible/tests/QueryCompatibleOperation0Test.cpp +++ b/generated/protocol-tests/tests/output/json_1_0-query-compatible/tests/QueryCompatibleOperation0Test.cpp @@ -12,7 +12,8 @@ using QueryCompatibleJSONRPC10Client = Aws::QueryCompatibleJSONRPC10::QueryCompa using namespace Aws::QueryCompatibleJSONRPC10::Model; AWS_PROTOCOL_TEST(QueryCompatibleOperation0, QueryCompatibleAwsJson10CustomCodeError) { - QueryCompatibleJSONRPC10Client client(mockCredentials, mockConfig); + QueryCompatibleJSONRPC10Client client(mockCredentials, nullptr, + Aws::QueryCompatibleJSONRPC10::QueryCompatibleJSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/json_1_0-query-compatible/tests/QueryCompatibleOperationTest.cpp b/generated/protocol-tests/tests/output/json_1_0-query-compatible/tests/QueryCompatibleOperationTest.cpp index 93ebfd132fda..7b339c7f9bbf 100644 --- a/generated/protocol-tests/tests/output/json_1_0-query-compatible/tests/QueryCompatibleOperationTest.cpp +++ b/generated/protocol-tests/tests/output/json_1_0-query-compatible/tests/QueryCompatibleOperationTest.cpp @@ -12,7 +12,8 @@ using QueryCompatibleJSONRPC10Client = Aws::QueryCompatibleJSONRPC10::QueryCompa using namespace Aws::QueryCompatibleJSONRPC10::Model; AWS_PROTOCOL_TEST(QueryCompatibleOperation, QueryCompatibleAwsJson10NoCustomCodeError) { - QueryCompatibleJSONRPC10Client client(mockCredentials, mockConfig); + QueryCompatibleJSONRPC10Client client(mockCredentials, nullptr, + Aws::QueryCompatibleJSONRPC10::QueryCompatibleJSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/json_1_0/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/output/json_1_0/tests/EmptyInputAndEmptyOutputTest.cpp index 9cc4ef87108f..45e20b63b95d 100644 --- a/generated/protocol-tests/tests/output/json_1_0/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/output/json_1_0/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, AwsJson10EmptyInputAndEmptyOutputSendJsonObject) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrors0Test.cpp b/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrors0Test.cpp index 9f8084cad304..8d5bf5537005 100644 --- a/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrors0Test.cpp +++ b/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrors0Test.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(GreetingWithErrors0, AwsJson10ComplexError) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; @@ -29,7 +29,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors0, AwsJson10ComplexError) { } AWS_PROTOCOL_TEST(GreetingWithErrors0, AwsJson10EmptyComplexError) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrors1Test.cpp b/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrors1Test.cpp index c90b43d248a3..7c020123fb9d 100644 --- a/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrors1Test.cpp +++ b/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrors1Test.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingXAmznErrorType) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -26,7 +26,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingXAmznErrorType) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingXAmznErrorTypeWithUri) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -40,7 +40,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingXAmznErrorTypeWithU } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingXAmznErrorTypeWithUriAndNamespace) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -55,7 +55,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingXAmznErrorTypeWithU } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingCode) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -70,7 +70,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingCode) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingCodeAndNamespace) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -85,7 +85,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingCodeAndNamespace) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingCodeUriAndNamespace) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -102,7 +102,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorUsingCodeUriAndNamespace } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithDunderType) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -117,7 +117,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithDunderType) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithDunderTypeAndNamespace) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -132,7 +132,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithDunderTypeAndNamespa } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithDunderTypeAndDifferentNamespace) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -147,7 +147,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithDunderTypeAndDiffere } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithDunderTypeUriAndNamespace) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -164,7 +164,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithDunderTypeUriAndName } AWS_PROTOCOL_TEST(GreetingWithErrors1, AwsJson10FooErrorWithNestedTypeProperty) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; diff --git a/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrorsTest.cpp b/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrorsTest.cpp index 2cb3b25ac0fd..1914befc69c8 100644 --- a/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrorsTest.cpp +++ b/generated/protocol-tests/tests/output/json_1_0/tests/GreetingWithErrorsTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(GreetingWithErrors, AwsJson10InvalidGreetingError) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/json_1_0/tests/JsonUnionsTest.cpp b/generated/protocol-tests/tests/output/json_1_0/tests/JsonUnionsTest.cpp index 29211ba9446d..7f0e82e0ea87 100644 --- a/generated/protocol-tests/tests/output/json_1_0/tests/JsonUnionsTest.cpp +++ b/generated/protocol-tests/tests/output/json_1_0/tests/JsonUnionsTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeStringUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeStringUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeBooleanUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -58,7 +58,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeBooleanUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeNumberUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -81,7 +81,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeNumberUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeBlobUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -104,7 +104,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeBlobUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeTimestampUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -127,7 +127,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeTimestampUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeEnumUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -150,7 +150,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeEnumUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeIntEnumUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -173,7 +173,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeIntEnumUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeListUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -199,7 +199,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeListUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeMapUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -229,7 +229,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeMapUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeStructureUnionValue) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -256,7 +256,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeStructureUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeIgnoreType) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -284,7 +284,7 @@ AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeIgnoreType) { } AWS_PROTOCOL_TEST(JsonUnions, AwsJson10DeserializeAllowNulls) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json_1_0/tests/NoInputAndNoOutputTest.cpp b/generated/protocol-tests/tests/output/json_1_0/tests/NoInputAndNoOutputTest.cpp index 103d9cd9b2dc..5b4a4698bcff 100644 --- a/generated/protocol-tests/tests/output/json_1_0/tests/NoInputAndNoOutputTest.cpp +++ b/generated/protocol-tests/tests/output/json_1_0/tests/NoInputAndNoOutputTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(NoInputAndNoOutput, AwsJson10HandlesEmptyOutputShape) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(NoInputAndNoOutput, AwsJson10HandlesEmptyOutputShape) { } AWS_PROTOCOL_TEST(NoInputAndNoOutput, AwsJson10HandlesUnexpectedJsonOutput) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -48,7 +48,7 @@ AWS_PROTOCOL_TEST(NoInputAndNoOutput, AwsJson10HandlesUnexpectedJsonOutput) { } AWS_PROTOCOL_TEST(NoInputAndNoOutput, AwsJson10ServiceRespondsWithNoPayload) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json_1_0/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/output/json_1_0/tests/NoInputAndOutputTest.cpp index 262dac903d48..26cd8ae15949 100644 --- a/generated/protocol-tests/tests/output/json_1_0/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/output/json_1_0/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, AwsJson10NoInputAndOutput) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/json_1_0/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/output/json_1_0/tests/SimpleScalarPropertiesTest.cpp index 2a1fbd8352e1..9b41ea1a9661 100644 --- a/generated/protocol-tests/tests/output/json_1_0/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/output/json_1_0/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using JSONRPC10Client = Aws::JSONRPC10::JSONRPC10Client; using namespace Aws::JSONRPC10::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsNaNFloatInputs) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -36,7 +36,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsInfinityFloatInputs) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -57,7 +57,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsInfinityFloatInputs) } AWS_PROTOCOL_TEST(SimpleScalarProperties, AwsJson10SupportsNegativeInfinityFloatInputs) { - JSONRPC10Client client(mockCredentials, mockConfig); + JSONRPC10Client client(mockCredentials, nullptr, Aws::JSONRPC10::JSONRPC10ClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/DatetimeOffsetsTest.cpp b/generated/protocol-tests/tests/output/query/tests/DatetimeOffsetsTest.cpp index ab00b0bccd79..ffb601c348ad 100644 --- a/generated/protocol-tests/tests/output/query/tests/DatetimeOffsetsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/DatetimeOffsetsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(DatetimeOffsets, AwsQueryDateTimeWithNegativeOffset) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(DatetimeOffsets, AwsQueryDateTimeWithNegativeOffset) { } AWS_PROTOCOL_TEST(DatetimeOffsets, AwsQueryDateTimeWithPositiveOffset) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/output/query/tests/EmptyInputAndEmptyOutputTest.cpp index ff43ff501063..ea495ee99c73 100644 --- a/generated/protocol-tests/tests/output/query/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, QueryEmptyInputAndEmptyOutput) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapTest.cpp b/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapTest.cpp index c2aea47f53a6..679dfefa7021 100644 --- a/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(FlattenedXmlMap, QueryQueryFlattenedXmlMap) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapWithXmlNameTest.cpp b/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapWithXmlNameTest.cpp index 620e16f99898..5068d6d9cfea 100644 --- a/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(FlattenedXmlMapWithXmlName, QueryQueryFlattenedXmlMapWithXmlName) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapWithXmlNamespaceTest.cpp b/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapWithXmlNamespaceTest.cpp index 30b8261d0c96..288c3fdc1088 100644 --- a/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapWithXmlNamespaceTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/FlattenedXmlMapWithXmlNamespaceTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(FlattenedXmlMapWithXmlNamespace, QueryQueryFlattenedXmlMapWithXmlNamespace) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/FractionalSecondsTest.cpp b/generated/protocol-tests/tests/output/query/tests/FractionalSecondsTest.cpp index e28049f0b227..0db641097e76 100644 --- a/generated/protocol-tests/tests/output/query/tests/FractionalSecondsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/FractionalSecondsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(FractionalSeconds, AwsQueryDateTimeWithFractionalSeconds) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors0Test.cpp b/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors0Test.cpp index 79aa4318cce5..c48ecd8902c9 100644 --- a/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors0Test.cpp +++ b/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors0Test.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors0, QueryInvalidGreetingError) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors1Test.cpp b/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors1Test.cpp index 44c218eb8a63..2016ac321fe9 100644 --- a/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors1Test.cpp +++ b/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors1Test.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors1, QueryComplexError) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors2Test.cpp b/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors2Test.cpp index 2ef9f4cd587a..0a776d5fb947 100644 --- a/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors2Test.cpp +++ b/generated/protocol-tests/tests/output/query/tests/GreetingWithErrors2Test.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors2, QueryCustomizedError) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 402; diff --git a/generated/protocol-tests/tests/output/query/tests/GreetingWithErrorsTest.cpp b/generated/protocol-tests/tests/output/query/tests/GreetingWithErrorsTest.cpp index bde48c2defaf..2992c3f89637 100644 --- a/generated/protocol-tests/tests/output/query/tests/GreetingWithErrorsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/GreetingWithErrorsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors, QueryGreetingWithErrors) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/IgnoresWrappingXmlNameTest.cpp b/generated/protocol-tests/tests/output/query/tests/IgnoresWrappingXmlNameTest.cpp index 3f54ca55d359..6b9f196b3747 100644 --- a/generated/protocol-tests/tests/output/query/tests/IgnoresWrappingXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/IgnoresWrappingXmlNameTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(IgnoresWrappingXmlName, QueryIgnoresWrappingXmlName) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/NoInputAndNoOutputTest.cpp b/generated/protocol-tests/tests/output/query/tests/NoInputAndNoOutputTest.cpp index 6c72fd5c182b..3df891472bba 100644 --- a/generated/protocol-tests/tests/output/query/tests/NoInputAndNoOutputTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/NoInputAndNoOutputTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndNoOutput, QueryNoInputAndNoOutput) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -28,7 +28,7 @@ AWS_PROTOCOL_TEST(NoInputAndNoOutput, QueryNoInputAndNoOutput) { } AWS_PROTOCOL_TEST(NoInputAndNoOutput, QueryNoInputAndNoOutputWithResponseMetadata) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/output/query/tests/NoInputAndOutputTest.cpp index 514c377d0bfc..70fd373b16f9 100644 --- a/generated/protocol-tests/tests/output/query/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, QueryNoInputAndOutput) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/RecursiveXmlShapesTest.cpp b/generated/protocol-tests/tests/output/query/tests/RecursiveXmlShapesTest.cpp index 53d912bf067c..9b00afeb3b93 100644 --- a/generated/protocol-tests/tests/output/query/tests/RecursiveXmlShapesTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/RecursiveXmlShapesTest.cpp @@ -14,7 +14,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(RecursiveXmlShapes, QueryRecursiveShapes) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/SimpleScalarXmlPropertiesTest.cpp b/generated/protocol-tests/tests/output/query/tests/SimpleScalarXmlPropertiesTest.cpp index 551a46ca7e13..60f3f4fdc4ec 100644 --- a/generated/protocol-tests/tests/output/query/tests/SimpleScalarXmlPropertiesTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/SimpleScalarXmlPropertiesTest.cpp @@ -15,7 +15,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, QuerySimpleScalarProperties) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -53,7 +53,7 @@ AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, QuerySimpleScalarProperties) { } AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, AwsQuerySupportsNaNFloatOutputs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -78,7 +78,7 @@ AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, AwsQuerySupportsNaNFloatOutputs) { } AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, AwsQuerySupportsInfinityFloatOutputs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -102,7 +102,7 @@ AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, AwsQuerySupportsInfinityFloatOutput } AWS_PROTOCOL_TEST(SimpleScalarXmlProperties, AwsQuerySupportsNegativeInfinityFloatOutputs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlBlobsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlBlobsTest.cpp index 9dd356e7961f..7658ae0d3618 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlBlobsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlBlobsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlBlobs, QueryXmlBlobs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlEmptyBlobsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlEmptyBlobsTest.cpp index 9e57ab736d74..3d27b47aaae5 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlEmptyBlobsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlEmptyBlobsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyBlobs, QueryXmlEmptyBlobs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(XmlEmptyBlobs, QueryXmlEmptyBlobs) { } AWS_PROTOCOL_TEST(XmlEmptyBlobs, QueryXmlEmptySelfClosedBlobs) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlEmptyListsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlEmptyListsTest.cpp index fdf5f2a5cc30..60546f1eda09 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlEmptyListsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlEmptyListsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyLists, QueryXmlEmptyLists) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlEmptyMapsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlEmptyMapsTest.cpp index 455f7d193b1d..f870161bfea9 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlEmptyMapsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlEmptyMapsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyMaps, QueryXmlEmptyMaps) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -36,7 +36,7 @@ AWS_PROTOCOL_TEST(XmlEmptyMaps, QueryXmlEmptyMaps) { } AWS_PROTOCOL_TEST(XmlEmptyMaps, QueryXmlEmptySelfClosedMaps) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlEnumsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlEnumsTest.cpp index 4c4156bf9e9c..baf003ef1a77 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlEnumsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlEnums, QueryXmlEnums) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlIntEnumsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlIntEnumsTest.cpp index 6e3586604904..f52511a1eb83 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlIntEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlIntEnumsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlIntEnums, QueryXmlIntEnums) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlListsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlListsTest.cpp index c27d61a76ef2..758f83422e6b 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlListsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlListsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlLists, QueryXmlLists) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlMapsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlMapsTest.cpp index 2a7b5edfa869..62a6d2259e6f 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlMapsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlMapsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlMaps, QueryXmlMaps) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlMapsXmlNameTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlMapsXmlNameTest.cpp index c4926a960f23..4634f43d657e 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlMapsXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlMapsXmlNameTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlMapsXmlName, QueryQueryXmlMapsXmlName) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlNamespacesTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlNamespacesTest.cpp index ab2501b9ee4e..adc89582be88 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlNamespacesTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlNamespacesTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlNamespaces, QueryXmlNamespaces) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/query/tests/XmlTimestampsTest.cpp b/generated/protocol-tests/tests/output/query/tests/XmlTimestampsTest.cpp index 8052bb47fe96..4758c35f8891 100644 --- a/generated/protocol-tests/tests/output/query/tests/XmlTimestampsTest.cpp +++ b/generated/protocol-tests/tests/output/query/tests/XmlTimestampsTest.cpp @@ -12,7 +12,7 @@ using QueryProtocolClient = Aws::QueryProtocol::QueryProtocolClient; using namespace Aws::QueryProtocol::Model; AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestamps) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestamps) { } AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithDateTimeFormat) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -58,7 +58,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithDateTimeFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithDateTimeOnTargetFormat) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -81,7 +81,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithDateTimeOnTargetFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithEpochSecondsFormat) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -104,7 +104,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithEpochSecondsFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithEpochSecondsOnTargetFormat) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -127,7 +127,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithEpochSecondsOnTargetForma } AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithHttpDateFormat) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -150,7 +150,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithHttpDateFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, QueryXmlTimestampsWithHttpDateOnTargetFormat) { - QueryProtocolClient client(mockCredentials, mockConfig); + QueryProtocolClient client(mockCredentials, nullptr, Aws::QueryProtocol::QueryProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/DatetimeOffsetsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/DatetimeOffsetsTest.cpp index c504866dd336..bd82483594bc 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/DatetimeOffsetsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/DatetimeOffsetsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(DatetimeOffsets, RestJsonDateTimeWithNegativeOffset) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -31,7 +31,7 @@ AWS_PROTOCOL_TEST(DatetimeOffsets, RestJsonDateTimeWithNegativeOffset) { } AWS_PROTOCOL_TEST(DatetimeOffsets, RestJsonDateTimeWithPositiveOffset) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeAsMapValueTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeAsMapValueTest.cpp index f0874596292c..fd1100c8be16 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeAsMapValueTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeAsMapValueTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(DocumentTypeAsMapValue, DocumentTypeAsMapValueOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeAsPayloadTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeAsPayloadTest.cpp index 37e65bc65f76..b3b39e056344 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeAsPayloadTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeAsPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(DocumentTypeAsPayload, DocumentTypeAsPayloadOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(DocumentTypeAsPayload, DocumentTypeAsPayloadOutput) { } AWS_PROTOCOL_TEST(DocumentTypeAsPayload, DocumentTypeAsPayloadOutputString) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeTest.cpp index ff0dbe31b180..dc0dc8e21b2a 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/DocumentTypeTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(DocumentType, DocumentOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -36,7 +36,7 @@ AWS_PROTOCOL_TEST(DocumentType, DocumentOutput) { } AWS_PROTOCOL_TEST(DocumentType, DocumentOutputString) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -60,7 +60,7 @@ AWS_PROTOCOL_TEST(DocumentType, DocumentOutputString) { } AWS_PROTOCOL_TEST(DocumentType, DocumentOutputNumber) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -84,7 +84,7 @@ AWS_PROTOCOL_TEST(DocumentType, DocumentOutputNumber) { } AWS_PROTOCOL_TEST(DocumentType, DocumentOutputBoolean) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -108,7 +108,7 @@ AWS_PROTOCOL_TEST(DocumentType, DocumentOutputBoolean) { } AWS_PROTOCOL_TEST(DocumentType, DocumentOutputArray) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/EmptyInputAndEmptyOutputTest.cpp index 0a6f66d0ddde..d619b888d168 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, RestJsonEmptyInputAndEmptyOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, RestJsonEmptyInputAndEmptyOutput) { } AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, RestJsonEmptyInputAndEmptyOutputJsonObjectOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/FractionalSecondsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/FractionalSecondsTest.cpp index dff8b03026f7..ca4bd19264d0 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/FractionalSecondsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/FractionalSecondsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(FractionalSeconds, RestJsonDateTimeWithFractionalSeconds) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors0Test.cpp b/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors0Test.cpp index 55ce363897d6..10cc28be1f00 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors0Test.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors0Test.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors0, RestJsonInvalidGreetingError) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors1Test.cpp b/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors1Test.cpp index d8771ebb6d8b..9ed8b1c14f12 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors1Test.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors1Test.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors1, RestJsonComplexErrorWithNoMessage) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 403; @@ -27,7 +27,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors1, RestJsonComplexErrorWithNoMessage) { } AWS_PROTOCOL_TEST(GreetingWithErrors1, RestJsonEmptyComplexErrorWithNoMessage) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 403; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors2Test.cpp b/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors2Test.cpp index 63d3e06e261e..821f908dc1fb 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors2Test.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrors2Test.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingXAmznErrorType) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -26,7 +26,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingXAmznErrorType) { } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingXAmznErrorTypeWithUri) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -40,7 +40,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingXAmznErrorTypeWithUr } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingXAmznErrorTypeWithUriAndNamespace) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -55,7 +55,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingXAmznErrorTypeWithUr } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingXAmznErrorTypeWithUriAndDifferentNamespace) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -70,7 +70,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingXAmznErrorTypeWithUr } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingCode) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -85,7 +85,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingCode) { } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingCodeAndNamespace) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -100,7 +100,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingCodeAndNamespace) { } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingCodeUriAndNamespace) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -117,7 +117,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorUsingCodeUriAndNamespace) } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorWithDunderType) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -132,7 +132,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorWithDunderType) { } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorWithDunderTypeAndNamespace) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -147,7 +147,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorWithDunderTypeAndNamespac } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorWithDunderTypeUriAndNamespace) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; @@ -164,7 +164,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorWithDunderTypeUriAndNames } AWS_PROTOCOL_TEST(GreetingWithErrors2, RestJsonFooErrorWithNestedTypeProperty) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 500; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrorsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrorsTest.cpp index 3e95ed94ce71..d5bc080a45d5 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrorsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/GreetingWithErrorsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors, RestJsonGreetingWithErrors) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors, RestJsonGreetingWithErrors) { } AWS_PROTOCOL_TEST(GreetingWithErrors, RestJsonGreetingWithErrorsNoPayload) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpEmptyPrefixHeadersTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpEmptyPrefixHeadersTest.cpp index 5f6dbada2b82..345fbba9db39 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpEmptyPrefixHeadersTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpEmptyPrefixHeadersTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpEmptyPrefixHeaders, RestJsonHttpEmptyPrefixHeadersResponseClient) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpEnumPayloadTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpEnumPayloadTest.cpp index cdb2d2e3d386..7f3dd80377a4 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpEnumPayloadTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpEnumPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpEnumPayload, RestJsonEnumPayloadResponse) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadTraitsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadTraitsTest.cpp index 00b366dbd7f2..672f630b55a8 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadTraitsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadTraitsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadTraits, RestJsonHttpPayloadTraitsWithBlob) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -38,7 +38,7 @@ AWS_PROTOCOL_TEST(HttpPayloadTraits, RestJsonHttpPayloadTraitsWithBlob) { } AWS_PROTOCOL_TEST(HttpPayloadTraits, RestJsonHttpPayloadTraitsWithNoBlobBody) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadWithStructureTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadWithStructureTest.cpp index f86d39e679b3..5323c8fa9b4d 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadWithStructureTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadWithStructureTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithStructure, RestJsonHttpPayloadWithStructure) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -36,7 +36,7 @@ AWS_PROTOCOL_TEST(HttpPayloadWithStructure, RestJsonHttpPayloadWithStructure) { } AWS_PROTOCOL_TEST(HttpPayloadWithStructure, RestJsonHttpPayloadWithStructureAndEmptyResponseBody) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadWithUnionTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadWithUnionTest.cpp index 17f68756e14c..b7f6e40d412f 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadWithUnionTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpPayloadWithUnionTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestJsonHttpPayloadWithUnion) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestJsonHttpPayloadWithUnion) { } AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestJsonHttpPayloadWithUnsetUnion) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpPrefixHeadersInResponseTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpPrefixHeadersInResponseTest.cpp index a0862f25a814..cb6a4f9b646d 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpPrefixHeadersInResponseTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpPrefixHeadersInResponseTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPrefixHeadersInResponse, HttpPrefixHeadersResponse) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpPrefixHeadersTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpPrefixHeadersTest.cpp index c1a7082be81b..96c335465958 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpPrefixHeadersTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpPrefixHeadersTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpPrefixHeaders, RestJsonHttpPrefixHeadersArePresent) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpResponseCodeTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpResponseCodeTest.cpp index 7a914f35d9a7..981e03d36d90 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpResponseCodeTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpResponseCodeTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpResponseCode, RestJsonHttpResponseCode) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 201; @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(HttpResponseCode, RestJsonHttpResponseCode) { } AWS_PROTOCOL_TEST(HttpResponseCode, RestJsonHttpResponseCodeWithNoPayload) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 201; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/HttpStringPayloadTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/HttpStringPayloadTest.cpp index 313620aad488..b9869cd3a7ff 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/HttpStringPayloadTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/HttpStringPayloadTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(HttpStringPayload, RestJsonStringPayloadResponse) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/IgnoreQueryParamsInResponseTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/IgnoreQueryParamsInResponseTest.cpp index 3faea1063467..f5768f4b5fd1 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/IgnoreQueryParamsInResponseTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/IgnoreQueryParamsInResponseTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(IgnoreQueryParamsInResponse, RestJsonIgnoreQueryParamsInResponse) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/InputAndOutputWithHeadersTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/InputAndOutputWithHeadersTest.cpp index e2aea92f8eb7..00099f697dbe 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/InputAndOutputWithHeadersTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/InputAndOutputWithHeadersTest.cpp @@ -15,7 +15,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithStringHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -44,7 +44,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithStringHea } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithQuotedStringHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -67,7 +67,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithQuotedStr } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithNumericHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -100,7 +100,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithNumericHe } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithBooleanHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -125,7 +125,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithBooleanHe } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithTimestampHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -147,7 +147,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithTimestamp } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithEnumHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -171,7 +171,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithEnumHeade } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithIntEnumHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -195,7 +195,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonInputAndOutputWithIntEnumHe } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsNaNFloatHeaderOutputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -215,7 +215,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsNaNFloatHeaderOutpu } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsInfinityFloatHeaderOutputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -235,7 +235,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsInfinityFloatHeader } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestJsonSupportsNegativeInfinityFloatHeaderOutputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/JsonBlobsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/JsonBlobsTest.cpp index bdf9176644a4..331030af5781 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/JsonBlobsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/JsonBlobsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonBlobs, RestJsonJsonBlobs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/JsonEnumsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/JsonEnumsTest.cpp index f92dfb560b32..10fc4f090ede 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/JsonEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/JsonEnumsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonEnums, RestJsonJsonEnums) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/JsonIntEnumsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/JsonIntEnumsTest.cpp index 3eb1abce0b62..9a357d83416c 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/JsonIntEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/JsonIntEnumsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonIntEnums, RestJsonJsonIntEnums) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/JsonListsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/JsonListsTest.cpp index 5136d034a43c..416fbbd53f6a 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/JsonListsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/JsonListsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonLists, RestJsonLists) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -93,7 +93,7 @@ AWS_PROTOCOL_TEST(JsonLists, RestJsonLists) { } AWS_PROTOCOL_TEST(JsonLists, RestJsonListsEmpty) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/JsonMapsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/JsonMapsTest.cpp index 2ef54cf3e932..bb566a062103 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/JsonMapsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/JsonMapsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonMaps, RestJsonJsonMaps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -45,7 +45,7 @@ AWS_PROTOCOL_TEST(JsonMaps, RestJsonJsonMaps) { } AWS_PROTOCOL_TEST(JsonMaps, RestJsonDeserializesZeroValuesInMaps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -74,7 +74,7 @@ AWS_PROTOCOL_TEST(JsonMaps, RestJsonDeserializesZeroValuesInMaps) { } AWS_PROTOCOL_TEST(JsonMaps, RestJsonDeserializesDenseSetMap) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/JsonTimestampsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/JsonTimestampsTest.cpp index 65c901994d4e..34775dc6ec45 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/JsonTimestampsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/JsonTimestampsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestamps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestamps) { } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithDateTimeFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -52,7 +52,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithDateTimeFormat) { } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithDateTimeOnTargetFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -72,7 +72,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithDateTimeOnTargetForm } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithEpochSecondsFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -92,7 +92,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithEpochSecondsFormat) } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithEpochSecondsOnTargetFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -112,7 +112,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithEpochSecondsOnTarget } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithHttpDateFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -132,7 +132,7 @@ AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithHttpDateFormat) { } AWS_PROTOCOL_TEST(JsonTimestamps, RestJsonJsonTimestampsWithHttpDateOnTargetFormat) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/JsonUnionsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/JsonUnionsTest.cpp index 0dae99c5719c..0953622fe931 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/JsonUnionsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/JsonUnionsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeStringUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeStringUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeBooleanUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -58,7 +58,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeBooleanUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeNumberUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -81,7 +81,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeNumberUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeBlobUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -104,7 +104,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeBlobUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeTimestampUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -127,7 +127,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeTimestampUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeEnumUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -150,7 +150,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeEnumUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeListUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -176,7 +176,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeListUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeMapUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -206,7 +206,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeMapUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeStructureUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -233,7 +233,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeStructureUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeNestedUnionValue) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -260,7 +260,7 @@ AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeNestedUnionValue) { } AWS_PROTOCOL_TEST(JsonUnions, RestJsonDeserializeIgnoreType) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/MediaTypeHeaderTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/MediaTypeHeaderTest.cpp index 2a29579fae7a..30dca103f9d8 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/MediaTypeHeaderTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/MediaTypeHeaderTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(MediaTypeHeader, MediaTypeHeaderOutputBase64) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/NoInputAndNoOutputTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/NoInputAndNoOutputTest.cpp index 5fa771d6efe0..362a2c08d6e0 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/NoInputAndNoOutputTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/NoInputAndNoOutputTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndNoOutput, RestJsonNoInputAndNoOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/NoInputAndOutputTest.cpp index 40d8104e669a..9548b58cca24 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, RestJsonNoInputAndOutputWithJson) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(NoInputAndOutput, RestJsonNoInputAndOutputWithJson) { } AWS_PROTOCOL_TEST(NoInputAndOutput, RestJsonNoInputAndOutputNoPayload) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/PostUnionWithJsonNameTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/PostUnionWithJsonNameTest.cpp index cb61680bdaec..9f2b1bd1776f 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/PostUnionWithJsonNameTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/PostUnionWithJsonNameTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameResponse1) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameResponse1) { } AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameResponse2) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -58,7 +58,7 @@ AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameResponse2) { } AWS_PROTOCOL_TEST(PostUnionWithJsonName, PostUnionWithJsonNameResponse3) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/RecursiveShapesTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/RecursiveShapesTest.cpp index e89a43e3b312..ae88560817f3 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/RecursiveShapesTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/RecursiveShapesTest.cpp @@ -14,7 +14,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(RecursiveShapes, RestJsonRecursiveShapes) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/SimpleScalarPropertiesTest.cpp index d801842703db..cc11e7b92bc6 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSimpleScalarProperties) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -49,7 +49,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSimpleScalarProperties) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonDoesntDeserializeNullStructureValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -67,7 +67,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonDoesntDeserializeNullStructure } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsNaNFloatInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -88,7 +88,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsNaNFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsInfinityFloatInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -109,7 +109,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsInfinityFloatInputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestJsonSupportsNegativeInfinityFloatInputs) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/SparseJsonListsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/SparseJsonListsTest.cpp index 4e4981f2356a..c675755dcd1b 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/SparseJsonListsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/SparseJsonListsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(SparseJsonLists, RestJsonSparseListsSerializeNull) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/SparseJsonMapsTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/SparseJsonMapsTest.cpp index 2ff707cdc16e..4cced6f20d26 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/SparseJsonMapsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/SparseJsonMapsTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSparseJsonMaps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -47,7 +47,7 @@ AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonSparseJsonMaps) { } AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonDeserializesSparseNullMapValues) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -88,7 +88,7 @@ AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonDeserializesSparseNullMapValues) { } AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonDeserializesZeroValuesInSparseMaps) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -119,7 +119,7 @@ AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonDeserializesZeroValuesInSparseMaps) { } AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonDeserializesSparseSetMap) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -146,7 +146,7 @@ AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonDeserializesSparseSetMap) { } AWS_PROTOCOL_TEST(SparseJsonMaps, RestJsonDeserializesSparseSetMapAndRetainsNull) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/TimestampFormatHeadersTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/TimestampFormatHeadersTest.cpp index 1230480a9e94..072a5a8c4054 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/TimestampFormatHeadersTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/TimestampFormatHeadersTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(TimestampFormatHeaders, RestJsonTimestampFormatHeaders) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-json/tests/UnitInputAndOutputTest.cpp b/generated/protocol-tests/tests/output/rest-json/tests/UnitInputAndOutputTest.cpp index a3f13a0dfa20..6e82d69503ac 100644 --- a/generated/protocol-tests/tests/output/rest-json/tests/UnitInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/output/rest-json/tests/UnitInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using RestJsonProtocolClient = Aws::RestJsonProtocol::RestJsonProtocolClient; using namespace Aws::RestJsonProtocol::Model; AWS_PROTOCOL_TEST(UnitInputAndOutput, RestJsonUnitInputAndOutputNoOutput) { - RestJsonProtocolClient client(mockCredentials, mockConfig); + RestJsonProtocolClient client(mockCredentials, nullptr, Aws::RestJsonProtocol::RestJsonProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/BodyWithXmlNameTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/BodyWithXmlNameTest.cpp index c935ec393483..85758006689f 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/BodyWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/BodyWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(BodyWithXmlName, BodyWithXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/DatetimeOffsetsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/DatetimeOffsetsTest.cpp index d569deb1bc2d..810849d290d3 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/DatetimeOffsetsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/DatetimeOffsetsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(DatetimeOffsets, RestXmlDateTimeWithNegativeOffset) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -34,7 +34,7 @@ AWS_PROTOCOL_TEST(DatetimeOffsets, RestXmlDateTimeWithNegativeOffset) { } AWS_PROTOCOL_TEST(DatetimeOffsets, RestXmlDateTimeWithPositiveOffset) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/EmptyInputAndEmptyOutputTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/EmptyInputAndEmptyOutputTest.cpp index 9cf8b004a5ae..5b7b4c49c338 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/EmptyInputAndEmptyOutputTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/EmptyInputAndEmptyOutputTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(EmptyInputAndEmptyOutput, EmptyInputAndEmptyOutput) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapTest.cpp index a9a97b486a7f..5e70aeb7f1bd 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(FlattenedXmlMap, FlattenedXmlMap) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapWithXmlNameTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapWithXmlNameTest.cpp index 8ed161dcba83..84925cc6a740 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(FlattenedXmlMapWithXmlName, FlattenedXmlMapWithXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapWithXmlNamespaceTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapWithXmlNamespaceTest.cpp index 083a78ed769b..578bdfb8e1bb 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapWithXmlNamespaceTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/FlattenedXmlMapWithXmlNamespaceTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(FlattenedXmlMapWithXmlNamespace, RestXmlFlattenedXmlMapWithXmlNamespace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/FractionalSecondsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/FractionalSecondsTest.cpp index 83d6899d1c10..84a7098f6a39 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/FractionalSecondsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/FractionalSecondsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(FractionalSeconds, RestXmlDateTimeWithFractionalSeconds) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrors0Test.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrors0Test.cpp index 942a4b9c9e5c..f497f82aa81a 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrors0Test.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrors0Test.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors0, InvalidGreetingError) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrors1Test.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrors1Test.cpp index 365193865f65..4dd9699694e2 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrors1Test.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrors1Test.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors1, ComplexError) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 403; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrorsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrorsTest.cpp index 2f309b0ae388..1629bbe02891 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrorsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/GreetingWithErrorsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors, GreetingWithErrors) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpEmptyPrefixHeadersTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpEmptyPrefixHeadersTest.cpp index 5c85063da738..9b48d65f0208 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpEmptyPrefixHeadersTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpEmptyPrefixHeadersTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpEmptyPrefixHeaders, HttpEmptyPrefixHeadersResponseClient) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpEnumPayloadTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpEnumPayloadTest.cpp index 4fbffd0eac21..b42e461a16ba 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpEnumPayloadTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpEnumPayloadTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpEnumPayload, RestXmlEnumPayloadResponse) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadTraitsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadTraitsTest.cpp index 64f62355bb10..6cd38f25d183 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadTraitsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadTraitsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadTraits, HttpPayloadTraitsWithBlob) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -38,7 +38,7 @@ AWS_PROTOCOL_TEST(HttpPayloadTraits, HttpPayloadTraitsWithBlob) { } AWS_PROTOCOL_TEST(HttpPayloadTraits, HttpPayloadTraitsWithNoBlobBody) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithMemberXmlNameTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithMemberXmlNameTest.cpp index 1a8167fae508..270a5454151d 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithMemberXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithMemberXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithMemberXmlName, HttpPayloadWithMemberXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithStructureTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithStructureTest.cpp index 457dc6cc2078..c833542660de 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithStructureTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithStructureTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithStructure, HttpPayloadWithStructure) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithUnionTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithUnionTest.cpp index d555000d0085..21c5f953d0f9 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithUnionTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithUnionTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestXmlHttpPayloadWithUnion) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestXmlHttpPayloadWithUnion) { } AWS_PROTOCOL_TEST(HttpPayloadWithUnion, RestXmlHttpPayloadWithUnsetUnion) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNameTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNameTest.cpp index 2b6eea1d4ac2..dc142d3d6e4c 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithXmlName, HttpPayloadWithXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNamespaceAndPrefixTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNamespaceAndPrefixTest.cpp index 0aeaae73c52c..f04b429e040b 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNamespaceAndPrefixTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNamespaceAndPrefixTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithXmlNamespaceAndPrefix, HttpPayloadWithXmlNamespaceAndPrefix) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNamespaceTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNamespaceTest.cpp index 09db8141ea45..49da77f9aaae 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNamespaceTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPayloadWithXmlNamespaceTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPayloadWithXmlNamespace, HttpPayloadWithXmlNamespace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPrefixHeadersTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPrefixHeadersTest.cpp index c2d8006143b4..c6e253185d52 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpPrefixHeadersTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpPrefixHeadersTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpPrefixHeaders, HttpPrefixHeadersArePresent) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -37,7 +37,7 @@ AWS_PROTOCOL_TEST(HttpPrefixHeaders, HttpPrefixHeadersArePresent) { } AWS_PROTOCOL_TEST(HttpPrefixHeaders, HttpPrefixHeadersAreNotPresent) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpResponseCodeTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpResponseCodeTest.cpp index 25bae256ff59..f8fd42c3594f 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpResponseCodeTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpResponseCodeTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpResponseCode, RestXmlHttpResponseCode) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 201; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/HttpStringPayloadTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/HttpStringPayloadTest.cpp index 04464ce329be..2732bb2e4c37 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/HttpStringPayloadTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/HttpStringPayloadTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(HttpStringPayload, RestXmlStringPayloadResponse) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/IgnoreQueryParamsInResponseTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/IgnoreQueryParamsInResponseTest.cpp index 1b27c3bdbbed..b9114d50bc31 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/IgnoreQueryParamsInResponseTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/IgnoreQueryParamsInResponseTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(IgnoreQueryParamsInResponse, IgnoreQueryParamsInResponse) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/InputAndOutputWithHeadersTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/InputAndOutputWithHeadersTest.cpp index 81e1379b91a9..00dc19f85985 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/InputAndOutputWithHeadersTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/InputAndOutputWithHeadersTest.cpp @@ -15,7 +15,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithStringHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -44,7 +44,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithStringHeaders) { } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithNumericHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -77,7 +77,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithNumericHeaders) { } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithBooleanHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -102,7 +102,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithBooleanHeaders) { } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithTimestampHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -124,7 +124,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithTimestampHeaders) } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithEnumHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -148,7 +148,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, InputAndOutputWithEnumHeaders) { } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsNaNFloatHeaderOutputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -168,7 +168,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsNaNFloatHeaderOutput } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsInfinityFloatHeaderOutputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -188,7 +188,7 @@ AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsInfinityFloatHeaderO } AWS_PROTOCOL_TEST(InputAndOutputWithHeaders, RestXmlSupportsNegativeInfinityFloatHeaderOutputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/NestedXmlMapWithXmlNameTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/NestedXmlMapWithXmlNameTest.cpp index e2fc738f7dd9..745a7a05e4a0 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/NestedXmlMapWithXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/NestedXmlMapWithXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NestedXmlMapWithXmlName, NestedXmlMapWithXmlNameDeserializes) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/NestedXmlMapsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/NestedXmlMapsTest.cpp index f7272d518d40..4a0ab13a4f0e 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/NestedXmlMapsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/NestedXmlMapsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NestedXmlMaps, NestedXmlMapResponse) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -44,7 +44,7 @@ AWS_PROTOCOL_TEST(NestedXmlMaps, NestedXmlMapResponse) { } AWS_PROTOCOL_TEST(NestedXmlMaps, FlatNestedXmlMapResponse) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/NoInputAndNoOutputTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/NoInputAndNoOutputTest.cpp index 8cdd5f015199..196acebac425 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/NoInputAndNoOutputTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/NoInputAndNoOutputTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndNoOutput, NoInputAndNoOutput) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/NoInputAndOutputTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/NoInputAndOutputTest.cpp index abb25eb63b56..7211455a884f 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/NoInputAndOutputTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/NoInputAndOutputTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(NoInputAndOutput, NoInputAndOutput) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/RecursiveShapesTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/RecursiveShapesTest.cpp index 900eefac8986..6323124d67ae 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/RecursiveShapesTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/RecursiveShapesTest.cpp @@ -14,7 +14,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(RecursiveShapes, RecursiveShapes) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/SimpleScalarPropertiesTest.cpp index e9a49aece559..dbe42ac7b73a 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarProperties) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -51,7 +51,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarProperties) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesComplexEscapes) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -76,7 +76,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesComplexEscapes) } AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithEscapedCharacter) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -99,7 +99,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithEscapedChara } AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithXMLPreamble) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -123,7 +123,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithXMLPreamble) } AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithWhiteSpace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -146,7 +146,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesWithWhiteSpace) } AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesPureWhiteSpace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -169,7 +169,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, SimpleScalarPropertiesPureWhiteSpace) } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsNaNFloatOutputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -192,7 +192,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsNaNFloatOutputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsInfinityFloatOutputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -215,7 +215,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsInfinityFloatOutputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RestXmlSupportsNegativeInfinityFloatOutputs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/TimestampFormatHeadersTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/TimestampFormatHeadersTest.cpp index c47df5b4252d..625ae658a749 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/TimestampFormatHeadersTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/TimestampFormatHeadersTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(TimestampFormatHeaders, TimestampFormatHeaders) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesInMiddleTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesInMiddleTest.cpp index 7ef6e3c339bd..c44ee2621126 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesInMiddleTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesInMiddleTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlAttributesInMiddle, XmlAttributesInMiddle) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesOnPayloadTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesOnPayloadTest.cpp index 549cbf2d12a4..f00b3e23b066 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesOnPayloadTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesOnPayloadTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlAttributesOnPayload, XmlAttributesOnPayload) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesTest.cpp index 7297f2e8ee01..6ca2093341f9 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlAttributesTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlAttributes, XmlAttributes) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlBlobsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlBlobsTest.cpp index 8c3d8cf5940b..548c9e99bffc 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlBlobsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlBlobsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlBlobs, XmlBlobs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyBlobsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyBlobsTest.cpp index 3cf5925f71e9..88cbcfb233ba 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyBlobsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyBlobsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyBlobs, XmlEmptyBlobs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(XmlEmptyBlobs, XmlEmptyBlobs) { } AWS_PROTOCOL_TEST(XmlEmptyBlobs, XmlEmptySelfClosedBlobs) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyListsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyListsTest.cpp index 667eca5fa949..a715cc0c1e57 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyListsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyListsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyLists, XmlEmptyLists) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyMapsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyMapsTest.cpp index 4320a8120196..e44afe664bf5 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyMapsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyMapsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyMaps, XmlEmptyMaps) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -33,7 +33,7 @@ AWS_PROTOCOL_TEST(XmlEmptyMaps, XmlEmptyMaps) { } AWS_PROTOCOL_TEST(XmlEmptyMaps, XmlEmptySelfClosedMaps) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyStringsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyStringsTest.cpp index 3be866a13895..b863ff2d0a18 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyStringsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEmptyStringsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEmptyStrings, XmlEmptyStrings) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -32,7 +32,7 @@ AWS_PROTOCOL_TEST(XmlEmptyStrings, XmlEmptyStrings) { } AWS_PROTOCOL_TEST(XmlEmptyStrings, XmlEmptySelfClosedStrings) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEnumsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEnumsTest.cpp index f92481754b62..758bfabe72c8 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlEnumsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlEnums, XmlEnums) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlIntEnumsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlIntEnumsTest.cpp index 9de6236143e5..88c1eac904eb 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlIntEnumsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlIntEnumsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlIntEnums, XmlIntEnums) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlListsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlListsTest.cpp index cab2b4a9367a..3271bf263b32 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlListsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlListsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlLists, XmlLists) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapWithXmlNamespaceTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapWithXmlNamespaceTest.cpp index 93fafdd796e5..80f41bb50305 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapWithXmlNamespaceTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapWithXmlNamespaceTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlMapWithXmlNamespace, RestXmlXmlMapWithXmlNamespace) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapsTest.cpp index 4367581ac352..8a64211e8a04 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlMaps, XmlMaps) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapsXmlNameTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapsXmlNameTest.cpp index aacf75921374..9aea32d2b475 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapsXmlNameTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlMapsXmlNameTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlMapsXmlName, XmlMapsXmlName) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlNamespacesTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlNamespacesTest.cpp index 04f075882350..7c6d83ca71f1 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlNamespacesTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlNamespacesTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlNamespaces, XmlNamespaces) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlTimestampsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlTimestampsTest.cpp index 02c4d11f3814..bc087214a459 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlTimestampsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlTimestampsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestamps) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -33,7 +33,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestamps) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithDateTimeFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -54,7 +54,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithDateTimeFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithDateTimeOnTargetFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -76,7 +76,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithDateTimeOnTargetFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithEpochSecondsFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -97,7 +97,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithEpochSecondsFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithEpochSecondsOnTargetFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -119,7 +119,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithEpochSecondsOnTargetFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithHttpDateFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -141,7 +141,7 @@ AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithHttpDateFormat) { } AWS_PROTOCOL_TEST(XmlTimestamps, XmlTimestampsWithHttpDateOnTargetFormat) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/rest-xml/tests/XmlUnionsTest.cpp b/generated/protocol-tests/tests/output/rest-xml/tests/XmlUnionsTest.cpp index aa0c61ab390d..e6ce3ccb5827 100644 --- a/generated/protocol-tests/tests/output/rest-xml/tests/XmlUnionsTest.cpp +++ b/generated/protocol-tests/tests/output/rest-xml/tests/XmlUnionsTest.cpp @@ -12,7 +12,7 @@ using RestXmlProtocolClient = Aws::RestXmlProtocol::RestXmlProtocolClient; using namespace Aws::RestXmlProtocol::Model; AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithStructMember) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -52,7 +52,7 @@ AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithStructMember) { } AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithStringMember) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -77,7 +77,7 @@ AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithStringMember) { } AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithBooleanMember) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -102,7 +102,7 @@ AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithBooleanMember) { } AWS_PROTOCOL_TEST(XmlUnions, XmlUnionsWithUnionMember) { - RestXmlProtocolClient client(mockCredentials, mockConfig); + RestXmlProtocolClient client(mockCredentials, nullptr, Aws::RestXmlProtocol::RestXmlProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperation0Test.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperation0Test.cpp index 95ed9baa53ac..9a2581b232c1 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperation0Test.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperation0Test.cpp @@ -12,7 +12,8 @@ using QueryCompatibleRpcV2ProtocolClient = Aws::QueryCompatibleRpcV2Protocol::Qu using namespace Aws::QueryCompatibleRpcV2Protocol::Model; AWS_PROTOCOL_TEST(QueryCompatibleOperation0, QueryCompatibleRpcV2CborCustomCodeError) { - QueryCompatibleRpcV2ProtocolClient client(mockCredentials, mockConfig); + QueryCompatibleRpcV2ProtocolClient client(mockCredentials, nullptr, + Aws::QueryCompatibleRpcV2Protocol::QueryCompatibleRpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperationTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperationTest.cpp index 5a66a6d4fdba..35ed7dea4c23 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperationTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor-query-compatible/tests/QueryCompatibleOperationTest.cpp @@ -12,7 +12,8 @@ using QueryCompatibleRpcV2ProtocolClient = Aws::QueryCompatibleRpcV2Protocol::Qu using namespace Aws::QueryCompatibleRpcV2Protocol::Model; AWS_PROTOCOL_TEST(QueryCompatibleOperation, QueryCompatibleRpcV2CborNoCustomCodeError) { - QueryCompatibleRpcV2ProtocolClient client(mockCredentials, mockConfig); + QueryCompatibleRpcV2ProtocolClient client(mockCredentials, nullptr, + Aws::QueryCompatibleRpcV2Protocol::QueryCompatibleRpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/EmptyInputOutputTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/EmptyInputOutputTest.cpp index 017bd6623e63..cbf3a33cc3f8 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/EmptyInputOutputTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/EmptyInputOutputTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(EmptyInputOutput, empty_output) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -30,7 +30,7 @@ AWS_PROTOCOL_TEST(EmptyInputOutput, empty_output) { } AWS_PROTOCOL_TEST(EmptyInputOutput, empty_output_no_body) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/Float16Test.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/Float16Test.cpp index 4e1e5cb568fa..a96a91e6c939 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/Float16Test.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/Float16Test.cpp @@ -15,7 +15,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16Inf) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16Inf) { } AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16NegInf) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -55,7 +55,7 @@ AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16NegInf) { } AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16LSBNaN) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -75,7 +75,7 @@ AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16LSBNaN) { } AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16MSBNaN) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -95,7 +95,7 @@ AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16MSBNaN) { } AWS_PROTOCOL_TEST(Float16, RpcV2CborFloat16Subnormal) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/FractionalSecondsTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/FractionalSecondsTest.cpp index b623e344446a..a2c9822f005f 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/FractionalSecondsTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/FractionalSecondsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(FractionalSeconds, RpcV2CborDateTimeWithFractionalSeconds) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/GreetingWithErrors0Test.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/GreetingWithErrors0Test.cpp index 1be67faf5c7d..ddb0d83c4721 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/GreetingWithErrors0Test.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/GreetingWithErrors0Test.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors0, RpcV2CborComplexError) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; @@ -27,7 +27,7 @@ AWS_PROTOCOL_TEST(GreetingWithErrors0, RpcV2CborComplexError) { } AWS_PROTOCOL_TEST(GreetingWithErrors0, RpcV2CborEmptyComplexError) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/GreetingWithErrorsTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/GreetingWithErrorsTest.cpp index 7613403d99cd..17b5c63b8406 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/GreetingWithErrorsTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/GreetingWithErrorsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(GreetingWithErrors, RpcV2CborInvalidGreetingError) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 400; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/NoInputOutputTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/NoInputOutputTest.cpp index c5cd9d8d8d98..fb19cfa391c2 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/NoInputOutputTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/NoInputOutputTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(NoInputOutput, no_output) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -29,7 +29,7 @@ AWS_PROTOCOL_TEST(NoInputOutput, no_output) { } AWS_PROTOCOL_TEST(NoInputOutput, NoOutputClientAllowsEmptyCbor) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -47,7 +47,7 @@ AWS_PROTOCOL_TEST(NoInputOutput, NoOutputClientAllowsEmptyCbor) { } AWS_PROTOCOL_TEST(NoInputOutput, NoOutputClientAllowsEmptyBody) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/OptionalInputOutputTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/OptionalInputOutputTest.cpp index 9703a4856b18..93707031e2f1 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/OptionalInputOutputTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/OptionalInputOutputTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(OptionalInputOutput, optional_output) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RecursiveShapesTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RecursiveShapesTest.cpp index 4c0e29b4fdcf..55c06ae73895 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RecursiveShapesTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RecursiveShapesTest.cpp @@ -14,7 +14,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RecursiveShapes, RpcV2CborRecursiveShapes) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -50,7 +50,7 @@ AWS_PROTOCOL_TEST(RecursiveShapes, RpcV2CborRecursiveShapes) { } AWS_PROTOCOL_TEST(RecursiveShapes, RpcV2CborRecursiveShapesUsingDefiniteLength) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborDenseMapsTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborDenseMapsTest.cpp index f8c5c9a8bbfe..cea05d232dcf 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborDenseMapsTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborDenseMapsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborMaps) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -43,7 +43,7 @@ AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborMaps) { } AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborDeserializesZeroValuesInMaps) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -70,7 +70,7 @@ AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborDeserializesZeroValuesInMaps) { } AWS_PROTOCOL_TEST(RpcV2CborDenseMaps, RpcV2CborDeserializesDenseSetMap) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborListsTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborListsTest.cpp index 4141a27c06ab..729780d170a9 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborListsTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborListsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborLists) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -92,7 +92,7 @@ AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborLists) { } AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborListsEmpty) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -113,7 +113,7 @@ AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborListsEmpty) { } AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborIndefiniteStringInsideIndefiniteListCanDeserialize) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -140,7 +140,7 @@ AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborIndefiniteStringInsideIndefiniteListC } AWS_PROTOCOL_TEST(RpcV2CborLists, RpcV2CborIndefiniteStringInsideDefiniteListCanDeserialize) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborSparseMapsTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborSparseMapsTest.cpp index 8812a58db9f7..b196244f7c92 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborSparseMapsTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborSparseMapsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSparseJsonMaps) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -45,7 +45,7 @@ AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborSparseJsonMaps) { } AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborDeserializesNullMapValues) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -83,7 +83,7 @@ AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborDeserializesNullMapValues) { } AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborDeserializesSparseSetMap) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -110,7 +110,7 @@ AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborDeserializesSparseSetMap) { } AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborDeserializesSparseSetMapAndRetainsNull) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -139,7 +139,7 @@ AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborDeserializesSparseSetMapAndRetai } AWS_PROTOCOL_TEST(RpcV2CborSparseMaps, RpcV2CborDeserializesZeroValuesInSparseMaps) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborUnionsTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborUnionsTest.cpp index c828c2700a74..c1c3b3779c71 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborUnionsTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/RpcV2CborUnionsTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(RpcV2CborUnions, RpcV2CborDeserializesUnionValue) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -36,7 +36,7 @@ AWS_PROTOCOL_TEST(RpcV2CborUnions, RpcV2CborDeserializesUnionValue) { } AWS_PROTOCOL_TEST(RpcV2CborUnions, RpcV2CborDeserializesNestedUnionValue) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/SimpleScalarPropertiesTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/SimpleScalarPropertiesTest.cpp index aba14dc514c4..5491e2c994d8 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/SimpleScalarPropertiesTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/SimpleScalarPropertiesTest.cpp @@ -15,7 +15,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSimpleScalarProperties) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -47,7 +47,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSimpleScalarProperties) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSimpleScalarPropertiesUsingDefiniteLength) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -79,7 +79,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSimpleScalarPropertiesUsingDe } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborClientDoesntDeserializeNullStructureValues) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -97,7 +97,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborClientDoesntDeserializeNullSt } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsNaNFloatOutputs) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -118,7 +118,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsNaNFloatOutputs) { } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsInfinityFloatOutputs) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -139,7 +139,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsInfinityFloatOutputs) } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsNegativeInfinityFloatOutputs) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -160,7 +160,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsNegativeInfinityFloat } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsUpcastingDataOnDeserialize) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -184,7 +184,7 @@ AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborSupportsUpcastingDataOnDeseri } AWS_PROTOCOL_TEST(SimpleScalarProperties, RpcV2CborExtraFieldsInTheBodyShouldBeSkippedByClients) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/SparseNullsOperationTest.cpp b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/SparseNullsOperationTest.cpp index c3cb27c45aee..f37f965320e2 100644 --- a/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/SparseNullsOperationTest.cpp +++ b/generated/protocol-tests/tests/output/smithy-rpc-v2-cbor/tests/SparseNullsOperationTest.cpp @@ -12,7 +12,7 @@ using RpcV2ProtocolClient = Aws::RpcV2Protocol::RpcV2ProtocolClient; using namespace Aws::RpcV2Protocol::Model; AWS_PROTOCOL_TEST(SparseNullsOperation, RpcV2CborSparseMapsDeserializeNullValues) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; @@ -35,7 +35,7 @@ AWS_PROTOCOL_TEST(SparseNullsOperation, RpcV2CborSparseMapsDeserializeNullValues } AWS_PROTOCOL_TEST(SparseNullsOperation, RpcV2CborSparseListsDeserializeNull) { - RpcV2ProtocolClient client(mockCredentials, mockConfig); + RpcV2ProtocolClient client(mockCredentials, nullptr, Aws::RpcV2Protocol::RpcV2ProtocolClientConfiguration(mockConfig)); OutputResponse mockRs; mockRs.statusCode = 200; diff --git a/generated/smoke-tests/acm/ACMSmokeTests.cpp b/generated/smoke-tests/acm/ACMSmokeTests.cpp index 1056a098b0cd..0f329cec3db1 100644 --- a/generated/smoke-tests/acm/ACMSmokeTests.cpp +++ b/generated/smoke-tests/acm/ACMSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(ACMSmokeTestSuite, GetCertificateFailure ) { Aws::ACM::ACMClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(ACMSmokeTestSuite, ListCertificatesSuccess ) { Aws::ACM::ACMClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/apigateway/APIGatewaySmokeTests.cpp b/generated/smoke-tests/apigateway/APIGatewaySmokeTests.cpp index 2c211c52acf9..df4837ee4788 100644 --- a/generated/smoke-tests/apigateway/APIGatewaySmokeTests.cpp +++ b/generated/smoke-tests/apigateway/APIGatewaySmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(APIGatewaySmokeTestSuite, GetDomainNamesSuccess ) { Aws::APIGateway::APIGatewayClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/application-autoscaling/ApplicationAutoScalingSmokeTests.cpp b/generated/smoke-tests/application-autoscaling/ApplicationAutoScalingSmokeTests.cpp index 8db4914c9635..c2e1cb289e18 100644 --- a/generated/smoke-tests/application-autoscaling/ApplicationAutoScalingSmokeTests.cpp +++ b/generated/smoke-tests/application-autoscaling/ApplicationAutoScalingSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(ApplicationAutoScalingSmokeTestSuite, DescribeScalableTargetsSuccess ) { Aws::ApplicationAutoScaling::ApplicationAutoScalingClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/appstream/AppStreamSmokeTests.cpp b/generated/smoke-tests/appstream/AppStreamSmokeTests.cpp index 5702e99bebfb..c16789a3b063 100644 --- a/generated/smoke-tests/appstream/AppStreamSmokeTests.cpp +++ b/generated/smoke-tests/appstream/AppStreamSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(AppStreamSmokeTestSuite, DescribeStacksSuccess ) { Aws::AppStream::AppStreamClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/athena/AthenaSmokeTests.cpp b/generated/smoke-tests/athena/AthenaSmokeTests.cpp index 704ef68c3e34..63c87df8f376 100644 --- a/generated/smoke-tests/athena/AthenaSmokeTests.cpp +++ b/generated/smoke-tests/athena/AthenaSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(AthenaSmokeTestSuite, ListNamedQueriesSuccess ) { Aws::Athena::AthenaClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/batch/BatchSmokeTests.cpp b/generated/smoke-tests/batch/BatchSmokeTests.cpp index 62e3b39846ff..e0ad9618ca0d 100644 --- a/generated/smoke-tests/batch/BatchSmokeTests.cpp +++ b/generated/smoke-tests/batch/BatchSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(BatchSmokeTestSuite, DescribeComputeEnvironmentsSuccess ) { Aws::Batch::BatchClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/bcm-dashboards/BCMDashboardsSmokeTests.cpp b/generated/smoke-tests/bcm-dashboards/BCMDashboardsSmokeTests.cpp index eac501d439f7..7aa86224c563 100644 --- a/generated/smoke-tests/bcm-dashboards/BCMDashboardsSmokeTests.cpp +++ b/generated/smoke-tests/bcm-dashboards/BCMDashboardsSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(BCMDashboardsSmokeTestSuite, ListDashboardsSuccess ) { Aws::BCMDashboards::BCMDashboardsClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/billing/BillingSmokeTests.cpp b/generated/smoke-tests/billing/BillingSmokeTests.cpp index 6b9c86915d42..12c0c5df06e9 100644 --- a/generated/smoke-tests/billing/BillingSmokeTests.cpp +++ b/generated/smoke-tests/billing/BillingSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(BillingSmokeTestSuite, ListBillingViewsSuccess ) { Aws::Billing::BillingClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //Prepare test data auto GetlistbillingviewsElemLvl0Idx0 = [&]() -> ActiveTimeRange diff --git a/generated/smoke-tests/cloudformation/CloudFormationSmokeTests.cpp b/generated/smoke-tests/cloudformation/CloudFormationSmokeTests.cpp index 514ed92fb7e5..62d1626ee221 100644 --- a/generated/smoke-tests/cloudformation/CloudFormationSmokeTests.cpp +++ b/generated/smoke-tests/cloudformation/CloudFormationSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(CloudFormationSmokeTestSuite, CreateStackFailure ) { Aws::CloudFormation::CloudFormationClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -50,8 +48,6 @@ TEST_F(CloudFormationSmokeTestSuite, ListStacksSuccess ) { Aws::CloudFormation::CloudFormationClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp b/generated/smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp index 197b3271e35c..9bb7071c59ae 100644 --- a/generated/smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp +++ b/generated/smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(CloudHSMV2SmokeTestSuite, DescribeClustersSuccess ) { Aws::CloudHSMV2::CloudHSMV2ClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp b/generated/smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp index fbc87a60f416..9d1769328d06 100644 --- a/generated/smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp +++ b/generated/smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(CloudTrailSmokeTestSuite, DescribeTrailsSuccess ) { Aws::CloudTrail::CloudTrailClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/codebuild/CodeBuildSmokeTests.cpp b/generated/smoke-tests/codebuild/CodeBuildSmokeTests.cpp index c0529c6477ff..3c9cc1082e96 100644 --- a/generated/smoke-tests/codebuild/CodeBuildSmokeTests.cpp +++ b/generated/smoke-tests/codebuild/CodeBuildSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(CodeBuildSmokeTestSuite, ListBuildsSuccess ) { Aws::CodeBuild::CodeBuildClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/codedeploy/CodeDeploySmokeTests.cpp b/generated/smoke-tests/codedeploy/CodeDeploySmokeTests.cpp index 09c30ac21ac5..af8bc4f85c24 100644 --- a/generated/smoke-tests/codedeploy/CodeDeploySmokeTests.cpp +++ b/generated/smoke-tests/codedeploy/CodeDeploySmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(CodeDeploySmokeTestSuite, ListApplicationsSuccess ) { Aws::CodeDeploy::CodeDeployClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/codepipeline/CodePipelineSmokeTests.cpp b/generated/smoke-tests/codepipeline/CodePipelineSmokeTests.cpp index 5f5b923c7846..a25ef3c6523e 100644 --- a/generated/smoke-tests/codepipeline/CodePipelineSmokeTests.cpp +++ b/generated/smoke-tests/codepipeline/CodePipelineSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(CodePipelineSmokeTestSuite, GetPipelineFailure ) { Aws::CodePipeline::CodePipelineClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(CodePipelineSmokeTestSuite, ListPipelinesSuccess ) { Aws::CodePipeline::CodePipelineClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/cognito-identity/CognitoIdentitySmokeTests.cpp b/generated/smoke-tests/cognito-identity/CognitoIdentitySmokeTests.cpp index 84cded34cfa3..d1c0711747f6 100644 --- a/generated/smoke-tests/cognito-identity/CognitoIdentitySmokeTests.cpp +++ b/generated/smoke-tests/cognito-identity/CognitoIdentitySmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(CognitoIdentitySmokeTestSuite, ListIdentityPoolsSuccess ) { Aws::CognitoIdentity::CognitoIdentityClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/cognito-idp/CognitoIdentityProviderSmokeTests.cpp b/generated/smoke-tests/cognito-idp/CognitoIdentityProviderSmokeTests.cpp index 06415b2296db..7d6caab8aef0 100644 --- a/generated/smoke-tests/cognito-idp/CognitoIdentityProviderSmokeTests.cpp +++ b/generated/smoke-tests/cognito-idp/CognitoIdentityProviderSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(CognitoIdentityProviderSmokeTestSuite, ListUserPoolsSuccess ) { Aws::CognitoIdentityProvider::CognitoIdentityProviderClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/config/ConfigServiceSmokeTests.cpp b/generated/smoke-tests/config/ConfigServiceSmokeTests.cpp index 7e62d4f73e16..24f8ddc9f240 100644 --- a/generated/smoke-tests/config/ConfigServiceSmokeTests.cpp +++ b/generated/smoke-tests/config/ConfigServiceSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(ConfigServiceSmokeTestSuite, DescribeConfigurationRecordersSuccess ) { Aws::ConfigService::ConfigServiceClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/cur/CostandUsageReportServiceSmokeTests.cpp b/generated/smoke-tests/cur/CostandUsageReportServiceSmokeTests.cpp index 31bd33f77171..90dc31521c05 100644 --- a/generated/smoke-tests/cur/CostandUsageReportServiceSmokeTests.cpp +++ b/generated/smoke-tests/cur/CostandUsageReportServiceSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(CostandUsageReportServiceSmokeTestSuite, DescribeReportDefinitionsSuccess { Aws::CostandUsageReportService::CostandUsageReportServiceClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/directconnect/DirectConnectSmokeTests.cpp b/generated/smoke-tests/directconnect/DirectConnectSmokeTests.cpp index 530f12560a4e..11a94e05ed3f 100644 --- a/generated/smoke-tests/directconnect/DirectConnectSmokeTests.cpp +++ b/generated/smoke-tests/directconnect/DirectConnectSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(DirectConnectSmokeTestSuite, DescribeConnectionsSuccess ) { Aws::DirectConnect::DirectConnectClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -48,8 +46,6 @@ TEST_F(DirectConnectSmokeTestSuite, DescribeConnectionsFailure ) { Aws::DirectConnect::DirectConnectClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/directory-service-data/DirectoryServiceDataSmokeTests.cpp b/generated/smoke-tests/directory-service-data/DirectoryServiceDataSmokeTests.cpp index da1d6e0cb6fc..25778172925b 100644 --- a/generated/smoke-tests/directory-service-data/DirectoryServiceDataSmokeTests.cpp +++ b/generated/smoke-tests/directory-service-data/DirectoryServiceDataSmokeTests.cpp @@ -36,8 +36,6 @@ TEST_F(DirectoryServiceDataSmokeTestSuite, DescribeGroupFailure ) { Aws::DirectoryServiceData::DirectoryServiceDataClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -51,8 +49,6 @@ TEST_F(DirectoryServiceDataSmokeTestSuite, DescribeUserFailure ) { Aws::DirectoryServiceData::DirectoryServiceDataClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/discovery/ApplicationDiscoveryServiceSmokeTests.cpp b/generated/smoke-tests/discovery/ApplicationDiscoveryServiceSmokeTests.cpp index 09cc97870c3e..fe9aa5ab99e5 100644 --- a/generated/smoke-tests/discovery/ApplicationDiscoveryServiceSmokeTests.cpp +++ b/generated/smoke-tests/discovery/ApplicationDiscoveryServiceSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(ApplicationDiscoveryServiceSmokeTestSuite, DescribeAgentsSuccess ) { Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/dms/DatabaseMigrationServiceSmokeTests.cpp b/generated/smoke-tests/dms/DatabaseMigrationServiceSmokeTests.cpp index c47b3207686e..d8c0725af8e9 100644 --- a/generated/smoke-tests/dms/DatabaseMigrationServiceSmokeTests.cpp +++ b/generated/smoke-tests/dms/DatabaseMigrationServiceSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(DatabaseMigrationServiceSmokeTestSuite, DescribeEndpointsSuccess ) { Aws::DatabaseMigrationService::DatabaseMigrationServiceClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/docdb/DocDBSmokeTests.cpp b/generated/smoke-tests/docdb/DocDBSmokeTests.cpp index 85ea90eb8eb5..e2dde246a941 100644 --- a/generated/smoke-tests/docdb/DocDBSmokeTests.cpp +++ b/generated/smoke-tests/docdb/DocDBSmokeTests.cpp @@ -36,8 +36,6 @@ TEST_F(DocDBSmokeTestSuite, DescribeDBEngineVersionsSuccess ) { Aws::DocDB::DocDBClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(DocDBSmokeTestSuite, DescribeDBInstancesFailure ) { Aws::DocDB::DocDBClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/ds/DirectoryServiceSmokeTests.cpp b/generated/smoke-tests/ds/DirectoryServiceSmokeTests.cpp index 55da72512d72..64fcbe672bc4 100644 --- a/generated/smoke-tests/ds/DirectoryServiceSmokeTests.cpp +++ b/generated/smoke-tests/ds/DirectoryServiceSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(DirectoryServiceSmokeTestSuite, DescribeDirectoriesSuccess ) { Aws::DirectoryService::DirectoryServiceClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/dynamodb/DynamoDBSmokeTests.cpp b/generated/smoke-tests/dynamodb/DynamoDBSmokeTests.cpp index 237298ad0b28..456c4f1c8de3 100644 --- a/generated/smoke-tests/dynamodb/DynamoDBSmokeTests.cpp +++ b/generated/smoke-tests/dynamodb/DynamoDBSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(DynamoDBSmokeTestSuite, ListTablesSuccess ) { Aws::DynamoDB::DynamoDBClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/ec2/EC2SmokeTests.cpp b/generated/smoke-tests/ec2/EC2SmokeTests.cpp index f85118e6e780..7ad97c39b3a9 100644 --- a/generated/smoke-tests/ec2/EC2SmokeTests.cpp +++ b/generated/smoke-tests/ec2/EC2SmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(EC2SmokeTestSuite, DescribeInstancesFailure ) { Aws::EC2::EC2ClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //Prepare test data auto GetdescribeinstancesElemLvl0Idx0 = [&]() -> Aws::Vector @@ -58,8 +56,6 @@ TEST_F(EC2SmokeTestSuite, DescribeRegionsSuccess ) { Aws::EC2::EC2ClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/ecr/ECRSmokeTests.cpp b/generated/smoke-tests/ecr/ECRSmokeTests.cpp index 57c20ff39543..b33603b8c54a 100644 --- a/generated/smoke-tests/ecr/ECRSmokeTests.cpp +++ b/generated/smoke-tests/ecr/ECRSmokeTests.cpp @@ -36,8 +36,6 @@ TEST_F(ECRSmokeTestSuite, DescribeRepositoriesSuccess ) { Aws::ECR::ECRClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(ECRSmokeTestSuite, ListImagesFailure ) { Aws::ECR::ECRClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/ecs/ECSSmokeTests.cpp b/generated/smoke-tests/ecs/ECSSmokeTests.cpp index 54b8003e214f..0b2640c78919 100644 --- a/generated/smoke-tests/ecs/ECSSmokeTests.cpp +++ b/generated/smoke-tests/ecs/ECSSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(ECSSmokeTestSuite, ListClustersSuccess ) { Aws::ECS::ECSClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/elasticache/ElastiCacheSmokeTests.cpp b/generated/smoke-tests/elasticache/ElastiCacheSmokeTests.cpp index d1537d4e6028..f28140dffcb2 100644 --- a/generated/smoke-tests/elasticache/ElastiCacheSmokeTests.cpp +++ b/generated/smoke-tests/elasticache/ElastiCacheSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(ElastiCacheSmokeTestSuite, DescribeEventsSuccess ) { Aws::ElastiCache::ElastiCacheClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/elasticfilesystem/EFSSmokeTests.cpp b/generated/smoke-tests/elasticfilesystem/EFSSmokeTests.cpp index 94f06de3e6e9..2925eea2bfc7 100644 --- a/generated/smoke-tests/elasticfilesystem/EFSSmokeTests.cpp +++ b/generated/smoke-tests/elasticfilesystem/EFSSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(EFSSmokeTestSuite, DescribeFileSystemsSuccess ) { Aws::EFS::EFSClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/elasticloadbalancing/ElasticLoadBalancingSmokeTests.cpp b/generated/smoke-tests/elasticloadbalancing/ElasticLoadBalancingSmokeTests.cpp index 53b216509bb7..ab394790064f 100644 --- a/generated/smoke-tests/elasticloadbalancing/ElasticLoadBalancingSmokeTests.cpp +++ b/generated/smoke-tests/elasticloadbalancing/ElasticLoadBalancingSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(ElasticLoadBalancingSmokeTestSuite, DescribeLoadBalancersSuccess ) { Aws::ElasticLoadBalancing::ElasticLoadBalancingClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -48,8 +46,6 @@ TEST_F(ElasticLoadBalancingSmokeTestSuite, DescribeLoadBalancersFailure ) { Aws::ElasticLoadBalancing::ElasticLoadBalancingClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //Prepare test data auto GetdescribeloadbalancersElemLvl0Idx0 = [&]() -> Aws::Vector diff --git a/generated/smoke-tests/elasticmapreduce/EMRSmokeTests.cpp b/generated/smoke-tests/elasticmapreduce/EMRSmokeTests.cpp index 460bfb115603..a531651fbdfa 100644 --- a/generated/smoke-tests/elasticmapreduce/EMRSmokeTests.cpp +++ b/generated/smoke-tests/elasticmapreduce/EMRSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(EMRSmokeTestSuite, DescribeClusterFailure ) { Aws::EMR::EMRClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(EMRSmokeTestSuite, ListClustersSuccess ) { Aws::EMR::EMRClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/email/SESSmokeTests.cpp b/generated/smoke-tests/email/SESSmokeTests.cpp index e2c54a224b52..45c4eb9b128f 100644 --- a/generated/smoke-tests/email/SESSmokeTests.cpp +++ b/generated/smoke-tests/email/SESSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(SESSmokeTestSuite, ListIdentitiesSuccess ) { Aws::SES::SESClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/eventbridge/EventBridgeSmokeTests.cpp b/generated/smoke-tests/eventbridge/EventBridgeSmokeTests.cpp index 40d6faf0018d..8de03a70d977 100644 --- a/generated/smoke-tests/eventbridge/EventBridgeSmokeTests.cpp +++ b/generated/smoke-tests/eventbridge/EventBridgeSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(EventBridgeSmokeTestSuite, DescribeRuleFailure ) { Aws::EventBridge::EventBridgeClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(EventBridgeSmokeTestSuite, ListRulesSuccess ) { Aws::EventBridge::EventBridgeClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/gamelift/GameLiftSmokeTests.cpp b/generated/smoke-tests/gamelift/GameLiftSmokeTests.cpp index c87b5181f5dd..b0f75d7ac17a 100644 --- a/generated/smoke-tests/gamelift/GameLiftSmokeTests.cpp +++ b/generated/smoke-tests/gamelift/GameLiftSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(GameLiftSmokeTestSuite, ListBuildsSuccess ) { Aws::GameLift::GameLiftClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/gameliftstreams/GameLiftStreamsSmokeTests.cpp b/generated/smoke-tests/gameliftstreams/GameLiftStreamsSmokeTests.cpp index a04ac1e40496..ed8395246466 100644 --- a/generated/smoke-tests/gameliftstreams/GameLiftStreamsSmokeTests.cpp +++ b/generated/smoke-tests/gameliftstreams/GameLiftStreamsSmokeTests.cpp @@ -38,8 +38,6 @@ TEST_F(GameLiftStreamsSmokeTestSuite, GetStreamSession ) { Aws::GameLiftStreams::GameLiftStreamsClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -53,8 +51,6 @@ TEST_F(GameLiftStreamsSmokeTestSuite, ListStreamSessions ) { Aws::GameLiftStreams::GameLiftStreamsClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -67,8 +63,6 @@ TEST_F(GameLiftStreamsSmokeTestSuite, ListStreamSessionsByAccount ) { Aws::GameLiftStreams::GameLiftStreamsClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -80,8 +74,6 @@ TEST_F(GameLiftStreamsSmokeTestSuite, ListTagsForResource ) { Aws::GameLiftStreams::GameLiftStreamsClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/glue/GlueSmokeTests.cpp b/generated/smoke-tests/glue/GlueSmokeTests.cpp index d90f99cb45ca..74ab050cc310 100644 --- a/generated/smoke-tests/glue/GlueSmokeTests.cpp +++ b/generated/smoke-tests/glue/GlueSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(GlueSmokeTestSuite, GetCatalogImportStatusSuccess ) { Aws::Glue::GlueClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/iam/IAMSmokeTests.cpp b/generated/smoke-tests/iam/IAMSmokeTests.cpp index 13ec3352d23d..f23c0439f1fc 100644 --- a/generated/smoke-tests/iam/IAMSmokeTests.cpp +++ b/generated/smoke-tests/iam/IAMSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(IAMSmokeTestSuite, GetUserFailure ) { Aws::IAM::IAMClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(IAMSmokeTestSuite, ListUsersSuccess ) { Aws::IAM::IAMClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/invoicing/InvoicingSmokeTests.cpp b/generated/smoke-tests/invoicing/InvoicingSmokeTests.cpp index 12a81862de9a..f0a01dbb024e 100644 --- a/generated/smoke-tests/invoicing/InvoicingSmokeTests.cpp +++ b/generated/smoke-tests/invoicing/InvoicingSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(InvoicingSmokeTestSuite, ListInvoiceUnitsSuccess ) { Aws::Invoicing::InvoicingClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp b/generated/smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp index 204a9c0fcdc3..312c099b12aa 100644 --- a/generated/smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp +++ b/generated/smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(IoTDataPlaneSmokeTestSuite, GetThingShadowFailure ) { Aws::IoTDataPlane::IoTDataPlaneClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/keyspacesstreams/KeyspacesStreamsSmokeTests.cpp b/generated/smoke-tests/keyspacesstreams/KeyspacesStreamsSmokeTests.cpp index d259ef095f59..b37296550e44 100644 --- a/generated/smoke-tests/keyspacesstreams/KeyspacesStreamsSmokeTests.cpp +++ b/generated/smoke-tests/keyspacesstreams/KeyspacesStreamsSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(KeyspacesStreamsSmokeTestSuite, ListStreamsSuccess ) { Aws::KeyspacesStreams::KeyspacesStreamsClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/kinesis/KinesisSmokeTests.cpp b/generated/smoke-tests/kinesis/KinesisSmokeTests.cpp index 5d63c7e2f6a1..c5e7dd1a4b12 100644 --- a/generated/smoke-tests/kinesis/KinesisSmokeTests.cpp +++ b/generated/smoke-tests/kinesis/KinesisSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(KinesisSmokeTestSuite, DescribeStreamFailure ) { Aws::Kinesis::KinesisClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(KinesisSmokeTestSuite, ListStreamsSuccess ) { Aws::Kinesis::KinesisClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/lightsail/LightsailSmokeTests.cpp b/generated/smoke-tests/lightsail/LightsailSmokeTests.cpp index 17326d2eae24..204ad970fec1 100644 --- a/generated/smoke-tests/lightsail/LightsailSmokeTests.cpp +++ b/generated/smoke-tests/lightsail/LightsailSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(LightsailSmokeTestSuite, GetActiveNamesSuccess ) { Aws::Lightsail::LightsailClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/logs/CloudWatchLogsSmokeTests.cpp b/generated/smoke-tests/logs/CloudWatchLogsSmokeTests.cpp index ca9ceaa94d3f..7daffc837cba 100644 --- a/generated/smoke-tests/logs/CloudWatchLogsSmokeTests.cpp +++ b/generated/smoke-tests/logs/CloudWatchLogsSmokeTests.cpp @@ -36,8 +36,6 @@ TEST_F(CloudWatchLogsSmokeTestSuite, DescribeLogGroupsSuccess ) { Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(CloudWatchLogsSmokeTestSuite, GetLogEventsFailure ) { Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/monitoring/CloudWatchSmokeTests.cpp b/generated/smoke-tests/monitoring/CloudWatchSmokeTests.cpp index 17b864199c8c..85842fd81ef6 100644 --- a/generated/smoke-tests/monitoring/CloudWatchSmokeTests.cpp +++ b/generated/smoke-tests/monitoring/CloudWatchSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(CloudWatchSmokeTestSuite, ListMetricsSuccess ) { Aws::CloudWatch::CloudWatchClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/neptune/NeptuneSmokeTests.cpp b/generated/smoke-tests/neptune/NeptuneSmokeTests.cpp index 3b8cea223fc0..e13920b77714 100644 --- a/generated/smoke-tests/neptune/NeptuneSmokeTests.cpp +++ b/generated/smoke-tests/neptune/NeptuneSmokeTests.cpp @@ -36,8 +36,6 @@ TEST_F(NeptuneSmokeTestSuite, DescribeDBEngineVersionsSuccess ) { Aws::Neptune::NeptuneClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(NeptuneSmokeTestSuite, DescribeDBInstancesFailure ) { Aws::Neptune::NeptuneClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/pinpoint/PinpointSmokeTests.cpp b/generated/smoke-tests/pinpoint/PinpointSmokeTests.cpp index 2af1749a4b86..e01e4cbc55fe 100644 --- a/generated/smoke-tests/pinpoint/PinpointSmokeTests.cpp +++ b/generated/smoke-tests/pinpoint/PinpointSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(PinpointSmokeTestSuite, GetAppFailure ) { Aws::Pinpoint::PinpointClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(PinpointSmokeTestSuite, GetAppsSuccess ) { Aws::Pinpoint::PinpointClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/polly/PollySmokeTests.cpp b/generated/smoke-tests/polly/PollySmokeTests.cpp index f672db49bc75..eca21ac17edc 100644 --- a/generated/smoke-tests/polly/PollySmokeTests.cpp +++ b/generated/smoke-tests/polly/PollySmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(PollySmokeTestSuite, DescribeVoicesSuccess ) { Aws::Polly::PollyClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/rds/RDSSmokeTests.cpp b/generated/smoke-tests/rds/RDSSmokeTests.cpp index 57e2b54629df..04b74cb7f68d 100644 --- a/generated/smoke-tests/rds/RDSSmokeTests.cpp +++ b/generated/smoke-tests/rds/RDSSmokeTests.cpp @@ -36,8 +36,6 @@ TEST_F(RDSSmokeTestSuite, DescribeDBEngineVersionsSuccess ) { Aws::RDS::RDSClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(RDSSmokeTestSuite, DescribeDBInstancesFailure ) { Aws::RDS::RDSClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/rekognition/RekognitionSmokeTests.cpp b/generated/smoke-tests/rekognition/RekognitionSmokeTests.cpp index cc7b7b75365c..4690dd81ccd3 100644 --- a/generated/smoke-tests/rekognition/RekognitionSmokeTests.cpp +++ b/generated/smoke-tests/rekognition/RekognitionSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(RekognitionSmokeTestSuite, ListCollectionsSuccess ) { Aws::Rekognition::RekognitionClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/route53/Route53SmokeTests.cpp b/generated/smoke-tests/route53/Route53SmokeTests.cpp index 69632a664a24..1ad0bc547089 100644 --- a/generated/smoke-tests/route53/Route53SmokeTests.cpp +++ b/generated/smoke-tests/route53/Route53SmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(Route53SmokeTestSuite, GetHostedZoneFailure ) { Aws::Route53::Route53ClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(Route53SmokeTestSuite, ListHostedZonesSuccess ) { Aws::Route53::Route53ClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/route53domains/Route53DomainsSmokeTests.cpp b/generated/smoke-tests/route53domains/Route53DomainsSmokeTests.cpp index 2ead7b926eb3..816e9ce71672 100644 --- a/generated/smoke-tests/route53domains/Route53DomainsSmokeTests.cpp +++ b/generated/smoke-tests/route53domains/Route53DomainsSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(Route53DomainsSmokeTestSuite, GetDomainDetailFailure ) { Aws::Route53Domains::Route53DomainsClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(Route53DomainsSmokeTestSuite, ListDomainsSuccess ) { Aws::Route53Domains::Route53DomainsClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/route53resolver/Route53ResolverSmokeTests.cpp b/generated/smoke-tests/route53resolver/Route53ResolverSmokeTests.cpp index 3afdc442e6e2..de37cff35a25 100644 --- a/generated/smoke-tests/route53resolver/Route53ResolverSmokeTests.cpp +++ b/generated/smoke-tests/route53resolver/Route53ResolverSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(Route53ResolverSmokeTestSuite, ListResolverEndpointsSuccess ) { Aws::Route53Resolver::Route53ResolverClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/secretsmanager/SecretsManagerSmokeTests.cpp b/generated/smoke-tests/secretsmanager/SecretsManagerSmokeTests.cpp index de78eef0af6b..f429c58150d1 100644 --- a/generated/smoke-tests/secretsmanager/SecretsManagerSmokeTests.cpp +++ b/generated/smoke-tests/secretsmanager/SecretsManagerSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(SecretsManagerSmokeTestSuite, DescribeSecretFailure ) { Aws::SecretsManager::SecretsManagerClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(SecretsManagerSmokeTestSuite, ListSecretsSuccess ) { Aws::SecretsManager::SecretsManagerClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/shield/ShieldSmokeTests.cpp b/generated/smoke-tests/shield/ShieldSmokeTests.cpp index 5a307e0f35ed..72fc7ad796b0 100644 --- a/generated/smoke-tests/shield/ShieldSmokeTests.cpp +++ b/generated/smoke-tests/shield/ShieldSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(ShieldSmokeTestSuite, ListAttacksSuccess ) { Aws::Shield::ShieldClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/snowball/SnowballSmokeTests.cpp b/generated/smoke-tests/snowball/SnowballSmokeTests.cpp index 8c39d2a7eb2e..93169ebdcb9c 100644 --- a/generated/smoke-tests/snowball/SnowballSmokeTests.cpp +++ b/generated/smoke-tests/snowball/SnowballSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(SnowballSmokeTestSuite, DescribeAddressesSuccess ) { Aws::Snowball::SnowballClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/sns/SNSSmokeTests.cpp b/generated/smoke-tests/sns/SNSSmokeTests.cpp index b632f8417a09..6d46ae776dd5 100644 --- a/generated/smoke-tests/sns/SNSSmokeTests.cpp +++ b/generated/smoke-tests/sns/SNSSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(SNSSmokeTestSuite, ListTopicsSuccess ) { Aws::SNS::SNSClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/socialmessaging/SocialMessagingSmokeTests.cpp b/generated/smoke-tests/socialmessaging/SocialMessagingSmokeTests.cpp index ee7abf6f3542..ffdd1b1fc758 100644 --- a/generated/smoke-tests/socialmessaging/SocialMessagingSmokeTests.cpp +++ b/generated/smoke-tests/socialmessaging/SocialMessagingSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(SocialMessagingSmokeTestSuite, ListTagsFailure ) { Aws::SocialMessaging::SocialMessagingClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/ssm-quicksetup/SSMQuickSetupSmokeTests.cpp b/generated/smoke-tests/ssm-quicksetup/SSMQuickSetupSmokeTests.cpp index abe94cc9496c..f30481a37d8a 100644 --- a/generated/smoke-tests/ssm-quicksetup/SSMQuickSetupSmokeTests.cpp +++ b/generated/smoke-tests/ssm-quicksetup/SSMQuickSetupSmokeTests.cpp @@ -35,8 +35,6 @@ TEST_F(SSMQuickSetupSmokeTestSuite, GetConfigurationManagerFailure ) { Aws::SSMQuickSetup::SSMQuickSetupClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params @@ -49,8 +47,6 @@ TEST_F(SSMQuickSetupSmokeTestSuite, ListConfigurationManagersSuccess ) { Aws::SSMQuickSetup::SSMQuickSetupClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/ssm/SSMSmokeTests.cpp b/generated/smoke-tests/ssm/SSMSmokeTests.cpp index dc209f96a933..1e38d1ae7384 100644 --- a/generated/smoke-tests/ssm/SSMSmokeTests.cpp +++ b/generated/smoke-tests/ssm/SSMSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(SSMSmokeTestSuite, ListDocumentsSuccess ) { Aws::SSM::SSMClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/states/SFNSmokeTests.cpp b/generated/smoke-tests/states/SFNSmokeTests.cpp index 4dd81a2cc0e9..a82af9b395ee 100644 --- a/generated/smoke-tests/states/SFNSmokeTests.cpp +++ b/generated/smoke-tests/states/SFNSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(SFNSmokeTestSuite, ListActivitiesSuccess ) { Aws::SFN::SFNClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/swf/SWFSmokeTests.cpp b/generated/smoke-tests/swf/SWFSmokeTests.cpp index 40d57c9a9e40..e11b23ad839c 100644 --- a/generated/smoke-tests/swf/SWFSmokeTests.cpp +++ b/generated/smoke-tests/swf/SWFSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(SWFSmokeTestSuite, ListDomainsSuccess ) { Aws::SWF::SWFClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/waf-regional/WAFRegionalSmokeTests.cpp b/generated/smoke-tests/waf-regional/WAFRegionalSmokeTests.cpp index 7b704552a92d..1892774fb11f 100644 --- a/generated/smoke-tests/waf-regional/WAFRegionalSmokeTests.cpp +++ b/generated/smoke-tests/waf-regional/WAFRegionalSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(WAFRegionalSmokeTestSuite, ListRulesSuccess ) { Aws::WAFRegional::WAFRegionalClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/waf/WAFSmokeTests.cpp b/generated/smoke-tests/waf/WAFSmokeTests.cpp index 9f3650620830..0c5ec660c441 100644 --- a/generated/smoke-tests/waf/WAFSmokeTests.cpp +++ b/generated/smoke-tests/waf/WAFSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(WAFSmokeTestSuite, ListRulesSuccess ) { Aws::WAF::WAFClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp b/generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp index ad19d2324589..d9fbaf48be1e 100644 --- a/generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp +++ b/generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(WAFV2SmokeTestSuite, ListWebACLsSuccess ) { Aws::WAFV2::WAFV2ClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp b/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp index 5881c9a6297f..495e410724c2 100644 --- a/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp +++ b/generated/smoke-tests/workspaces-instances/WorkspacesInstancesSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(WorkspacesInstancesSmokeTestSuite, ListRegionsSuccess ) { Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration clientConfiguration; clientConfiguration.region = "us-east-1"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/smoke-tests/workspaces/WorkSpacesSmokeTests.cpp b/generated/smoke-tests/workspaces/WorkSpacesSmokeTests.cpp index aee0ec7c7da6..5592fbc4dc11 100644 --- a/generated/smoke-tests/workspaces/WorkSpacesSmokeTests.cpp +++ b/generated/smoke-tests/workspaces/WorkSpacesSmokeTests.cpp @@ -34,8 +34,6 @@ TEST_F(WorkSpacesSmokeTestSuite, DescribeWorkspacesSuccess ) { Aws::WorkSpaces::WorkSpacesClientConfiguration clientConfiguration; clientConfiguration.region = "us-west-2"; - clientConfiguration.useFIPS = false; - clientConfiguration.useDualStack = false; auto clientSp = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration); //populate input params diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubClient.h b/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubClient.h index 35586454ffe4..520887509e7d 100644 --- a/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubClient.h +++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubClient.h @@ -60,27 +60,6 @@ class AWS_MIGRATIONHUB_API MigrationHubClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::MigrationHub::MigrationHubClientConfiguration& clientConfiguration = Aws::MigrationHub::MigrationHubClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MigrationHubClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MigrationHubClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MigrationHubClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MigrationHubClient(); /** @@ -752,7 +731,6 @@ class AWS_MIGRATIONHUB_API MigrationHubClient : public Aws::Client::AWSJsonClien return SubmitAsync(&MigrationHubClient::PutResourceAttributes, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubClientConfiguration.h b/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubClientConfiguration.h new file mode 100644 index 000000000000..3bc388106a78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MigrationHub { +struct AWS_MIGRATIONHUB_API MigrationHubClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MigrationHubClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MigrationHubClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMigrationHubSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MIGRATIONHUB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MigrationHubClientConfiguration& config); +} // namespace MigrationHub +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubEndpointProvider.h b/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubEndpointProvider.h index a1f264b1e158..2dd52d39841d 100644 --- a/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace MigrationHub { namespace Endpoint { +using MigrationHubClientConfiguration = Aws::MigrationHub::MigrationHubClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MigrationHubClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MigrationHubClientConfiguration = Aws::Client::GenericClientConfiguration; -using MigrationHubBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MIGRATIONHUB_API MigrationHubBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MigrationHubBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MigrationHubClientConfiguration& config); + virtual void SetFromClientConfiguration(const MigrationHubClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MigrationHubClientConfiguration& config); +}; /** * The type for the MigrationHub Client Endpoint Provider. @@ -34,6 +43,24 @@ using MigrationHubEndpointProviderBase = using MigrationHubDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MigrationHub + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MIGRATIONHUB_EXTERN template class AWS_MIGRATIONHUB_API Aws::Endpoint::EndpointProviderBase< + MigrationHub::Endpoint::MigrationHubClientConfiguration, MigrationHub::Endpoint::MigrationHubBuiltInParameters, + MigrationHub::Endpoint::MigrationHubClientContextParameters>; + +AWS_MIGRATIONHUB_EXTERN template class AWS_MIGRATIONHUB_API Aws::Endpoint::BDDEndpointProvider< + MigrationHub::Endpoint::MigrationHubClientConfiguration, MigrationHub::Endpoint::MigrationHubBuiltInParameters, + MigrationHub::Endpoint::MigrationHubClientContextParameters>; +} // namespace Endpoint + +namespace MigrationHub { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubServiceClientModel.h b/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubServiceClientModel.h index 0876ea3fecc0..4356ef7cbc34 100644 --- a/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubServiceClientModel.h @@ -70,7 +70,6 @@ class RetryStrategy; } // namespace Client namespace MigrationHub { -using MigrationHubClientConfiguration = Aws::Client::GenericClientConfiguration; using MigrationHubEndpointProviderBase = Aws::MigrationHub::Endpoint::MigrationHubEndpointProviderBase; using MigrationHubEndpointProvider = Aws::MigrationHub::Endpoint::MigrationHubEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubClient.cpp b/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubClient.cpp index 0dcf2f1fc75e..3ea2e9588c80 100644 --- a/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubClient.cpp +++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubClient.cpp @@ -99,41 +99,6 @@ MigrationHubClient::MigrationHubClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubClient::MigrationHubClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubClient::MigrationHubClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MigrationHubClient::~MigrationHubClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MigrationHubClient::accessEndpointProvider() { return m_endpointProvider; } @@ -151,12 +116,7 @@ void MigrationHubClient::init(const MigrationHub::MigrationHubClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mgh"); -} - -void MigrationHubClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MigrationHubClient::InvokeOperationOutcome MigrationHubClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubClientConfiguration.cpp b/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubClientConfiguration.cpp new file mode 100644 index 000000000000..0811efec5973 --- /dev/null +++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MigrationHub { + +void MigrationHubClientConfiguration::LoadMigrationHubSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MigrationHubClientConfiguration::MigrationHubClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMigrationHubSpecificConfig(this->profileName); +} + +MigrationHubClientConfiguration::MigrationHubClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMigrationHubSpecificConfig(Aws::String(inputProfileName)); +} + +MigrationHubClientConfiguration::MigrationHubClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMigrationHubSpecificConfig(this->profileName); +} + +MigrationHubClientConfiguration::MigrationHubClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMigrationHubSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MigrationHubClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MigrationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubEndpointProvider.cpp b/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubEndpointProvider.cpp index 8442ed2dd46c..1b6d4dd9bc4e 100644 --- a/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MIGRATIONHUB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MigrationHub { namespace Endpoint { MigrationHubEndpointProvider::MigrationHubEndpointProvider() : MigrationHubDefaultEpProviderBase(Aws::MigrationHub::MigrationHubEndpointRules::GetRulesBlob(), Aws::MigrationHub::MigrationHubEndpointRules::RulesBlobSize) {} +void MigrationHubBuiltInParameters::SetFromClientConfiguration(const MigrationHubClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MigrationHubBuiltInParameters::SetFromClientConfiguration(const MigrationHubClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MigrationHubBuiltInParameters::SetServiceSpecificParameters(const MigrationHubClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MigrationHub } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h index 30d9520fc522..01d9c8d3afff 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClient.h @@ -86,27 +86,6 @@ class AWS_ACCESSANALYZER_API AccessAnalyzerClient : public Aws::Client::AWSJsonC const Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration& clientConfiguration = Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AccessAnalyzerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AccessAnalyzerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AccessAnalyzerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AccessAnalyzerClient(); /** @@ -1209,7 +1188,6 @@ class AWS_ACCESSANALYZER_API AccessAnalyzerClient : public Aws::Client::AWSJsonC return SubmitAsync(&AccessAnalyzerClient::ValidatePolicy, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClientConfiguration.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClientConfiguration.h new file mode 100644 index 000000000000..3e9d4bf3d65c --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AccessAnalyzer { +struct AWS_ACCESSANALYZER_API AccessAnalyzerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AccessAnalyzerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AccessAnalyzerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AccessAnalyzerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AccessAnalyzerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAccessAnalyzerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ACCESSANALYZER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AccessAnalyzerClientConfiguration& config); +} // namespace AccessAnalyzer +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerEndpointProvider.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerEndpointProvider.h index 21b1b1607fa4..65ead9a5b5ac 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AccessAnalyzer { namespace Endpoint { +using AccessAnalyzerClientConfiguration = Aws::AccessAnalyzer::AccessAnalyzerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AccessAnalyzerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AccessAnalyzerClientConfiguration = Aws::Client::GenericClientConfiguration; -using AccessAnalyzerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ACCESSANALYZER_API AccessAnalyzerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AccessAnalyzerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AccessAnalyzerClientConfiguration& config); + virtual void SetFromClientConfiguration(const AccessAnalyzerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AccessAnalyzerClientConfiguration& config); +}; /** * The type for the AccessAnalyzer Client Endpoint Provider. @@ -34,6 +43,24 @@ using AccessAnalyzerEndpointProviderBase = using AccessAnalyzerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AccessAnalyzer + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ACCESSANALYZER_EXTERN template class AWS_ACCESSANALYZER_API Aws::Endpoint::EndpointProviderBase< + AccessAnalyzer::Endpoint::AccessAnalyzerClientConfiguration, AccessAnalyzer::Endpoint::AccessAnalyzerBuiltInParameters, + AccessAnalyzer::Endpoint::AccessAnalyzerClientContextParameters>; + +AWS_ACCESSANALYZER_EXTERN template class AWS_ACCESSANALYZER_API Aws::Endpoint::BDDEndpointProvider< + AccessAnalyzer::Endpoint::AccessAnalyzerClientConfiguration, AccessAnalyzer::Endpoint::AccessAnalyzerBuiltInParameters, + AccessAnalyzer::Endpoint::AccessAnalyzerClientContextParameters>; +} // namespace Endpoint + +namespace AccessAnalyzer { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h index c8d31ede97a0..317538519a46 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerServiceClientModel.h @@ -79,7 +79,6 @@ class RetryStrategy; } // namespace Client namespace AccessAnalyzer { -using AccessAnalyzerClientConfiguration = Aws::Client::GenericClientConfiguration; using AccessAnalyzerEndpointProviderBase = Aws::AccessAnalyzer::Endpoint::AccessAnalyzerEndpointProviderBase; using AccessAnalyzerEndpointProvider = Aws::AccessAnalyzer::Endpoint::AccessAnalyzerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClient.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClient.cpp index 80fb772edfac..0c361c4bccf9 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClient.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClient.cpp @@ -117,41 +117,6 @@ AccessAnalyzerClient::AccessAnalyzerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AccessAnalyzerClient::AccessAnalyzerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AccessAnalyzerClient::AccessAnalyzerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AccessAnalyzerClient::~AccessAnalyzerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AccessAnalyzerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -169,12 +134,7 @@ void AccessAnalyzerClient::init(const AccessAnalyzer::AccessAnalyzerClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "access-analyzer"); -} - -void AccessAnalyzerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AccessAnalyzerClient::InvokeOperationOutcome AccessAnalyzerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClientConfiguration.cpp new file mode 100644 index 000000000000..decab12073e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AccessAnalyzer { + +void AccessAnalyzerClientConfiguration::LoadAccessAnalyzerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AccessAnalyzerClientConfiguration::AccessAnalyzerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAccessAnalyzerSpecificConfig(this->profileName); +} + +AccessAnalyzerClientConfiguration::AccessAnalyzerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAccessAnalyzerSpecificConfig(Aws::String(inputProfileName)); +} + +AccessAnalyzerClientConfiguration::AccessAnalyzerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAccessAnalyzerSpecificConfig(this->profileName); +} + +AccessAnalyzerClientConfiguration::AccessAnalyzerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAccessAnalyzerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AccessAnalyzerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AccessAnalyzer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerEndpointProvider.cpp index e5de7ac78338..dd04e181a5e5 100644 --- a/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ACCESSANALYZER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AccessAnalyzer { namespace Endpoint { AccessAnalyzerEndpointProvider::AccessAnalyzerEndpointProvider() : AccessAnalyzerDefaultEpProviderBase(Aws::AccessAnalyzer::AccessAnalyzerEndpointRules::GetRulesBlob(), Aws::AccessAnalyzer::AccessAnalyzerEndpointRules::RulesBlobSize) {} +void AccessAnalyzerBuiltInParameters::SetFromClientConfiguration(const AccessAnalyzerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AccessAnalyzerBuiltInParameters::SetFromClientConfiguration(const AccessAnalyzerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AccessAnalyzerBuiltInParameters::SetServiceSpecificParameters(const AccessAnalyzerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AccessAnalyzer } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessClient.h b/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessClient.h index ea65da2e4cff..e34e5e947ff7 100644 --- a/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessClient.h +++ b/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessClient.h @@ -58,27 +58,6 @@ class AWS_ACCOUNTACCESS_API AccountAccessClient : public Aws::Client::AWSJsonCli const Aws::AccountAccess::AccountAccessClientConfiguration& clientConfiguration = Aws::AccountAccess::AccountAccessClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AccountAccessClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AccountAccessClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AccountAccessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AccountAccessClient(); /** @@ -385,7 +364,6 @@ class AWS_ACCOUNTACCESS_API AccountAccessClient : public Aws::Client::AWSJsonCli return SubmitAsync(&AccountAccessClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessClientConfiguration.h b/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessClientConfiguration.h new file mode 100644 index 000000000000..63e71c07b65e --- /dev/null +++ b/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AccountAccess { +struct AWS_ACCOUNTACCESS_API AccountAccessClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AccountAccessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AccountAccessClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AccountAccessClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AccountAccessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadAccountAccessSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ACCOUNTACCESS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AccountAccessClientConfiguration& config); +} // namespace AccountAccess +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessEndpointProvider.h b/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessEndpointProvider.h index 10096a125926..692a5204e793 100644 --- a/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AccountAccess { namespace Endpoint { +using AccountAccessClientConfiguration = Aws::AccountAccess::AccountAccessClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AccountAccessClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AccountAccessClientConfiguration = Aws::Client::GenericClientConfiguration; -using AccountAccessBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ACCOUNTACCESS_API AccountAccessBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AccountAccessBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AccountAccessClientConfiguration& config); + virtual void SetFromClientConfiguration(const AccountAccessClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AccountAccessClientConfiguration& config); +}; /** * The type for the AccountAccess Client Endpoint Provider. @@ -34,6 +43,24 @@ using AccountAccessEndpointProviderBase = using AccountAccessDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AccountAccess + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ACCOUNTACCESS_EXTERN template class AWS_ACCOUNTACCESS_API Aws::Endpoint::EndpointProviderBase< + AccountAccess::Endpoint::AccountAccessClientConfiguration, AccountAccess::Endpoint::AccountAccessBuiltInParameters, + AccountAccess::Endpoint::AccountAccessClientContextParameters>; + +AWS_ACCOUNTACCESS_EXTERN template class AWS_ACCOUNTACCESS_API Aws::Endpoint::BDDEndpointProvider< + AccountAccess::Endpoint::AccountAccessClientConfiguration, AccountAccess::Endpoint::AccountAccessBuiltInParameters, + AccountAccess::Endpoint::AccountAccessClientContextParameters>; +} // namespace Endpoint + +namespace AccountAccess { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessServiceClientModel.h b/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessServiceClientModel.h index 861ccbef2345..c7fc648019d4 100644 --- a/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessServiceClientModel.h @@ -58,7 +58,6 @@ class RetryStrategy; } // namespace Client namespace AccountAccess { -using AccountAccessClientConfiguration = Aws::Client::GenericClientConfiguration; using AccountAccessEndpointProviderBase = Aws::AccountAccess::Endpoint::AccountAccessEndpointProviderBase; using AccountAccessEndpointProvider = Aws::AccountAccess::Endpoint::AccountAccessEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-account-access/source/AccountAccessClient.cpp b/generated/src/aws-cpp-sdk-account-access/source/AccountAccessClient.cpp index 18f5cf0e866a..d10da99ca776 100644 --- a/generated/src/aws-cpp-sdk-account-access/source/AccountAccessClient.cpp +++ b/generated/src/aws-cpp-sdk-account-access/source/AccountAccessClient.cpp @@ -89,41 +89,6 @@ AccountAccessClient::AccountAccessClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AccountAccessClient::AccountAccessClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AccountAccessClient::AccountAccessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AccountAccessClient::~AccountAccessClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AccountAccessClient::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +106,7 @@ void AccountAccessClient::init(const AccountAccess::AccountAccessClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "account-access"); -} - -void AccountAccessClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AccountAccessClient::InvokeOperationOutcome AccountAccessClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-account-access/source/AccountAccessClientConfiguration.cpp b/generated/src/aws-cpp-sdk-account-access/source/AccountAccessClientConfiguration.cpp new file mode 100644 index 000000000000..c89a3dacca50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-account-access/source/AccountAccessClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AccountAccess { + +void AccountAccessClientConfiguration::LoadAccountAccessSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AccountAccessClientConfiguration::AccountAccessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAccountAccessSpecificConfig(this->profileName); +} + +AccountAccessClientConfiguration::AccountAccessClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAccountAccessSpecificConfig(Aws::String(inputProfileName)); +} + +AccountAccessClientConfiguration::AccountAccessClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAccountAccessSpecificConfig(this->profileName); +} + +AccountAccessClientConfiguration::AccountAccessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAccountAccessSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AccountAccessClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AccountAccess +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-account-access/source/AccountAccessEndpointProvider.cpp b/generated/src/aws-cpp-sdk-account-access/source/AccountAccessEndpointProvider.cpp index eb33bae23f07..e4fad63ecc3a 100644 --- a/generated/src/aws-cpp-sdk-account-access/source/AccountAccessEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-account-access/source/AccountAccessEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_ACCOUNTACCESS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AccountAccess { namespace Endpoint { AccountAccessEndpointProvider::AccountAccessEndpointProvider() : AccountAccessDefaultEpProviderBase(Aws::AccountAccess::AccountAccessEndpointRules::GetRulesBlob(), Aws::AccountAccess::AccountAccessEndpointRules::RulesBlobSize) {} +void AccountAccessBuiltInParameters::SetFromClientConfiguration(const AccountAccessClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AccountAccessBuiltInParameters::SetFromClientConfiguration(const AccountAccessClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AccountAccessBuiltInParameters::SetServiceSpecificParameters(const AccountAccessClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace AccountAccess } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-account/include/aws/account/AccountClient.h b/generated/src/aws-cpp-sdk-account/include/aws/account/AccountClient.h index 9ec3aff244c5..6c066211f32a 100644 --- a/generated/src/aws-cpp-sdk-account/include/aws/account/AccountClient.h +++ b/generated/src/aws-cpp-sdk-account/include/aws/account/AccountClient.h @@ -52,27 +52,6 @@ class AWS_ACCOUNT_API AccountClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Account::AccountClientConfiguration& clientConfiguration = Aws::Account::AccountClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AccountClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AccountClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AccountClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AccountClient(); /** @@ -633,7 +612,6 @@ class AWS_ACCOUNT_API AccountClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AccountClient::VerifyPhoneNumber, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-account/include/aws/account/AccountClientConfiguration.h b/generated/src/aws-cpp-sdk-account/include/aws/account/AccountClientConfiguration.h new file mode 100644 index 000000000000..3da014b8f98a --- /dev/null +++ b/generated/src/aws-cpp-sdk-account/include/aws/account/AccountClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Account { +struct AWS_ACCOUNT_API AccountClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AccountClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AccountClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AccountClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AccountClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAccountSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ACCOUNT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AccountClientConfiguration& config); +} // namespace Account +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-account/include/aws/account/AccountEndpointProvider.h b/generated/src/aws-cpp-sdk-account/include/aws/account/AccountEndpointProvider.h index 5e1e2140939e..e4e3d63f2dd9 100644 --- a/generated/src/aws-cpp-sdk-account/include/aws/account/AccountEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-account/include/aws/account/AccountEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Account { namespace Endpoint { +using AccountClientConfiguration = Aws::Account::AccountClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AccountClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AccountClientConfiguration = Aws::Client::GenericClientConfiguration; -using AccountBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ACCOUNT_API AccountBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AccountBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AccountClientConfiguration& config); + virtual void SetFromClientConfiguration(const AccountClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AccountClientConfiguration& config); +}; /** * The type for the Account Client Endpoint Provider. @@ -34,6 +43,24 @@ using AccountEndpointProviderBase = using AccountDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Account + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ACCOUNT_EXTERN template class AWS_ACCOUNT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ACCOUNT_EXTERN template class AWS_ACCOUNT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Account { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-account/include/aws/account/AccountServiceClientModel.h b/generated/src/aws-cpp-sdk-account/include/aws/account/AccountServiceClientModel.h index 48ffc8ac4916..88de8a592506 100644 --- a/generated/src/aws-cpp-sdk-account/include/aws/account/AccountServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-account/include/aws/account/AccountServiceClientModel.h @@ -65,7 +65,6 @@ class RetryStrategy; } // namespace Client namespace Account { -using AccountClientConfiguration = Aws::Client::GenericClientConfiguration; using AccountEndpointProviderBase = Aws::Account::Endpoint::AccountEndpointProviderBase; using AccountEndpointProvider = Aws::Account::Endpoint::AccountEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-account/source/AccountClient.cpp b/generated/src/aws-cpp-sdk-account/source/AccountClient.cpp index 1267c52fffb7..c9cd03c08438 100644 --- a/generated/src/aws-cpp-sdk-account/source/AccountClient.cpp +++ b/generated/src/aws-cpp-sdk-account/source/AccountClient.cpp @@ -95,41 +95,6 @@ AccountClient::AccountClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AccountClient::AccountClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AccountClient::AccountClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AccountClient::AccountClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AccountClient::~AccountClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AccountClient::accessEndpointProvider() { return m_endpointProvider; } @@ -147,12 +112,7 @@ void AccountClient::init(const Account::AccountClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "account"); -} - -void AccountClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AccountClient::InvokeOperationOutcome AccountClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-account/source/AccountClientConfiguration.cpp b/generated/src/aws-cpp-sdk-account/source/AccountClientConfiguration.cpp new file mode 100644 index 000000000000..39fb24f69f46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-account/source/AccountClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Account { + +void AccountClientConfiguration::LoadAccountSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AccountClientConfiguration::AccountClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAccountSpecificConfig(this->profileName); +} + +AccountClientConfiguration::AccountClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAccountSpecificConfig(Aws::String(inputProfileName)); +} + +AccountClientConfiguration::AccountClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAccountSpecificConfig(this->profileName); +} + +AccountClientConfiguration::AccountClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAccountSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AccountClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Account +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-account/source/AccountEndpointProvider.cpp b/generated/src/aws-cpp-sdk-account/source/AccountEndpointProvider.cpp index 00f377048595..c3fe88b365a8 100644 --- a/generated/src/aws-cpp-sdk-account/source/AccountEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-account/source/AccountEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_ACCOUNT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Account { namespace Endpoint { AccountEndpointProvider::AccountEndpointProvider() : AccountDefaultEpProviderBase(Aws::Account::AccountEndpointRules::GetRulesBlob(), Aws::Account::AccountEndpointRules::RulesBlobSize) {} +void AccountBuiltInParameters::SetFromClientConfiguration(const AccountClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AccountBuiltInParameters::SetFromClientConfiguration(const AccountClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AccountBuiltInParameters::SetServiceSpecificParameters(const AccountClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Account } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAClient.h b/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAClient.h index 3ed6433555c8..8fa916c51b40 100644 --- a/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAClient.h +++ b/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAClient.h @@ -73,27 +73,6 @@ class AWS_ACMPCA_API ACMPCAClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::ACMPCA::ACMPCAClientConfiguration& clientConfiguration = Aws::ACMPCA::ACMPCAClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ACMPCAClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ACMPCAClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ACMPCAClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ACMPCAClient(); /** @@ -1116,7 +1095,6 @@ class AWS_ACMPCA_API ACMPCAClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ACMPCAClient::UpdateCertificateAuthority, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAClientConfiguration.h b/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAClientConfiguration.h new file mode 100644 index 000000000000..df6e7deb64c7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ACMPCA { +struct AWS_ACMPCA_API ACMPCAClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ACMPCAClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ACMPCAClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ACMPCAClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ACMPCAClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadACMPCASpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ACMPCA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ACMPCAClientConfiguration& config); +} // namespace ACMPCA +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAEndpointProvider.h b/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAEndpointProvider.h index 133c940f2c2e..13acad0e2114 100644 --- a/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ACMPCA { namespace Endpoint { +using ACMPCAClientConfiguration = Aws::ACMPCA::ACMPCAClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ACMPCAClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ACMPCAClientConfiguration = Aws::Client::GenericClientConfiguration; -using ACMPCABuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ACMPCA_API ACMPCABuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ACMPCABuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ACMPCAClientConfiguration& config); + virtual void SetFromClientConfiguration(const ACMPCAClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ACMPCAClientConfiguration& config); +}; /** * The type for the ACMPCA Client Endpoint Provider. @@ -32,6 +41,24 @@ using ACMPCAEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace ACMPCA + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ACMPCA_EXTERN template class AWS_ACMPCA_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ACMPCA_EXTERN template class AWS_ACMPCA_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ACMPCA { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAServiceClientModel.h b/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAServiceClientModel.h index 8cf81bb179c8..178123becf9d 100644 --- a/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace ACMPCA { -using ACMPCAClientConfiguration = Aws::Client::GenericClientConfiguration; using ACMPCAEndpointProviderBase = Aws::ACMPCA::Endpoint::ACMPCAEndpointProviderBase; using ACMPCAEndpointProvider = Aws::ACMPCA::Endpoint::ACMPCAEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAClient.cpp b/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAClient.cpp index a3089973e2c3..5f7d1618e983 100644 --- a/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAClient.cpp +++ b/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAClient.cpp @@ -100,41 +100,6 @@ ACMPCAClient::ACMPCAClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ACMPCAClient::ACMPCAClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ACMPCAClient::ACMPCAClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ACMPCAClient::ACMPCAClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ACMPCAClient::~ACMPCAClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ACMPCAClient::accessEndpointProvider() { return m_endpointProvider; } @@ -152,12 +117,7 @@ void ACMPCAClient::init(const ACMPCA::ACMPCAClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "acm-pca"); -} - -void ACMPCAClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ACMPCAClient::InvokeOperationOutcome ACMPCAClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAClientConfiguration.cpp b/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAClientConfiguration.cpp new file mode 100644 index 000000000000..d68b7f3b776b --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ACMPCA { + +void ACMPCAClientConfiguration::LoadACMPCASpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ACMPCAClientConfiguration::ACMPCAClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadACMPCASpecificConfig(this->profileName); +} + +ACMPCAClientConfiguration::ACMPCAClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadACMPCASpecificConfig(Aws::String(inputProfileName)); +} + +ACMPCAClientConfiguration::ACMPCAClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadACMPCASpecificConfig(this->profileName); +} + +ACMPCAClientConfiguration::ACMPCAClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadACMPCASpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ACMPCAClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ACMPCA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAEndpointProvider.cpp b/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAEndpointProvider.cpp index 6e60fa9ac430..fe46910b45e5 100644 --- a/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_ACMPCA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ACMPCA { namespace Endpoint { ACMPCAEndpointProvider::ACMPCAEndpointProvider() : ACMPCADefaultEpProviderBase(Aws::ACMPCA::ACMPCAEndpointRules::GetRulesBlob(), Aws::ACMPCA::ACMPCAEndpointRules::RulesBlobSize) {} +void ACMPCABuiltInParameters::SetFromClientConfiguration(const ACMPCAClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ACMPCABuiltInParameters::SetFromClientConfiguration(const ACMPCAClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ACMPCABuiltInParameters::SetServiceSpecificParameters(const ACMPCAClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ACMPCA } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClient.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClient.h index c971b240dfc1..be7687d72740 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClient.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClient.h @@ -56,27 +56,6 @@ class AWS_ACM_API ACMClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::ACM::ACMClientConfiguration& clientConfiguration = Aws::ACM::ACMClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ACMClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ACMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ACMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ACMClient(); /** @@ -1400,7 +1379,6 @@ class AWS_ACM_API ACMClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ACMClient::UpdateCertificateOptions, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClientConfiguration.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClientConfiguration.h new file mode 100644 index 000000000000..5a77d6c0d925 --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ACM { +struct AWS_ACM_API ACMClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ACMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ACMClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ACMClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ACMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadACMSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ACM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ACMClientConfiguration& config); +} // namespace ACM +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMEndpointProvider.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMEndpointProvider.h index b7a9fcbf8eef..b499d7f3434d 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,6 +14,7 @@ namespace Aws { namespace ACM { namespace Endpoint { +using ACMClientConfiguration = Aws::ACM::ACMClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; @@ -29,8 +30,16 @@ class AWS_ACM_API ACMClientContextParameters : public Aws::Endpoint::ClientConte const ClientContextParameters::EndpointParameter& GetServiceType() const; }; -using ACMClientConfiguration = Aws::Client::GenericClientConfiguration; -using ACMBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ACM_API ACMBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ACMBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ACMClientConfiguration& config); + virtual void SetFromClientConfiguration(const ACMClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ACMClientConfiguration& config); +}; /** * The type for the ACM Client Endpoint Provider. diff --git a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMServiceClientModel.h b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMServiceClientModel.h index b21b75dcaa25..c92ee465403d 100644 --- a/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMServiceClientModel.h @@ -75,7 +75,6 @@ class RetryStrategy; } // namespace Client namespace ACM { -using ACMClientConfiguration = Aws::Client::GenericClientConfiguration; using ACMEndpointProviderBase = Aws::ACM::Endpoint::ACMEndpointProviderBase; using ACMEndpointProvider = Aws::ACM::Endpoint::ACMEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-acm/source/ACMClient.cpp b/generated/src/aws-cpp-sdk-acm/source/ACMClient.cpp index 3b70f8a749b3..af67298462ed 100644 --- a/generated/src/aws-cpp-sdk-acm/source/ACMClient.cpp +++ b/generated/src/aws-cpp-sdk-acm/source/ACMClient.cpp @@ -115,41 +115,6 @@ ACMClient::ACMClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ACMClient::ACMClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ACMClient::ACMClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ACMClient::ACMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ACMClient::~ACMClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ACMClient::accessEndpointProvider() { return m_endpointProvider; } @@ -167,12 +132,7 @@ void ACMClient::init(const ACM::ACMClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "acm"); -} - -void ACMClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ACMClient::InvokeOperationOutcome ACMClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-acm/source/ACMClientConfiguration.cpp b/generated/src/aws-cpp-sdk-acm/source/ACMClientConfiguration.cpp new file mode 100644 index 000000000000..9d686776e073 --- /dev/null +++ b/generated/src/aws-cpp-sdk-acm/source/ACMClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ACM { + +void ACMClientConfiguration::LoadACMSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ACMClientConfiguration::ACMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadACMSpecificConfig(this->profileName); +} + +ACMClientConfiguration::ACMClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadACMSpecificConfig(Aws::String(inputProfileName)); +} + +ACMClientConfiguration::ACMClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadACMSpecificConfig(this->profileName); +} + +ACMClientConfiguration::ACMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadACMSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ACMClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ACM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-acm/source/ACMEndpointProvider.cpp b/generated/src/aws-cpp-sdk-acm/source/ACMEndpointProvider.cpp index 7e931e2856e7..118fcf345fd9 100644 --- a/generated/src/aws-cpp-sdk-acm/source/ACMEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-acm/source/ACMEndpointProvider.cpp @@ -31,6 +31,24 @@ void ACMClientContextParameters::SetServiceType(Aws::String value) { const ACMClientContextParameters::ClientContextParameters::EndpointParameter& ACMClientContextParameters::GetServiceType() const { return GetParameter("ServiceType"); } +void ACMBuiltInParameters::SetFromClientConfiguration(const ACMClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ACMBuiltInParameters::SetFromClientConfiguration(const ACMClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ACMBuiltInParameters::SetServiceSpecificParameters(const ACMClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ACM } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlClient.h b/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlClient.h index 75966cc66889..9a851c6a2c57 100644 --- a/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlClient.h +++ b/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlClient.h @@ -63,27 +63,6 @@ class AWS_AGENTREGISTRYCONTROL_API AgentRegistryControlClient const Aws::AgentRegistryControl::AgentRegistryControlClientConfiguration& clientConfiguration = Aws::AgentRegistryControl::AgentRegistryControlClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AgentRegistryControlClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AgentRegistryControlClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AgentRegistryControlClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AgentRegistryControlClient(); /** @@ -506,7 +485,6 @@ class AWS_AGENTREGISTRYCONTROL_API AgentRegistryControlClient return SubmitAsync(&AgentRegistryControlClient::UpdateRegistryRecordStatus, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlClientConfiguration.h b/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlClientConfiguration.h new file mode 100644 index 000000000000..a26e9cf70a67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlClientConfiguration.h @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AgentRegistryControl { +struct AWS_AGENTREGISTRYCONTROL_API AgentRegistryControlClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AgentRegistryControlClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AgentRegistryControlClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AgentRegistryControlClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AgentRegistryControlClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + private: + void LoadAgentRegistryControlSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AGENTREGISTRYCONTROL_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const AgentRegistryControlClientConfiguration& config); +} // namespace AgentRegistryControl +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlEndpointProvider.h b/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlEndpointProvider.h index 6c8a906b3787..fe3b958d63c0 100644 --- a/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,20 @@ namespace Aws { namespace AgentRegistryControl { namespace Endpoint { +using AgentRegistryControlClientConfiguration = Aws::AgentRegistryControl::AgentRegistryControlClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AgentRegistryControlClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AgentRegistryControlClientConfiguration = Aws::Client::GenericClientConfiguration; -using AgentRegistryControlBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AGENTREGISTRYCONTROL_API AgentRegistryControlBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AgentRegistryControlBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AgentRegistryControlClientConfiguration& config); + virtual void SetFromClientConfiguration(const AgentRegistryControlClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the AgentRegistryControl Client Endpoint Provider. @@ -36,6 +42,26 @@ using AgentRegistryControlDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AgentRegistryControl + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AGENTREGISTRYCONTROL_EXTERN template class AWS_AGENTREGISTRYCONTROL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_AGENTREGISTRYCONTROL_EXTERN template class AWS_AGENTREGISTRYCONTROL_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace AgentRegistryControl { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlServiceClientModel.h b/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlServiceClientModel.h index 2f8f779c6b3f..d47d115cbfdf 100644 --- a/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlServiceClientModel.h @@ -62,7 +62,6 @@ class RetryStrategy; } // namespace Client namespace AgentRegistryControl { -using AgentRegistryControlClientConfiguration = Aws::Client::GenericClientConfiguration; using AgentRegistryControlEndpointProviderBase = Aws::AgentRegistryControl::Endpoint::AgentRegistryControlEndpointProviderBase; using AgentRegistryControlEndpointProvider = Aws::AgentRegistryControl::Endpoint::AgentRegistryControlEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlClient.cpp b/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlClient.cpp index b7ee8f9f0afe..b62d6a398e8c 100644 --- a/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlClient.cpp +++ b/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlClient.cpp @@ -98,42 +98,6 @@ AgentRegistryControlClient::AgentRegistryControlClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AgentRegistryControlClient::AgentRegistryControlClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AgentRegistryControlClient::AgentRegistryControlClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AgentRegistryControlClient::AgentRegistryControlClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AgentRegistryControlClient::~AgentRegistryControlClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AgentRegistryControlClient::accessEndpointProvider() { @@ -153,12 +117,7 @@ void AgentRegistryControlClient::init(const AgentRegistryControl::AgentRegistryC AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "agent-registry"); -} - -void AgentRegistryControlClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AgentRegistryControlClient::InvokeOperationOutcome AgentRegistryControlClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlClientConfiguration.cpp b/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlClientConfiguration.cpp new file mode 100644 index 000000000000..2fc0b75bc71b --- /dev/null +++ b/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AgentRegistryControl { + +void AgentRegistryControlClientConfiguration::LoadAgentRegistryControlSpecificConfig(const Aws::String& inputProfileName) { +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AgentRegistryControlClientConfiguration::AgentRegistryControlClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAgentRegistryControlSpecificConfig(this->profileName); +} + +AgentRegistryControlClientConfiguration::AgentRegistryControlClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAgentRegistryControlSpecificConfig(Aws::String(inputProfileName)); +} + +AgentRegistryControlClientConfiguration::AgentRegistryControlClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAgentRegistryControlSpecificConfig(this->profileName); +} + +AgentRegistryControlClientConfiguration::AgentRegistryControlClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAgentRegistryControlSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AgentRegistryControlClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AgentRegistryControl +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlEndpointProvider.cpp b/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlEndpointProvider.cpp index a59f6c0c7d55..6f5832b3f4b7 100644 --- a/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_AGENTREGISTRYCONTROL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AgentRegistryControl { namespace Endpoint { AgentRegistryControlEndpointProvider::AgentRegistryControlEndpointProvider() : AgentRegistryControlDefaultEpProviderBase(Aws::AgentRegistryControl::AgentRegistryControlEndpointRules::GetRulesBlob(), Aws::AgentRegistryControl::AgentRegistryControlEndpointRules::RulesBlobSize) {} +void AgentRegistryControlBuiltInParameters::SetFromClientConfiguration(const AgentRegistryControlClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void AgentRegistryControlBuiltInParameters::SetFromClientConfiguration(const AgentRegistryControlClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace AgentRegistryControl } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryClient.h b/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryClient.h index bbc4b177e37c..7ffb5704cd23 100644 --- a/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryClient.h +++ b/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryClient.h @@ -57,27 +57,6 @@ class AWS_AGENTREGISTRY_API AgentRegistryClient : public Aws::Client::AWSJsonCli const Aws::AgentRegistry::AgentRegistryClientConfiguration& clientConfiguration = Aws::AgentRegistry::AgentRegistryClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AgentRegistryClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AgentRegistryClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AgentRegistryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AgentRegistryClient(); /** @@ -173,7 +152,6 @@ class AWS_AGENTREGISTRY_API AgentRegistryClient : public Aws::Client::AWSJsonCli return SubmitAsync(&AgentRegistryClient::SearchDiscoverableRegistryRecords, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryClientConfiguration.h b/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryClientConfiguration.h new file mode 100644 index 000000000000..3316411bcd88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryClientConfiguration.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AgentRegistry { +struct AWS_AGENTREGISTRY_API AgentRegistryClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AgentRegistryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AgentRegistryClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AgentRegistryClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AgentRegistryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + private: + void LoadAgentRegistrySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AGENTREGISTRY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AgentRegistryClientConfiguration& config); +} // namespace AgentRegistry +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryEndpointProvider.h b/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryEndpointProvider.h index c827c7d25de7..982b0d8893de 100644 --- a/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,20 @@ namespace Aws { namespace AgentRegistry { namespace Endpoint { +using AgentRegistryClientConfiguration = Aws::AgentRegistry::AgentRegistryClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AgentRegistryClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AgentRegistryClientConfiguration = Aws::Client::GenericClientConfiguration; -using AgentRegistryBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AGENTREGISTRY_API AgentRegistryBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AgentRegistryBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AgentRegistryClientConfiguration& config); + virtual void SetFromClientConfiguration(const AgentRegistryClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the AgentRegistry Client Endpoint Provider. @@ -34,6 +40,24 @@ using AgentRegistryEndpointProviderBase = using AgentRegistryDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AgentRegistry + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AGENTREGISTRY_EXTERN template class AWS_AGENTREGISTRY_API Aws::Endpoint::EndpointProviderBase< + AgentRegistry::Endpoint::AgentRegistryClientConfiguration, AgentRegistry::Endpoint::AgentRegistryBuiltInParameters, + AgentRegistry::Endpoint::AgentRegistryClientContextParameters>; + +AWS_AGENTREGISTRY_EXTERN template class AWS_AGENTREGISTRY_API Aws::Endpoint::BDDEndpointProvider< + AgentRegistry::Endpoint::AgentRegistryClientConfiguration, AgentRegistry::Endpoint::AgentRegistryBuiltInParameters, + AgentRegistry::Endpoint::AgentRegistryClientContextParameters>; +} // namespace Endpoint + +namespace AgentRegistry { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryServiceClientModel.h b/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryServiceClientModel.h index 472577528b9d..0956de2bdc62 100644 --- a/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryServiceClientModel.h @@ -49,7 +49,6 @@ class RetryStrategy; } // namespace Client namespace AgentRegistry { -using AgentRegistryClientConfiguration = Aws::Client::GenericClientConfiguration; using AgentRegistryEndpointProviderBase = Aws::AgentRegistry::Endpoint::AgentRegistryEndpointProviderBase; using AgentRegistryEndpointProvider = Aws::AgentRegistry::Endpoint::AgentRegistryEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryClient.cpp b/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryClient.cpp index 18978ed9428b..be647b8e3181 100644 --- a/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryClient.cpp +++ b/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryClient.cpp @@ -81,41 +81,6 @@ AgentRegistryClient::AgentRegistryClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AgentRegistryClient::AgentRegistryClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AgentRegistryClient::AgentRegistryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AgentRegistryClient::~AgentRegistryClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AgentRegistryClient::accessEndpointProvider() { return m_endpointProvider; } @@ -133,12 +98,7 @@ void AgentRegistryClient::init(const AgentRegistry::AgentRegistryClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "agent-registry"); -} - -void AgentRegistryClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AgentRegistryClient::InvokeOperationOutcome AgentRegistryClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryClientConfiguration.cpp b/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryClientConfiguration.cpp new file mode 100644 index 000000000000..097e5bb3a162 --- /dev/null +++ b/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryClientConfiguration.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AgentRegistry { + +void AgentRegistryClientConfiguration::LoadAgentRegistrySpecificConfig(const Aws::String& inputProfileName) { +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AgentRegistryClientConfiguration::AgentRegistryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAgentRegistrySpecificConfig(this->profileName); +} + +AgentRegistryClientConfiguration::AgentRegistryClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAgentRegistrySpecificConfig(Aws::String(inputProfileName)); +} + +AgentRegistryClientConfiguration::AgentRegistryClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAgentRegistrySpecificConfig(this->profileName); +} + +AgentRegistryClientConfiguration::AgentRegistryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAgentRegistrySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AgentRegistryClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AgentRegistry +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryEndpointProvider.cpp b/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryEndpointProvider.cpp index 66ba32152730..5a36cb090c26 100644 --- a/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_AGENTREGISTRY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AgentRegistry { namespace Endpoint { AgentRegistryEndpointProvider::AgentRegistryEndpointProvider() : AgentRegistryDefaultEpProviderBase(Aws::AgentRegistry::AgentRegistryEndpointRules::GetRulesBlob(), Aws::AgentRegistry::AgentRegistryEndpointRules::RulesBlobSize) {} +void AgentRegistryBuiltInParameters::SetFromClientConfiguration(const AgentRegistryClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void AgentRegistryBuiltInParameters::SetFromClientConfiguration(const AgentRegistryClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace AgentRegistry } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h index a4f01b67177a..9c5e136c5ae2 100644 --- a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClient.h @@ -58,27 +58,6 @@ class AWS_AIOPS_API AIOpsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::AIOps::AIOpsClientConfiguration& clientConfiguration = Aws::AIOps::AIOpsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AIOpsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AIOpsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AIOpsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AIOpsClient(); /** @@ -427,7 +406,6 @@ class AWS_AIOPS_API AIOpsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AIOpsClient::UpdateInvestigationGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClientConfiguration.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClientConfiguration.h new file mode 100644 index 000000000000..132d44865476 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AIOps { +struct AWS_AIOPS_API AIOpsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AIOpsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AIOpsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AIOpsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AIOpsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAIOpsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AIOPS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AIOpsClientConfiguration& config); +} // namespace AIOps +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h index e9b9aa825933..466579cded02 100644 --- a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AIOps { namespace Endpoint { +using AIOpsClientConfiguration = Aws::AIOps::AIOpsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AIOpsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AIOpsClientConfiguration = Aws::Client::GenericClientConfiguration; -using AIOpsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AIOPS_API AIOpsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AIOpsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AIOpsClientConfiguration& config); + virtual void SetFromClientConfiguration(const AIOpsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AIOpsClientConfiguration& config); +}; /** * The type for the AIOps Client Endpoint Provider. @@ -32,6 +41,22 @@ using AIOpsEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace AIOps + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AIOPS_EXTERN template class AWS_AIOPS_API Aws::Endpoint::EndpointProviderBase< + AIOps::Endpoint::AIOpsClientConfiguration, AIOps::Endpoint::AIOpsBuiltInParameters, AIOps::Endpoint::AIOpsClientContextParameters>; + +AWS_AIOPS_EXTERN template class AWS_AIOPS_API Aws::Endpoint::BDDEndpointProvider< + AIOps::Endpoint::AIOpsClientConfiguration, AIOps::Endpoint::AIOpsBuiltInParameters, AIOps::Endpoint::AIOpsClientContextParameters>; +} // namespace Endpoint + +namespace AIOps { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h index 3831e50a33b7..7338cb88f15d 100644 --- a/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsServiceClientModel.h @@ -58,7 +58,6 @@ class RetryStrategy; } // namespace Client namespace AIOps { -using AIOpsClientConfiguration = Aws::Client::GenericClientConfiguration; using AIOpsEndpointProviderBase = Aws::AIOps::Endpoint::AIOpsEndpointProviderBase; using AIOpsEndpointProvider = Aws::AIOps::Endpoint::AIOpsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp index 920560b35d19..f0d738426215 100644 --- a/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsClient.cpp @@ -88,41 +88,6 @@ AIOpsClient::AIOpsClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AIOpsClient::AIOpsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AIOpsClient::AIOpsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AIOpsClient::AIOpsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AIOpsClient::~AIOpsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AIOpsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -140,12 +105,7 @@ void AIOpsClient::init(const AIOps::AIOpsClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aiops"); -} - -void AIOpsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AIOpsClient::InvokeOperationOutcome AIOpsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsClientConfiguration.cpp new file mode 100644 index 000000000000..8068e889cac2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AIOps { + +void AIOpsClientConfiguration::LoadAIOpsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AIOpsClientConfiguration::AIOpsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAIOpsSpecificConfig(this->profileName); +} + +AIOpsClientConfiguration::AIOpsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAIOpsSpecificConfig(Aws::String(inputProfileName)); +} + +AIOpsClientConfiguration::AIOpsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAIOpsSpecificConfig(this->profileName); +} + +AIOpsClientConfiguration::AIOpsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAIOpsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AIOpsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AIOps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp index 735feecf37c8..7778ae7e17d6 100644 --- a/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-aiops/source/AIOpsEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_AIOPS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AIOps { namespace Endpoint { AIOpsEndpointProvider::AIOpsEndpointProvider() : AIOpsDefaultEpProviderBase(Aws::AIOps::AIOpsEndpointRules::GetRulesBlob(), Aws::AIOps::AIOpsEndpointRules::RulesBlobSize) {} +void AIOpsBuiltInParameters::SetFromClientConfiguration(const AIOpsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AIOpsBuiltInParameters::SetFromClientConfiguration(const AIOpsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AIOpsBuiltInParameters::SetServiceSpecificParameters(const AIOpsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AIOps } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h index c66352b7525c..66fc092c06dc 100644 --- a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClient.h @@ -71,27 +71,6 @@ class AWS_PROMETHEUSSERVICE_API PrometheusServiceClient : public Aws::Client::AW const Aws::PrometheusService::PrometheusServiceClientConfiguration& clientConfiguration = Aws::PrometheusService::PrometheusServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PrometheusServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PrometheusServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PrometheusServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PrometheusServiceClient(); /** @@ -1428,7 +1407,6 @@ class AWS_PROMETHEUSSERVICE_API PrometheusServiceClient : public Aws::Client::AW return SubmitAsync(&PrometheusServiceClient::UpdateWorkspaceConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClientConfiguration.h new file mode 100644 index 000000000000..d734cc9aca4e --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PrometheusService { +struct AWS_PROMETHEUSSERVICE_API PrometheusServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PrometheusServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PrometheusServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PrometheusServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PrometheusServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPrometheusServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PROMETHEUSSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PrometheusServiceClientConfiguration& config); +} // namespace PrometheusService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceEndpointProvider.h index 473a394e92c7..399d3b06e92a 100644 --- a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace PrometheusService { namespace Endpoint { +using PrometheusServiceClientConfiguration = Aws::PrometheusService::PrometheusServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PrometheusServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PrometheusServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using PrometheusServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PROMETHEUSSERVICE_API PrometheusServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PrometheusServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PrometheusServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const PrometheusServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PrometheusServiceClientConfiguration& config); +}; /** * The type for the PrometheusService Client Endpoint Provider. @@ -34,6 +43,24 @@ using PrometheusServiceEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace PrometheusService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PROMETHEUSSERVICE_EXTERN template class AWS_PROMETHEUSSERVICE_API Aws::Endpoint::EndpointProviderBase< + PrometheusService::Endpoint::PrometheusServiceClientConfiguration, PrometheusService::Endpoint::PrometheusServiceBuiltInParameters, + PrometheusService::Endpoint::PrometheusServiceClientContextParameters>; + +AWS_PROMETHEUSSERVICE_EXTERN template class AWS_PROMETHEUSSERVICE_API Aws::Endpoint::BDDEndpointProvider< + PrometheusService::Endpoint::PrometheusServiceClientConfiguration, PrometheusService::Endpoint::PrometheusServiceBuiltInParameters, + PrometheusService::Endpoint::PrometheusServiceClientContextParameters>; +} // namespace Endpoint + +namespace PrometheusService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceServiceClientModel.h index ef58d445dc84..2f6e827c96cc 100644 --- a/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceServiceClientModel.h @@ -86,7 +86,6 @@ class RetryStrategy; } // namespace Client namespace PrometheusService { -using PrometheusServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using PrometheusServiceEndpointProviderBase = Aws::PrometheusService::Endpoint::PrometheusServiceEndpointProviderBase; using PrometheusServiceEndpointProvider = Aws::PrometheusService::Endpoint::PrometheusServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClient.cpp b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClient.cpp index ba0b32fb5eb7..2772594e29c9 100644 --- a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClient.cpp @@ -125,42 +125,6 @@ PrometheusServiceClient::PrometheusServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PrometheusServiceClient::PrometheusServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PrometheusServiceClient::PrometheusServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PrometheusServiceClient::~PrometheusServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PrometheusServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -178,12 +142,7 @@ void PrometheusServiceClient::init(const PrometheusService::PrometheusServiceCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aps"); -} - -void PrometheusServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PrometheusServiceClient::InvokeOperationOutcome PrometheusServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClientConfiguration.cpp new file mode 100644 index 000000000000..01f8bae04e48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PrometheusService { + +void PrometheusServiceClientConfiguration::LoadPrometheusServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PrometheusServiceClientConfiguration::PrometheusServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPrometheusServiceSpecificConfig(this->profileName); +} + +PrometheusServiceClientConfiguration::PrometheusServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPrometheusServiceSpecificConfig(Aws::String(inputProfileName)); +} + +PrometheusServiceClientConfiguration::PrometheusServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPrometheusServiceSpecificConfig(this->profileName); +} + +PrometheusServiceClientConfiguration::PrometheusServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPrometheusServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PrometheusServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PrometheusService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceEndpointProvider.cpp index f1565e4bc117..c93e0ba07b31 100644 --- a/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-amp/source/PrometheusServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PROMETHEUSSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PrometheusService { namespace Endpoint { PrometheusServiceEndpointProvider::PrometheusServiceEndpointProvider() : PrometheusServiceDefaultEpProviderBase(Aws::PrometheusService::PrometheusServiceEndpointRules::GetRulesBlob(), Aws::PrometheusService::PrometheusServiceEndpointRules::RulesBlobSize) {} +void PrometheusServiceBuiltInParameters::SetFromClientConfiguration(const PrometheusServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PrometheusServiceBuiltInParameters::SetFromClientConfiguration(const PrometheusServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PrometheusServiceBuiltInParameters::SetServiceSpecificParameters(const PrometheusServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PrometheusService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyClient.h b/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyClient.h index 908766a75c24..663a39f068f5 100644 --- a/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyClient.h +++ b/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyClient.h @@ -59,27 +59,6 @@ class AWS_AMPLIFY_API AmplifyClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Amplify::AmplifyClientConfiguration& clientConfiguration = Aws::Amplify::AmplifyClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AmplifyClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AmplifyClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AmplifyClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AmplifyClient(); /** @@ -1076,7 +1055,6 @@ class AWS_AMPLIFY_API AmplifyClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AmplifyClient::UpdateWebhook, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyClientConfiguration.h b/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyClientConfiguration.h new file mode 100644 index 000000000000..a25200baec42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Amplify { +struct AWS_AMPLIFY_API AmplifyClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AmplifyClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AmplifyClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AmplifyClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AmplifyClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAmplifySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AMPLIFY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AmplifyClientConfiguration& config); +} // namespace Amplify +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyEndpointProvider.h b/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyEndpointProvider.h index 37884b1a8f4c..a211cafd4a39 100644 --- a/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Amplify { namespace Endpoint { +using AmplifyClientConfiguration = Aws::Amplify::AmplifyClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AmplifyClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AmplifyClientConfiguration = Aws::Client::GenericClientConfiguration; -using AmplifyBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AMPLIFY_API AmplifyBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AmplifyBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AmplifyClientConfiguration& config); + virtual void SetFromClientConfiguration(const AmplifyClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AmplifyClientConfiguration& config); +}; /** * The type for the Amplify Client Endpoint Provider. @@ -34,6 +43,24 @@ using AmplifyEndpointProviderBase = using AmplifyDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Amplify + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AMPLIFY_EXTERN template class AWS_AMPLIFY_API + Aws::Endpoint::EndpointProviderBase; + +AWS_AMPLIFY_EXTERN template class AWS_AMPLIFY_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Amplify { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyServiceClientModel.h b/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyServiceClientModel.h index 2903825ee0ed..2fd41e99e4c5 100644 --- a/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyServiceClientModel.h @@ -84,7 +84,6 @@ class RetryStrategy; } // namespace Client namespace Amplify { -using AmplifyClientConfiguration = Aws::Client::GenericClientConfiguration; using AmplifyEndpointProviderBase = Aws::Amplify::Endpoint::AmplifyEndpointProviderBase; using AmplifyEndpointProvider = Aws::Amplify::Endpoint::AmplifyEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-amplify/source/AmplifyClient.cpp b/generated/src/aws-cpp-sdk-amplify/source/AmplifyClient.cpp index 9675a75eb096..2d734c7f2b28 100644 --- a/generated/src/aws-cpp-sdk-amplify/source/AmplifyClient.cpp +++ b/generated/src/aws-cpp-sdk-amplify/source/AmplifyClient.cpp @@ -114,41 +114,6 @@ AmplifyClient::AmplifyClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AmplifyClient::AmplifyClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AmplifyClient::AmplifyClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AmplifyClient::AmplifyClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AmplifyClient::~AmplifyClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AmplifyClient::accessEndpointProvider() { return m_endpointProvider; } @@ -166,12 +131,7 @@ void AmplifyClient::init(const Amplify::AmplifyClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "amplify"); -} - -void AmplifyClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AmplifyClient::InvokeOperationOutcome AmplifyClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-amplify/source/AmplifyClientConfiguration.cpp b/generated/src/aws-cpp-sdk-amplify/source/AmplifyClientConfiguration.cpp new file mode 100644 index 000000000000..e44b7d5b3e68 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amplify/source/AmplifyClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Amplify { + +void AmplifyClientConfiguration::LoadAmplifySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AmplifyClientConfiguration::AmplifyClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAmplifySpecificConfig(this->profileName); +} + +AmplifyClientConfiguration::AmplifyClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAmplifySpecificConfig(Aws::String(inputProfileName)); +} + +AmplifyClientConfiguration::AmplifyClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAmplifySpecificConfig(this->profileName); +} + +AmplifyClientConfiguration::AmplifyClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAmplifySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AmplifyClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Amplify +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amplify/source/AmplifyEndpointProvider.cpp b/generated/src/aws-cpp-sdk-amplify/source/AmplifyEndpointProvider.cpp index ac9f425eb426..d2f36323ad95 100644 --- a/generated/src/aws-cpp-sdk-amplify/source/AmplifyEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-amplify/source/AmplifyEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_AMPLIFY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Amplify { namespace Endpoint { AmplifyEndpointProvider::AmplifyEndpointProvider() : AmplifyDefaultEpProviderBase(Aws::Amplify::AmplifyEndpointRules::GetRulesBlob(), Aws::Amplify::AmplifyEndpointRules::RulesBlobSize) {} +void AmplifyBuiltInParameters::SetFromClientConfiguration(const AmplifyClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AmplifyBuiltInParameters::SetFromClientConfiguration(const AmplifyClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AmplifyBuiltInParameters::SetServiceSpecificParameters(const AmplifyClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Amplify } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendClient.h b/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendClient.h index 71ed788f06d0..b4b665774a1f 100644 --- a/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendClient.h +++ b/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendClient.h @@ -56,27 +56,6 @@ class AWS_AMPLIFYBACKEND_API AmplifyBackendClient : public Aws::Client::AWSJsonC const Aws::AmplifyBackend::AmplifyBackendClientConfiguration& clientConfiguration = Aws::AmplifyBackend::AmplifyBackendClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AmplifyBackendClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AmplifyBackendClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AmplifyBackendClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AmplifyBackendClient(); /** @@ -890,7 +869,6 @@ class AWS_AMPLIFYBACKEND_API AmplifyBackendClient : public Aws::Client::AWSJsonC return SubmitAsync(&AmplifyBackendClient::UpdateBackendStorage, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendClientConfiguration.h b/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendClientConfiguration.h new file mode 100644 index 000000000000..d6ccf0fe72c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AmplifyBackend { +struct AWS_AMPLIFYBACKEND_API AmplifyBackendClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AmplifyBackendClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AmplifyBackendClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AmplifyBackendClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AmplifyBackendClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAmplifyBackendSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AMPLIFYBACKEND_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AmplifyBackendClientConfiguration& config); +} // namespace AmplifyBackend +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendEndpointProvider.h b/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendEndpointProvider.h index 97cf949f9b72..689dfa4e55c6 100644 --- a/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AmplifyBackend { namespace Endpoint { +using AmplifyBackendClientConfiguration = Aws::AmplifyBackend::AmplifyBackendClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AmplifyBackendClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AmplifyBackendClientConfiguration = Aws::Client::GenericClientConfiguration; -using AmplifyBackendBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AMPLIFYBACKEND_API AmplifyBackendBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AmplifyBackendBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AmplifyBackendClientConfiguration& config); + virtual void SetFromClientConfiguration(const AmplifyBackendClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AmplifyBackendClientConfiguration& config); +}; /** * The type for the AmplifyBackend Client Endpoint Provider. @@ -34,6 +43,24 @@ using AmplifyBackendEndpointProviderBase = using AmplifyBackendDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AmplifyBackend + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AMPLIFYBACKEND_EXTERN template class AWS_AMPLIFYBACKEND_API Aws::Endpoint::EndpointProviderBase< + AmplifyBackend::Endpoint::AmplifyBackendClientConfiguration, AmplifyBackend::Endpoint::AmplifyBackendBuiltInParameters, + AmplifyBackend::Endpoint::AmplifyBackendClientContextParameters>; + +AWS_AMPLIFYBACKEND_EXTERN template class AWS_AMPLIFYBACKEND_API Aws::Endpoint::BDDEndpointProvider< + AmplifyBackend::Endpoint::AmplifyBackendClientConfiguration, AmplifyBackend::Endpoint::AmplifyBackendBuiltInParameters, + AmplifyBackend::Endpoint::AmplifyBackendClientContextParameters>; +} // namespace Endpoint + +namespace AmplifyBackend { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendServiceClientModel.h b/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendServiceClientModel.h index 0258f8085ee1..8e1632d89ba9 100644 --- a/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendServiceClientModel.h @@ -78,7 +78,6 @@ class RetryStrategy; } // namespace Client namespace AmplifyBackend { -using AmplifyBackendClientConfiguration = Aws::Client::GenericClientConfiguration; using AmplifyBackendEndpointProviderBase = Aws::AmplifyBackend::Endpoint::AmplifyBackendEndpointProviderBase; using AmplifyBackendEndpointProvider = Aws::AmplifyBackend::Endpoint::AmplifyBackendEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendClient.cpp b/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendClient.cpp index bb64dda33e9a..6ee9bf37938c 100644 --- a/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendClient.cpp +++ b/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendClient.cpp @@ -109,41 +109,6 @@ AmplifyBackendClient::AmplifyBackendClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AmplifyBackendClient::AmplifyBackendClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AmplifyBackendClient::AmplifyBackendClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AmplifyBackendClient::~AmplifyBackendClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AmplifyBackendClient::accessEndpointProvider() { return m_endpointProvider; } @@ -161,12 +126,7 @@ void AmplifyBackendClient::init(const AmplifyBackend::AmplifyBackendClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "amplifybackend"); -} - -void AmplifyBackendClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AmplifyBackendClient::InvokeOperationOutcome AmplifyBackendClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendClientConfiguration.cpp b/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendClientConfiguration.cpp new file mode 100644 index 000000000000..5025051db616 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AmplifyBackend { + +void AmplifyBackendClientConfiguration::LoadAmplifyBackendSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AmplifyBackendClientConfiguration::AmplifyBackendClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAmplifyBackendSpecificConfig(this->profileName); +} + +AmplifyBackendClientConfiguration::AmplifyBackendClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAmplifyBackendSpecificConfig(Aws::String(inputProfileName)); +} + +AmplifyBackendClientConfiguration::AmplifyBackendClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAmplifyBackendSpecificConfig(this->profileName); +} + +AmplifyBackendClientConfiguration::AmplifyBackendClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAmplifyBackendSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AmplifyBackendClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AmplifyBackend +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendEndpointProvider.cpp b/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendEndpointProvider.cpp index 93960140396b..db49dd0a5009 100644 --- a/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_AMPLIFYBACKEND_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AmplifyBackend { namespace Endpoint { AmplifyBackendEndpointProvider::AmplifyBackendEndpointProvider() : AmplifyBackendDefaultEpProviderBase(Aws::AmplifyBackend::AmplifyBackendEndpointRules::GetRulesBlob(), Aws::AmplifyBackend::AmplifyBackendEndpointRules::RulesBlobSize) {} +void AmplifyBackendBuiltInParameters::SetFromClientConfiguration(const AmplifyBackendClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AmplifyBackendBuiltInParameters::SetFromClientConfiguration(const AmplifyBackendClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AmplifyBackendBuiltInParameters::SetServiceSpecificParameters(const AmplifyBackendClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AmplifyBackend } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderClient.h b/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderClient.h index 303cb43a6001..821729f632bf 100644 --- a/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderClient.h +++ b/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderClient.h @@ -69,27 +69,6 @@ class AWS_AMPLIFYUIBUILDER_API AmplifyUIBuilderClient : public Aws::Client::AWSJ const Aws::AmplifyUIBuilder::AmplifyUIBuilderClientConfiguration& clientConfiguration = Aws::AmplifyUIBuilder::AmplifyUIBuilderClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AmplifyUIBuilderClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AmplifyUIBuilderClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AmplifyUIBuilderClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AmplifyUIBuilderClient(); /** @@ -811,7 +790,6 @@ class AWS_AMPLIFYUIBUILDER_API AmplifyUIBuilderClient : public Aws::Client::AWSJ return SubmitAsync(&AmplifyUIBuilderClient::UpdateTheme, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderClientConfiguration.h b/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderClientConfiguration.h new file mode 100644 index 000000000000..cef985fbf0c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AmplifyUIBuilder { +struct AWS_AMPLIFYUIBUILDER_API AmplifyUIBuilderClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AmplifyUIBuilderClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AmplifyUIBuilderClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AmplifyUIBuilderClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AmplifyUIBuilderClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAmplifyUIBuilderSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AMPLIFYUIBUILDER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AmplifyUIBuilderClientConfiguration& config); +} // namespace AmplifyUIBuilder +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderEndpointProvider.h b/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderEndpointProvider.h index 401938a50b7a..f6c3894ea6b4 100644 --- a/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AmplifyUIBuilder { namespace Endpoint { +using AmplifyUIBuilderClientConfiguration = Aws::AmplifyUIBuilder::AmplifyUIBuilderClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AmplifyUIBuilderClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AmplifyUIBuilderClientConfiguration = Aws::Client::GenericClientConfiguration; -using AmplifyUIBuilderBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AMPLIFYUIBUILDER_API AmplifyUIBuilderBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AmplifyUIBuilderBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AmplifyUIBuilderClientConfiguration& config); + virtual void SetFromClientConfiguration(const AmplifyUIBuilderClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AmplifyUIBuilderClientConfiguration& config); +}; /** * The type for the AmplifyUIBuilder Client Endpoint Provider. @@ -34,6 +43,24 @@ using AmplifyUIBuilderEndpointProviderBase = using AmplifyUIBuilderDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AmplifyUIBuilder + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AMPLIFYUIBUILDER_EXTERN template class AWS_AMPLIFYUIBUILDER_API Aws::Endpoint::EndpointProviderBase< + AmplifyUIBuilder::Endpoint::AmplifyUIBuilderClientConfiguration, AmplifyUIBuilder::Endpoint::AmplifyUIBuilderBuiltInParameters, + AmplifyUIBuilder::Endpoint::AmplifyUIBuilderClientContextParameters>; + +AWS_AMPLIFYUIBUILDER_EXTERN template class AWS_AMPLIFYUIBUILDER_API Aws::Endpoint::BDDEndpointProvider< + AmplifyUIBuilder::Endpoint::AmplifyUIBuilderClientConfiguration, AmplifyUIBuilder::Endpoint::AmplifyUIBuilderBuiltInParameters, + AmplifyUIBuilder::Endpoint::AmplifyUIBuilderClientContextParameters>; +} // namespace Endpoint + +namespace AmplifyUIBuilder { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderServiceClientModel.h b/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderServiceClientModel.h index d706b8a671d3..025af97b0524 100644 --- a/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace AmplifyUIBuilder { -using AmplifyUIBuilderClientConfiguration = Aws::Client::GenericClientConfiguration; using AmplifyUIBuilderEndpointProviderBase = Aws::AmplifyUIBuilder::Endpoint::AmplifyUIBuilderEndpointProviderBase; using AmplifyUIBuilderEndpointProvider = Aws::AmplifyUIBuilder::Endpoint::AmplifyUIBuilderEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderClient.cpp b/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderClient.cpp index 0406cb152cf6..6ecdfddf7429 100644 --- a/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderClient.cpp +++ b/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderClient.cpp @@ -109,42 +109,6 @@ AmplifyUIBuilderClient::AmplifyUIBuilderClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AmplifyUIBuilderClient::AmplifyUIBuilderClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AmplifyUIBuilderClient::AmplifyUIBuilderClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AmplifyUIBuilderClient::~AmplifyUIBuilderClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AmplifyUIBuilderClient::accessEndpointProvider() { return m_endpointProvider; } @@ -162,12 +126,7 @@ void AmplifyUIBuilderClient::init(const AmplifyUIBuilder::AmplifyUIBuilderClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "amplifyuibuilder"); -} - -void AmplifyUIBuilderClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AmplifyUIBuilderClient::InvokeOperationOutcome AmplifyUIBuilderClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderClientConfiguration.cpp b/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderClientConfiguration.cpp new file mode 100644 index 000000000000..fc09911a200d --- /dev/null +++ b/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AmplifyUIBuilder { + +void AmplifyUIBuilderClientConfiguration::LoadAmplifyUIBuilderSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AmplifyUIBuilderClientConfiguration::AmplifyUIBuilderClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAmplifyUIBuilderSpecificConfig(this->profileName); +} + +AmplifyUIBuilderClientConfiguration::AmplifyUIBuilderClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAmplifyUIBuilderSpecificConfig(Aws::String(inputProfileName)); +} + +AmplifyUIBuilderClientConfiguration::AmplifyUIBuilderClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAmplifyUIBuilderSpecificConfig(this->profileName); +} + +AmplifyUIBuilderClientConfiguration::AmplifyUIBuilderClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAmplifyUIBuilderSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AmplifyUIBuilderClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AmplifyUIBuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderEndpointProvider.cpp b/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderEndpointProvider.cpp index d28058e5c1ef..8fccb09a0f29 100644 --- a/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_AMPLIFYUIBUILDER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AmplifyUIBuilder { namespace Endpoint { AmplifyUIBuilderEndpointProvider::AmplifyUIBuilderEndpointProvider() : AmplifyUIBuilderDefaultEpProviderBase(Aws::AmplifyUIBuilder::AmplifyUIBuilderEndpointRules::GetRulesBlob(), Aws::AmplifyUIBuilder::AmplifyUIBuilderEndpointRules::RulesBlobSize) {} +void AmplifyUIBuilderBuiltInParameters::SetFromClientConfiguration(const AmplifyUIBuilderClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AmplifyUIBuilderBuiltInParameters::SetFromClientConfiguration(const AmplifyUIBuilderClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AmplifyUIBuilderBuiltInParameters::SetServiceSpecificParameters(const AmplifyUIBuilderClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AmplifyUIBuilder } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayClient.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayClient.h index 9e8716ce6a54..ac945a4ef8a6 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayClient.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayClient.h @@ -59,27 +59,6 @@ class AWS_APIGATEWAY_API APIGatewayClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::APIGateway::APIGatewayClientConfiguration& clientConfiguration = Aws::APIGateway::APIGatewayClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - APIGatewayClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - APIGatewayClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - APIGatewayClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~APIGatewayClient(); /** @@ -3369,7 +3348,6 @@ class AWS_APIGATEWAY_API APIGatewayClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&APIGatewayClient::UpdateVpcLink, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayClientConfiguration.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayClientConfiguration.h new file mode 100644 index 000000000000..6e99fd9da7ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace APIGateway { +struct AWS_APIGATEWAY_API APIGatewayClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + APIGatewayClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + APIGatewayClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + APIGatewayClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit APIGatewayClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadAPIGatewaySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APIGATEWAY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const APIGatewayClientConfiguration& config); +} // namespace APIGateway +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayEndpointProvider.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayEndpointProvider.h index 4a567e1fd65e..c29670c2cc23 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace APIGateway { namespace Endpoint { +using APIGatewayClientConfiguration = Aws::APIGateway::APIGatewayClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using APIGatewayClientContextParameters = Aws::Endpoint::ClientContextParameters; -using APIGatewayClientConfiguration = Aws::Client::GenericClientConfiguration; -using APIGatewayBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APIGATEWAY_API APIGatewayBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~APIGatewayBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const APIGatewayClientConfiguration& config); + virtual void SetFromClientConfiguration(const APIGatewayClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const APIGatewayClientConfiguration& config); +}; /** * The type for the APIGateway Client Endpoint Provider. @@ -34,6 +43,24 @@ using APIGatewayEndpointProviderBase = using APIGatewayDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace APIGateway + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APIGATEWAY_EXTERN template class AWS_APIGATEWAY_API Aws::Endpoint::EndpointProviderBase< + APIGateway::Endpoint::APIGatewayClientConfiguration, APIGateway::Endpoint::APIGatewayBuiltInParameters, + APIGateway::Endpoint::APIGatewayClientContextParameters>; + +AWS_APIGATEWAY_EXTERN template class AWS_APIGATEWAY_API Aws::Endpoint::BDDEndpointProvider< + APIGateway::Endpoint::APIGatewayClientConfiguration, APIGateway::Endpoint::APIGatewayBuiltInParameters, + APIGateway::Endpoint::APIGatewayClientContextParameters>; +} // namespace Endpoint + +namespace APIGateway { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayServiceClientModel.h b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayServiceClientModel.h index 49e7929d13e4..15f475bc395a 100644 --- a/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayServiceClientModel.h @@ -156,7 +156,6 @@ class RetryStrategy; } // namespace Client namespace APIGateway { -using APIGatewayClientConfiguration = Aws::Client::GenericClientConfiguration; using APIGatewayEndpointProviderBase = Aws::APIGateway::Endpoint::APIGatewayEndpointProviderBase; using APIGatewayEndpointProvider = Aws::APIGateway::Endpoint::APIGatewayEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayClient.cpp b/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayClient.cpp index b568d0eccb1d..60e8775ced46 100644 --- a/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayClient.cpp +++ b/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayClient.cpp @@ -203,43 +203,6 @@ APIGatewayClient::APIGatewayClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -APIGatewayClient::APIGatewayClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -APIGatewayClient::APIGatewayClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -APIGatewayClient::APIGatewayClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ APIGatewayClient::~APIGatewayClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& APIGatewayClient::accessEndpointProvider() { return m_endpointProvider; } @@ -257,12 +220,7 @@ void APIGatewayClient::init(const APIGateway::APIGatewayClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "apigateway"); -} - -void APIGatewayClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } APIGatewayClient::InvokeOperationOutcome APIGatewayClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayClientConfiguration.cpp b/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayClientConfiguration.cpp new file mode 100644 index 000000000000..29891f6c6cb5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace APIGateway { + +void APIGatewayClientConfiguration::LoadAPIGatewaySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +APIGatewayClientConfiguration::APIGatewayClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAPIGatewaySpecificConfig(this->profileName); +} + +APIGatewayClientConfiguration::APIGatewayClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAPIGatewaySpecificConfig(Aws::String(inputProfileName)); +} + +APIGatewayClientConfiguration::APIGatewayClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAPIGatewaySpecificConfig(this->profileName); +} + +APIGatewayClientConfiguration::APIGatewayClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAPIGatewaySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const APIGatewayClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace APIGateway +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayEndpointProvider.cpp b/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayEndpointProvider.cpp index bb3ad5e2853e..2fd2207cd3de 100644 --- a/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-apigateway/source/APIGatewayEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_APIGATEWAY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace APIGateway { namespace Endpoint { APIGatewayEndpointProvider::APIGatewayEndpointProvider() : APIGatewayDefaultEpProviderBase(Aws::APIGateway::APIGatewayEndpointRules::GetRulesBlob(), Aws::APIGateway::APIGatewayEndpointRules::RulesBlobSize) {} +void APIGatewayBuiltInParameters::SetFromClientConfiguration(const APIGatewayClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void APIGatewayBuiltInParameters::SetFromClientConfiguration(const APIGatewayClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void APIGatewayBuiltInParameters::SetServiceSpecificParameters(const APIGatewayClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace APIGateway } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiClient.h b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiClient.h index 6e9df2ffd234..fda170b57d20 100644 --- a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiClient.h +++ b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiClient.h @@ -62,27 +62,6 @@ class AWS_APIGATEWAYMANAGEMENTAPI_API ApiGatewayManagementApiClient const Aws::ApiGatewayManagementApi::ApiGatewayManagementApiClientConfiguration& clientConfiguration = Aws::ApiGatewayManagementApi::ApiGatewayManagementApiClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ApiGatewayManagementApiClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ApiGatewayManagementApiClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ApiGatewayManagementApiClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ApiGatewayManagementApiClient(); /** @@ -164,7 +143,6 @@ class AWS_APIGATEWAYMANAGEMENTAPI_API ApiGatewayManagementApiClient return SubmitAsync(&ApiGatewayManagementApiClient::PostToConnection, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiClientConfiguration.h b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiClientConfiguration.h new file mode 100644 index 000000000000..9388c821dc37 --- /dev/null +++ b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiClientConfiguration.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ApiGatewayManagementApi { +struct AWS_APIGATEWAYMANAGEMENTAPI_API ApiGatewayManagementApiClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ApiGatewayManagementApiClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApiGatewayManagementApiClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApiGatewayManagementApiClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ApiGatewayManagementApiClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadApiGatewayManagementApiSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APIGATEWAYMANAGEMENTAPI_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ApiGatewayManagementApiClientConfiguration& config); +} // namespace ApiGatewayManagementApi +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiEndpointProvider.h b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiEndpointProvider.h index 7c00bd8cfb86..c063c97c0ddc 100644 --- a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ApiGatewayManagementApi { namespace Endpoint { +using ApiGatewayManagementApiClientConfiguration = Aws::ApiGatewayManagementApi::ApiGatewayManagementApiClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ApiGatewayManagementApiClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ApiGatewayManagementApiClientConfiguration = Aws::Client::GenericClientConfiguration; -using ApiGatewayManagementApiBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APIGATEWAYMANAGEMENTAPI_API ApiGatewayManagementApiBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ApiGatewayManagementApiBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ApiGatewayManagementApiClientConfiguration& config); + virtual void SetFromClientConfiguration(const ApiGatewayManagementApiClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ApiGatewayManagementApiClientConfiguration& config); +}; /** * The type for the ApiGatewayManagementApi Client Endpoint Provider. @@ -36,6 +45,26 @@ using ApiGatewayManagementApiDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ApiGatewayManagementApi + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APIGATEWAYMANAGEMENTAPI_EXTERN template class AWS_APIGATEWAYMANAGEMENTAPI_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APIGATEWAYMANAGEMENTAPI_EXTERN template class AWS_APIGATEWAYMANAGEMENTAPI_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ApiGatewayManagementApi { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiServiceClientModel.h b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiServiceClientModel.h index 6cac2c42bdab..aa60758bdd88 100644 --- a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace ApiGatewayManagementApi { -using ApiGatewayManagementApiClientConfiguration = Aws::Client::GenericClientConfiguration; using ApiGatewayManagementApiEndpointProviderBase = Aws::ApiGatewayManagementApi::Endpoint::ApiGatewayManagementApiEndpointProviderBase; using ApiGatewayManagementApiEndpointProvider = Aws::ApiGatewayManagementApi::Endpoint::ApiGatewayManagementApiEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiClient.cpp b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiClient.cpp index 99277413328d..7b9765b9ea60 100644 --- a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiClient.cpp +++ b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiClient.cpp @@ -88,44 +88,6 @@ ApiGatewayManagementApiClient::ApiGatewayManagementApiClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ApiGatewayManagementApiClient::ApiGatewayManagementApiClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApiGatewayManagementApiClient::ApiGatewayManagementApiClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApiGatewayManagementApiClient::ApiGatewayManagementApiClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ApiGatewayManagementApiClient::~ApiGatewayManagementApiClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ApiGatewayManagementApiClient::accessEndpointProvider() { @@ -145,12 +107,7 @@ void ApiGatewayManagementApiClient::init(const ApiGatewayManagementApi::ApiGatew AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "execute-api"); -} - -void ApiGatewayManagementApiClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ApiGatewayManagementApiClient::InvokeOperationOutcome ApiGatewayManagementApiClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiClientConfiguration.cpp b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiClientConfiguration.cpp new file mode 100644 index 000000000000..c99139349879 --- /dev/null +++ b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ApiGatewayManagementApi { + +void ApiGatewayManagementApiClientConfiguration::LoadApiGatewayManagementApiSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ApiGatewayManagementApiClientConfiguration::ApiGatewayManagementApiClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadApiGatewayManagementApiSpecificConfig(this->profileName); +} + +ApiGatewayManagementApiClientConfiguration::ApiGatewayManagementApiClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadApiGatewayManagementApiSpecificConfig(Aws::String(inputProfileName)); +} + +ApiGatewayManagementApiClientConfiguration::ApiGatewayManagementApiClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadApiGatewayManagementApiSpecificConfig(this->profileName); +} + +ApiGatewayManagementApiClientConfiguration::ApiGatewayManagementApiClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadApiGatewayManagementApiSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApiGatewayManagementApiClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace ApiGatewayManagementApi +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiEndpointProvider.cpp b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiEndpointProvider.cpp index 0f97da86abfc..97c62dca6de0 100644 --- a/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_APIGATEWAYMANAGEMENTAPI_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ApiGatewayManagementApi { namespace Endpoint { ApiGatewayManagementApiEndpointProvider::ApiGatewayManagementApiEndpointProvider() : ApiGatewayManagementApiDefaultEpProviderBase(Aws::ApiGatewayManagementApi::ApiGatewayManagementApiEndpointRules::GetRulesBlob(), Aws::ApiGatewayManagementApi::ApiGatewayManagementApiEndpointRules::RulesBlobSize) {} +void ApiGatewayManagementApiBuiltInParameters::SetFromClientConfiguration(const ApiGatewayManagementApiClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ApiGatewayManagementApiBuiltInParameters::SetFromClientConfiguration(const ApiGatewayManagementApiClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ApiGatewayManagementApiBuiltInParameters::SetServiceSpecificParameters(const ApiGatewayManagementApiClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ApiGatewayManagementApi } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2Client.h b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2Client.h index 4f5609a221a4..26b539248de4 100644 --- a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2Client.h +++ b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2Client.h @@ -55,27 +55,6 @@ class AWS_APIGATEWAYV2_API ApiGatewayV2Client : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::ApiGatewayV2::ApiGatewayV2ClientConfiguration& clientConfiguration = Aws::ApiGatewayV2::ApiGatewayV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ApiGatewayV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ApiGatewayV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ApiGatewayV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ApiGatewayV2Client(); /** @@ -2753,7 +2732,6 @@ class AWS_APIGATEWAYV2_API ApiGatewayV2Client : public Aws::Client::AWSJsonClien return SubmitAsync(&ApiGatewayV2Client::UpdateVpcLink, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2ClientConfiguration.h new file mode 100644 index 000000000000..718d7eb1fe28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ApiGatewayV2 { +struct AWS_APIGATEWAYV2_API ApiGatewayV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ApiGatewayV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApiGatewayV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApiGatewayV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ApiGatewayV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadApiGatewayV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APIGATEWAYV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApiGatewayV2ClientConfiguration& config); +} // namespace ApiGatewayV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2EndpointProvider.h b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2EndpointProvider.h index 6c693f9ccb98..ea923e61d357 100644 --- a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2EndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ApiGatewayV2 { namespace Endpoint { +using ApiGatewayV2ClientConfiguration = Aws::ApiGatewayV2::ApiGatewayV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ApiGatewayV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ApiGatewayV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using ApiGatewayV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APIGATEWAYV2_API ApiGatewayV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ApiGatewayV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ApiGatewayV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const ApiGatewayV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ApiGatewayV2ClientConfiguration& config); +}; /** * The type for the ApiGatewayV2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using ApiGatewayV2EndpointProviderBase = using ApiGatewayV2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ApiGatewayV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APIGATEWAYV2_EXTERN template class AWS_APIGATEWAYV2_API Aws::Endpoint::EndpointProviderBase< + ApiGatewayV2::Endpoint::ApiGatewayV2ClientConfiguration, ApiGatewayV2::Endpoint::ApiGatewayV2BuiltInParameters, + ApiGatewayV2::Endpoint::ApiGatewayV2ClientContextParameters>; + +AWS_APIGATEWAYV2_EXTERN template class AWS_APIGATEWAYV2_API Aws::Endpoint::BDDEndpointProvider< + ApiGatewayV2::Endpoint::ApiGatewayV2ClientConfiguration, ApiGatewayV2::Endpoint::ApiGatewayV2BuiltInParameters, + ApiGatewayV2::Endpoint::ApiGatewayV2ClientContextParameters>; +} // namespace Endpoint + +namespace ApiGatewayV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2ServiceClientModel.h index b6b392de6be4..0e18879ae712 100644 --- a/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2ServiceClientModel.h @@ -131,7 +131,6 @@ class RetryStrategy; } // namespace Client namespace ApiGatewayV2 { -using ApiGatewayV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using ApiGatewayV2EndpointProviderBase = Aws::ApiGatewayV2::Endpoint::ApiGatewayV2EndpointProviderBase; using ApiGatewayV2EndpointProvider = Aws::ApiGatewayV2::Endpoint::ApiGatewayV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2Client.cpp b/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2Client.cpp index e8361394a7d3..cf0ddaebed33 100644 --- a/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2Client.cpp +++ b/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2Client.cpp @@ -181,41 +181,6 @@ ApiGatewayV2Client::ApiGatewayV2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApiGatewayV2Client::ApiGatewayV2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApiGatewayV2Client::ApiGatewayV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ApiGatewayV2Client::~ApiGatewayV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& ApiGatewayV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -233,12 +198,7 @@ void ApiGatewayV2Client::init(const ApiGatewayV2::ApiGatewayV2ClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "apigateway"); -} - -void ApiGatewayV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ApiGatewayV2Client::InvokeOperationOutcome ApiGatewayV2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2ClientConfiguration.cpp new file mode 100644 index 000000000000..d38b1df62bc9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ApiGatewayV2 { + +void ApiGatewayV2ClientConfiguration::LoadApiGatewayV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ApiGatewayV2ClientConfiguration::ApiGatewayV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadApiGatewayV2SpecificConfig(this->profileName); +} + +ApiGatewayV2ClientConfiguration::ApiGatewayV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadApiGatewayV2SpecificConfig(Aws::String(inputProfileName)); +} + +ApiGatewayV2ClientConfiguration::ApiGatewayV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadApiGatewayV2SpecificConfig(this->profileName); +} + +ApiGatewayV2ClientConfiguration::ApiGatewayV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadApiGatewayV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApiGatewayV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ApiGatewayV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2EndpointProvider.cpp index b502647bca9a..66b26f267ed3 100644 --- a/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_APIGATEWAYV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ApiGatewayV2 { namespace Endpoint { ApiGatewayV2EndpointProvider::ApiGatewayV2EndpointProvider() : ApiGatewayV2DefaultEpProviderBase(Aws::ApiGatewayV2::ApiGatewayV2EndpointRules::GetRulesBlob(), Aws::ApiGatewayV2::ApiGatewayV2EndpointRules::RulesBlobSize) {} +void ApiGatewayV2BuiltInParameters::SetFromClientConfiguration(const ApiGatewayV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ApiGatewayV2BuiltInParameters::SetFromClientConfiguration(const ApiGatewayV2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ApiGatewayV2BuiltInParameters::SetServiceSpecificParameters(const ApiGatewayV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ApiGatewayV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClient.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClient.h index dfeeb3329d7e..ccf8e93a48ba 100644 --- a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClient.h +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClient.h @@ -123,27 +123,6 @@ class AWS_APPCONFIG_API AppConfigClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::AppConfig::AppConfigClientConfiguration& clientConfiguration = Aws::AppConfig::AppConfigClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppConfigClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppConfigClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppConfigClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppConfigClient(); /** @@ -1777,7 +1756,6 @@ class AWS_APPCONFIG_API AppConfigClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AppConfigClient::ValidateConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClientConfiguration.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClientConfiguration.h new file mode 100644 index 000000000000..b0da42687ca9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppConfig { +struct AWS_APPCONFIG_API AppConfigClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppConfigClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppConfigClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppConfigClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppConfigClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadAppConfigSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPCONFIG_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppConfigClientConfiguration& config); +} // namespace AppConfig +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigEndpointProvider.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigEndpointProvider.h index 9bf52a4208bb..c3e411e69d43 100644 --- a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AppConfig { namespace Endpoint { +using AppConfigClientConfiguration = Aws::AppConfig::AppConfigClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppConfigClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppConfigClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppConfigBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPCONFIG_API AppConfigBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppConfigBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppConfigClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppConfigClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppConfigClientConfiguration& config); +}; /** * The type for the AppConfig Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppConfigEndpointProviderBase = using AppConfigDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppConfig + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPCONFIG_EXTERN template class AWS_APPCONFIG_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPCONFIG_EXTERN template class AWS_APPCONFIG_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace AppConfig { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigServiceClientModel.h b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigServiceClientModel.h index 188e0c468fdc..bbef189bc5e2 100644 --- a/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigServiceClientModel.h @@ -98,7 +98,6 @@ class RetryStrategy; } // namespace Client namespace AppConfig { -using AppConfigClientConfiguration = Aws::Client::GenericClientConfiguration; using AppConfigEndpointProviderBase = Aws::AppConfig::Endpoint::AppConfigEndpointProviderBase; using AppConfigEndpointProvider = Aws::AppConfig::Endpoint::AppConfigEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClient.cpp b/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClient.cpp index 6b333aded6a3..89491dcb87ba 100644 --- a/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClient.cpp +++ b/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClient.cpp @@ -134,43 +134,6 @@ AppConfigClient::AppConfigClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AppConfigClient::AppConfigClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppConfigClient::AppConfigClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppConfigClient::AppConfigClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppConfigClient::~AppConfigClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppConfigClient::accessEndpointProvider() { return m_endpointProvider; } @@ -188,12 +151,7 @@ void AppConfigClient::init(const AppConfig::AppConfigClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "appconfig"); -} - -void AppConfigClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppConfigClient::InvokeOperationOutcome AppConfigClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClientConfiguration.cpp b/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClientConfiguration.cpp new file mode 100644 index 000000000000..e35eaf5411a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfig/source/AppConfigClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppConfig { + +void AppConfigClientConfiguration::LoadAppConfigSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppConfigClientConfiguration::AppConfigClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppConfigSpecificConfig(this->profileName); +} + +AppConfigClientConfiguration::AppConfigClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppConfigSpecificConfig(Aws::String(inputProfileName)); +} + +AppConfigClientConfiguration::AppConfigClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppConfigSpecificConfig(this->profileName); +} + +AppConfigClientConfiguration::AppConfigClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppConfigSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppConfigClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace AppConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfig/source/AppConfigEndpointProvider.cpp b/generated/src/aws-cpp-sdk-appconfig/source/AppConfigEndpointProvider.cpp index a11616bd712d..bc1ceb7aa671 100644 --- a/generated/src/aws-cpp-sdk-appconfig/source/AppConfigEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-appconfig/source/AppConfigEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_APPCONFIG_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppConfig { namespace Endpoint { AppConfigEndpointProvider::AppConfigEndpointProvider() : AppConfigDefaultEpProviderBase(Aws::AppConfig::AppConfigEndpointRules::GetRulesBlob(), Aws::AppConfig::AppConfigEndpointRules::RulesBlobSize) {} +void AppConfigBuiltInParameters::SetFromClientConfiguration(const AppConfigClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppConfigBuiltInParameters::SetFromClientConfiguration(const AppConfigClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppConfigBuiltInParameters::SetServiceSpecificParameters(const AppConfigClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppConfig } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataClient.h b/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataClient.h index 4d97c7248414..869c9bf4942b 100644 --- a/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataClient.h +++ b/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataClient.h @@ -95,27 +95,6 @@ class AWS_APPCONFIGDATA_API AppConfigDataClient : public Aws::Client::AWSJsonCli const Aws::AppConfigData::AppConfigDataClientConfiguration& clientConfiguration = Aws::AppConfigData::AppConfigDataClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppConfigDataClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppConfigDataClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppConfigDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppConfigDataClient(); /** @@ -192,7 +171,6 @@ class AWS_APPCONFIGDATA_API AppConfigDataClient : public Aws::Client::AWSJsonCli return SubmitAsync(&AppConfigDataClient::StartConfigurationSession, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataClientConfiguration.h b/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataClientConfiguration.h new file mode 100644 index 000000000000..76d93933d176 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppConfigData { +struct AWS_APPCONFIGDATA_API AppConfigDataClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppConfigDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppConfigDataClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppConfigDataClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppConfigDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppConfigDataSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPCONFIGDATA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppConfigDataClientConfiguration& config); +} // namespace AppConfigData +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataEndpointProvider.h b/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataEndpointProvider.h index 7317c73798c2..8f0167b0fb65 100644 --- a/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AppConfigData { namespace Endpoint { +using AppConfigDataClientConfiguration = Aws::AppConfigData::AppConfigDataClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppConfigDataClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppConfigDataClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppConfigDataBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPCONFIGDATA_API AppConfigDataBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppConfigDataBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppConfigDataClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppConfigDataClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppConfigDataClientConfiguration& config); +}; /** * The type for the AppConfigData Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppConfigDataEndpointProviderBase = using AppConfigDataDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppConfigData + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPCONFIGDATA_EXTERN template class AWS_APPCONFIGDATA_API Aws::Endpoint::EndpointProviderBase< + AppConfigData::Endpoint::AppConfigDataClientConfiguration, AppConfigData::Endpoint::AppConfigDataBuiltInParameters, + AppConfigData::Endpoint::AppConfigDataClientContextParameters>; + +AWS_APPCONFIGDATA_EXTERN template class AWS_APPCONFIGDATA_API Aws::Endpoint::BDDEndpointProvider< + AppConfigData::Endpoint::AppConfigDataClientConfiguration, AppConfigData::Endpoint::AppConfigDataBuiltInParameters, + AppConfigData::Endpoint::AppConfigDataClientContextParameters>; +} // namespace Endpoint + +namespace AppConfigData { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataServiceClientModel.h b/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataServiceClientModel.h index aafa1431e11e..e8a2e3c1b770 100644 --- a/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace AppConfigData { -using AppConfigDataClientConfiguration = Aws::Client::GenericClientConfiguration; using AppConfigDataEndpointProviderBase = Aws::AppConfigData::Endpoint::AppConfigDataEndpointProviderBase; using AppConfigDataEndpointProvider = Aws::AppConfigData::Endpoint::AppConfigDataEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataClient.cpp b/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataClient.cpp index de05ebc9d540..64e1f6f0862a 100644 --- a/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataClient.cpp +++ b/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataClient.cpp @@ -80,41 +80,6 @@ AppConfigDataClient::AppConfigDataClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppConfigDataClient::AppConfigDataClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppConfigDataClient::AppConfigDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppConfigDataClient::~AppConfigDataClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppConfigDataClient::accessEndpointProvider() { return m_endpointProvider; } @@ -132,12 +97,7 @@ void AppConfigDataClient::init(const AppConfigData::AppConfigDataClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "appconfig"); -} - -void AppConfigDataClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppConfigDataClient::InvokeOperationOutcome AppConfigDataClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataClientConfiguration.cpp b/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataClientConfiguration.cpp new file mode 100644 index 000000000000..f5190ad1fe12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppConfigData { + +void AppConfigDataClientConfiguration::LoadAppConfigDataSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppConfigDataClientConfiguration::AppConfigDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppConfigDataSpecificConfig(this->profileName); +} + +AppConfigDataClientConfiguration::AppConfigDataClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppConfigDataSpecificConfig(Aws::String(inputProfileName)); +} + +AppConfigDataClientConfiguration::AppConfigDataClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppConfigDataSpecificConfig(this->profileName); +} + +AppConfigDataClientConfiguration::AppConfigDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppConfigDataSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppConfigDataClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AppConfigData +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataEndpointProvider.cpp b/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataEndpointProvider.cpp index f2cfd7c0afbb..852a811559db 100644 --- a/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_APPCONFIGDATA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppConfigData { namespace Endpoint { AppConfigDataEndpointProvider::AppConfigDataEndpointProvider() : AppConfigDataDefaultEpProviderBase(Aws::AppConfigData::AppConfigDataEndpointRules::GetRulesBlob(), Aws::AppConfigData::AppConfigDataEndpointRules::RulesBlobSize) {} +void AppConfigDataBuiltInParameters::SetFromClientConfiguration(const AppConfigDataClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppConfigDataBuiltInParameters::SetFromClientConfiguration(const AppConfigDataClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppConfigDataBuiltInParameters::SetServiceSpecificParameters(const AppConfigDataClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppConfigData } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricClient.h b/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricClient.h index 4bf72270644a..cd24bad0ee7b 100644 --- a/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricClient.h +++ b/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricClient.h @@ -63,27 +63,6 @@ class AWS_APPFABRIC_API AppFabricClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::AppFabric::AppFabricClientConfiguration& clientConfiguration = Aws::AppFabric::AppFabricClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppFabricClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppFabricClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppFabricClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppFabricClient(); /** @@ -800,7 +779,6 @@ class AWS_APPFABRIC_API AppFabricClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AppFabricClient::UpdateIngestionDestination, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricClientConfiguration.h b/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricClientConfiguration.h new file mode 100644 index 000000000000..dfa7da2ca0bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppFabric { +struct AWS_APPFABRIC_API AppFabricClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppFabricClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppFabricClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppFabricClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppFabricClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppFabricSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPFABRIC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppFabricClientConfiguration& config); +} // namespace AppFabric +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricEndpointProvider.h b/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricEndpointProvider.h index 9f30bc2cc0b7..00ff63491a56 100644 --- a/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AppFabric { namespace Endpoint { +using AppFabricClientConfiguration = Aws::AppFabric::AppFabricClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppFabricClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppFabricClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppFabricBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPFABRIC_API AppFabricBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppFabricBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppFabricClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppFabricClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppFabricClientConfiguration& config); +}; /** * The type for the AppFabric Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppFabricEndpointProviderBase = using AppFabricDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppFabric + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPFABRIC_EXTERN template class AWS_APPFABRIC_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPFABRIC_EXTERN template class AWS_APPFABRIC_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace AppFabric { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricServiceClientModel.h b/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricServiceClientModel.h index 5fdfd212b2bf..cd38b1904034 100644 --- a/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricServiceClientModel.h @@ -74,7 +74,6 @@ class RetryStrategy; } // namespace Client namespace AppFabric { -using AppFabricClientConfiguration = Aws::Client::GenericClientConfiguration; using AppFabricEndpointProviderBase = Aws::AppFabric::Endpoint::AppFabricEndpointProviderBase; using AppFabricEndpointProvider = Aws::AppFabric::Endpoint::AppFabricEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-appfabric/source/AppFabricClient.cpp b/generated/src/aws-cpp-sdk-appfabric/source/AppFabricClient.cpp index afbcf7db2cbf..ac2c0b04dcd4 100644 --- a/generated/src/aws-cpp-sdk-appfabric/source/AppFabricClient.cpp +++ b/generated/src/aws-cpp-sdk-appfabric/source/AppFabricClient.cpp @@ -103,41 +103,6 @@ AppFabricClient::AppFabricClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AppFabricClient::AppFabricClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppFabricClient::AppFabricClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppFabricClient::AppFabricClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppFabricClient::~AppFabricClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppFabricClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void AppFabricClient::init(const AppFabric::AppFabricClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "appfabric"); -} - -void AppFabricClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppFabricClient::InvokeOperationOutcome AppFabricClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-appfabric/source/AppFabricClientConfiguration.cpp b/generated/src/aws-cpp-sdk-appfabric/source/AppFabricClientConfiguration.cpp new file mode 100644 index 000000000000..b9a80975fad4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appfabric/source/AppFabricClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppFabric { + +void AppFabricClientConfiguration::LoadAppFabricSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppFabricClientConfiguration::AppFabricClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppFabricSpecificConfig(this->profileName); +} + +AppFabricClientConfiguration::AppFabricClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppFabricSpecificConfig(Aws::String(inputProfileName)); +} + +AppFabricClientConfiguration::AppFabricClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppFabricSpecificConfig(this->profileName); +} + +AppFabricClientConfiguration::AppFabricClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppFabricSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppFabricClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AppFabric +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appfabric/source/AppFabricEndpointProvider.cpp b/generated/src/aws-cpp-sdk-appfabric/source/AppFabricEndpointProvider.cpp index 15e4a7899fb8..b8ee48abdb5a 100644 --- a/generated/src/aws-cpp-sdk-appfabric/source/AppFabricEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-appfabric/source/AppFabricEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_APPFABRIC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppFabric { namespace Endpoint { AppFabricEndpointProvider::AppFabricEndpointProvider() : AppFabricDefaultEpProviderBase(Aws::AppFabric::AppFabricEndpointRules::GetRulesBlob(), Aws::AppFabric::AppFabricEndpointRules::RulesBlobSize) {} +void AppFabricBuiltInParameters::SetFromClientConfiguration(const AppFabricClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppFabricBuiltInParameters::SetFromClientConfiguration(const AppFabricClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppFabricBuiltInParameters::SetServiceSpecificParameters(const AppFabricClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppFabric } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowClient.h b/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowClient.h index d1a387f54653..51e1cbe01a76 100644 --- a/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowClient.h +++ b/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowClient.h @@ -78,27 +78,6 @@ class AWS_APPFLOW_API AppflowClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Appflow::AppflowClientConfiguration& clientConfiguration = Aws::Appflow::AppflowClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppflowClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppflowClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppflowClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppflowClient(); /** @@ -836,7 +815,6 @@ class AWS_APPFLOW_API AppflowClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AppflowClient::UpdateFlow, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowClientConfiguration.h b/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowClientConfiguration.h new file mode 100644 index 000000000000..29596da708ed --- /dev/null +++ b/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Appflow { +struct AWS_APPFLOW_API AppflowClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppflowClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppflowClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppflowClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppflowClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppflowSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPFLOW_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppflowClientConfiguration& config); +} // namespace Appflow +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowEndpointProvider.h b/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowEndpointProvider.h index 76c5f19e0b60..d557edb802e2 100644 --- a/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Appflow { namespace Endpoint { +using AppflowClientConfiguration = Aws::Appflow::AppflowClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppflowClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppflowClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppflowBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPFLOW_API AppflowBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppflowBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppflowClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppflowClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppflowClientConfiguration& config); +}; /** * The type for the Appflow Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppflowEndpointProviderBase = using AppflowDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Appflow + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPFLOW_EXTERN template class AWS_APPFLOW_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPFLOW_EXTERN template class AWS_APPFLOW_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Appflow { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowServiceClientModel.h b/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowServiceClientModel.h index 417075d46f25..d24a21b87587 100644 --- a/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowServiceClientModel.h @@ -78,7 +78,6 @@ class RetryStrategy; } // namespace Client namespace Appflow { -using AppflowClientConfiguration = Aws::Client::GenericClientConfiguration; using AppflowEndpointProviderBase = Aws::Appflow::Endpoint::AppflowEndpointProviderBase; using AppflowEndpointProvider = Aws::Appflow::Endpoint::AppflowEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-appflow/source/AppflowClient.cpp b/generated/src/aws-cpp-sdk-appflow/source/AppflowClient.cpp index f60fc00f8376..472770337779 100644 --- a/generated/src/aws-cpp-sdk-appflow/source/AppflowClient.cpp +++ b/generated/src/aws-cpp-sdk-appflow/source/AppflowClient.cpp @@ -102,41 +102,6 @@ AppflowClient::AppflowClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AppflowClient::AppflowClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppflowClient::AppflowClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppflowClient::AppflowClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppflowClient::~AppflowClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppflowClient::accessEndpointProvider() { return m_endpointProvider; } @@ -154,12 +119,7 @@ void AppflowClient::init(const Appflow::AppflowClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "appflow"); -} - -void AppflowClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppflowClient::InvokeOperationOutcome AppflowClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-appflow/source/AppflowClientConfiguration.cpp b/generated/src/aws-cpp-sdk-appflow/source/AppflowClientConfiguration.cpp new file mode 100644 index 000000000000..9057390509a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appflow/source/AppflowClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Appflow { + +void AppflowClientConfiguration::LoadAppflowSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppflowClientConfiguration::AppflowClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppflowSpecificConfig(this->profileName); +} + +AppflowClientConfiguration::AppflowClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppflowSpecificConfig(Aws::String(inputProfileName)); +} + +AppflowClientConfiguration::AppflowClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppflowSpecificConfig(this->profileName); +} + +AppflowClientConfiguration::AppflowClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppflowSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppflowClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Appflow +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appflow/source/AppflowEndpointProvider.cpp b/generated/src/aws-cpp-sdk-appflow/source/AppflowEndpointProvider.cpp index 73fee8859326..62c916f7de14 100644 --- a/generated/src/aws-cpp-sdk-appflow/source/AppflowEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-appflow/source/AppflowEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_APPFLOW_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Appflow { namespace Endpoint { AppflowEndpointProvider::AppflowEndpointProvider() : AppflowDefaultEpProviderBase(Aws::Appflow::AppflowEndpointRules::GetRulesBlob(), Aws::Appflow::AppflowEndpointRules::RulesBlobSize) {} +void AppflowBuiltInParameters::SetFromClientConfiguration(const AppflowClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppflowBuiltInParameters::SetFromClientConfiguration(const AppflowClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppflowBuiltInParameters::SetServiceSpecificParameters(const AppflowClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Appflow } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceClient.h b/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceClient.h index 14e1867c238f..fe567c9a4de3 100644 --- a/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceClient.h +++ b/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceClient.h @@ -70,27 +70,6 @@ class AWS_APPINTEGRATIONSSERVICE_API AppIntegrationsServiceClient const Aws::AppIntegrationsService::AppIntegrationsServiceClientConfiguration& clientConfiguration = Aws::AppIntegrationsService::AppIntegrationsServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppIntegrationsServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppIntegrationsServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppIntegrationsServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppIntegrationsServiceClient(); /** @@ -757,7 +736,6 @@ class AWS_APPINTEGRATIONSSERVICE_API AppIntegrationsServiceClient return SubmitAsync(&AppIntegrationsServiceClient::UpdateEventIntegration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceClientConfiguration.h new file mode 100644 index 000000000000..128db80f9f9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppIntegrationsService { +struct AWS_APPINTEGRATIONSSERVICE_API AppIntegrationsServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppIntegrationsServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppIntegrationsServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppIntegrationsServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppIntegrationsServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppIntegrationsServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPINTEGRATIONSSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const AppIntegrationsServiceClientConfiguration& config); +} // namespace AppIntegrationsService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceEndpointProvider.h index 38059289e782..a249c00735c6 100644 --- a/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AppIntegrationsService { namespace Endpoint { +using AppIntegrationsServiceClientConfiguration = Aws::AppIntegrationsService::AppIntegrationsServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppIntegrationsServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppIntegrationsServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppIntegrationsServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPINTEGRATIONSSERVICE_API AppIntegrationsServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppIntegrationsServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppIntegrationsServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppIntegrationsServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppIntegrationsServiceClientConfiguration& config); +}; /** * The type for the AppIntegrationsService Client Endpoint Provider. @@ -36,6 +45,26 @@ using AppIntegrationsServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppIntegrationsService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPINTEGRATIONSSERVICE_EXTERN template class AWS_APPINTEGRATIONSSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPINTEGRATIONSSERVICE_EXTERN template class AWS_APPINTEGRATIONSSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace AppIntegrationsService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceServiceClientModel.h index 5d2e5f372938..14c1f59bc653 100644 --- a/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceServiceClientModel.h @@ -72,7 +72,6 @@ class RetryStrategy; } // namespace Client namespace AppIntegrationsService { -using AppIntegrationsServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using AppIntegrationsServiceEndpointProviderBase = Aws::AppIntegrationsService::Endpoint::AppIntegrationsServiceEndpointProviderBase; using AppIntegrationsServiceEndpointProvider = Aws::AppIntegrationsService::Endpoint::AppIntegrationsServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceClient.cpp b/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceClient.cpp index ff2648496ad5..2b7da37962d6 100644 --- a/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceClient.cpp @@ -106,42 +106,6 @@ AppIntegrationsServiceClient::AppIntegrationsServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AppIntegrationsServiceClient::AppIntegrationsServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppIntegrationsServiceClient::AppIntegrationsServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppIntegrationsServiceClient::AppIntegrationsServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppIntegrationsServiceClient::~AppIntegrationsServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppIntegrationsServiceClient::accessEndpointProvider() { @@ -161,12 +125,7 @@ void AppIntegrationsServiceClient::init(const AppIntegrationsService::AppIntegra AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "app-integrations"); -} - -void AppIntegrationsServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppIntegrationsServiceClient::InvokeOperationOutcome AppIntegrationsServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceClientConfiguration.cpp new file mode 100644 index 000000000000..7f5dfaafa8fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppIntegrationsService { + +void AppIntegrationsServiceClientConfiguration::LoadAppIntegrationsServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppIntegrationsServiceClientConfiguration::AppIntegrationsServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppIntegrationsServiceSpecificConfig(this->profileName); +} + +AppIntegrationsServiceClientConfiguration::AppIntegrationsServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppIntegrationsServiceSpecificConfig(Aws::String(inputProfileName)); +} + +AppIntegrationsServiceClientConfiguration::AppIntegrationsServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppIntegrationsServiceSpecificConfig(this->profileName); +} + +AppIntegrationsServiceClientConfiguration::AppIntegrationsServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppIntegrationsServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppIntegrationsServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AppIntegrationsService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceEndpointProvider.cpp index 48a72da9204f..98b8006e0770 100644 --- a/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_APPINTEGRATIONSSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppIntegrationsService { namespace Endpoint { AppIntegrationsServiceEndpointProvider::AppIntegrationsServiceEndpointProvider() : AppIntegrationsServiceDefaultEpProviderBase(Aws::AppIntegrationsService::AppIntegrationsServiceEndpointRules::GetRulesBlob(), Aws::AppIntegrationsService::AppIntegrationsServiceEndpointRules::RulesBlobSize) {} +void AppIntegrationsServiceBuiltInParameters::SetFromClientConfiguration(const AppIntegrationsServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppIntegrationsServiceBuiltInParameters::SetFromClientConfiguration(const AppIntegrationsServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppIntegrationsServiceBuiltInParameters::SetServiceSpecificParameters(const AppIntegrationsServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppIntegrationsService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClient.h b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClient.h index b786b42f971c..69f5016677ad 100644 --- a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClient.h +++ b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClient.h @@ -89,27 +89,6 @@ class AWS_APPLICATIONAUTOSCALING_API ApplicationAutoScalingClient const Aws::ApplicationAutoScaling::ApplicationAutoScalingClientConfiguration& clientConfiguration = Aws::ApplicationAutoScaling::ApplicationAutoScalingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ApplicationAutoScalingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ApplicationAutoScalingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ApplicationAutoScalingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ApplicationAutoScalingClient(); /** @@ -633,7 +612,6 @@ class AWS_APPLICATIONAUTOSCALING_API ApplicationAutoScalingClient return SubmitAsync(&ApplicationAutoScalingClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClientConfiguration.h b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClientConfiguration.h new file mode 100644 index 000000000000..f81752800620 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ApplicationAutoScaling { +struct AWS_APPLICATIONAUTOSCALING_API ApplicationAutoScalingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ApplicationAutoScalingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationAutoScalingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationAutoScalingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ApplicationAutoScalingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadApplicationAutoScalingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPLICATIONAUTOSCALING_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ApplicationAutoScalingClientConfiguration& config); +} // namespace ApplicationAutoScaling +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingEndpointProvider.h b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingEndpointProvider.h index 39d80cf6684c..d810ce4d1673 100644 --- a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ApplicationAutoScaling { namespace Endpoint { +using ApplicationAutoScalingClientConfiguration = Aws::ApplicationAutoScaling::ApplicationAutoScalingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ApplicationAutoScalingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ApplicationAutoScalingClientConfiguration = Aws::Client::GenericClientConfiguration; -using ApplicationAutoScalingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPLICATIONAUTOSCALING_API ApplicationAutoScalingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ApplicationAutoScalingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ApplicationAutoScalingClientConfiguration& config); + virtual void SetFromClientConfiguration(const ApplicationAutoScalingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ApplicationAutoScalingClientConfiguration& config); +}; /** * The type for the ApplicationAutoScaling Client Endpoint Provider. @@ -36,6 +45,26 @@ using ApplicationAutoScalingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ApplicationAutoScaling + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPLICATIONAUTOSCALING_EXTERN template class AWS_APPLICATIONAUTOSCALING_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPLICATIONAUTOSCALING_EXTERN template class AWS_APPLICATIONAUTOSCALING_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ApplicationAutoScaling { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingServiceClientModel.h b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingServiceClientModel.h index 0692474c69d3..172a2a89f2ec 100644 --- a/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace ApplicationAutoScaling { -using ApplicationAutoScalingClientConfiguration = Aws::Client::GenericClientConfiguration; using ApplicationAutoScalingEndpointProviderBase = Aws::ApplicationAutoScaling::Endpoint::ApplicationAutoScalingEndpointProviderBase; using ApplicationAutoScalingEndpointProvider = Aws::ApplicationAutoScaling::Endpoint::ApplicationAutoScalingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingClient.cpp b/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingClient.cpp index f12060e408cc..3649a750d471 100644 --- a/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingClient.cpp +++ b/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingClient.cpp @@ -97,42 +97,6 @@ ApplicationAutoScalingClient::ApplicationAutoScalingClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ApplicationAutoScalingClient::ApplicationAutoScalingClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationAutoScalingClient::ApplicationAutoScalingClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationAutoScalingClient::ApplicationAutoScalingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ApplicationAutoScalingClient::~ApplicationAutoScalingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ApplicationAutoScalingClient::accessEndpointProvider() { @@ -152,12 +116,7 @@ void ApplicationAutoScalingClient::init(const ApplicationAutoScaling::Applicatio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "application-autoscaling"); -} - -void ApplicationAutoScalingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ApplicationAutoScalingClient::InvokeOperationOutcome ApplicationAutoScalingClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingClientConfiguration.cpp new file mode 100644 index 000000000000..93ecda5e5d2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ApplicationAutoScaling { + +void ApplicationAutoScalingClientConfiguration::LoadApplicationAutoScalingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ApplicationAutoScalingClientConfiguration::ApplicationAutoScalingClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadApplicationAutoScalingSpecificConfig(this->profileName); +} + +ApplicationAutoScalingClientConfiguration::ApplicationAutoScalingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadApplicationAutoScalingSpecificConfig(Aws::String(inputProfileName)); +} + +ApplicationAutoScalingClientConfiguration::ApplicationAutoScalingClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadApplicationAutoScalingSpecificConfig(this->profileName); +} + +ApplicationAutoScalingClientConfiguration::ApplicationAutoScalingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadApplicationAutoScalingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApplicationAutoScalingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ApplicationAutoScaling +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingEndpointProvider.cpp index 9c26b3918d67..a510c73bec5f 100644 --- a/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_APPLICATIONAUTOSCALING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ApplicationAutoScaling { namespace Endpoint { ApplicationAutoScalingEndpointProvider::ApplicationAutoScalingEndpointProvider() : ApplicationAutoScalingDefaultEpProviderBase(Aws::ApplicationAutoScaling::ApplicationAutoScalingEndpointRules::GetRulesBlob(), Aws::ApplicationAutoScaling::ApplicationAutoScalingEndpointRules::RulesBlobSize) {} +void ApplicationAutoScalingBuiltInParameters::SetFromClientConfiguration(const ApplicationAutoScalingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ApplicationAutoScalingBuiltInParameters::SetFromClientConfiguration(const ApplicationAutoScalingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ApplicationAutoScalingBuiltInParameters::SetServiceSpecificParameters(const ApplicationAutoScalingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ApplicationAutoScaling } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsClient.h b/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsClient.h index 587cbb094eb1..e4083ec2d809 100644 --- a/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsClient.h +++ b/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsClient.h @@ -68,27 +68,6 @@ class AWS_APPLICATIONINSIGHTS_API ApplicationInsightsClient : public Aws::Client const Aws::ApplicationInsights::ApplicationInsightsClientConfiguration& clientConfiguration = Aws::ApplicationInsights::ApplicationInsightsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ApplicationInsightsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ApplicationInsightsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ApplicationInsightsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ApplicationInsightsClient(); /** @@ -998,7 +977,6 @@ class AWS_APPLICATIONINSIGHTS_API ApplicationInsightsClient : public Aws::Client return SubmitAsync(&ApplicationInsightsClient::UpdateWorkload, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsClientConfiguration.h b/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsClientConfiguration.h new file mode 100644 index 000000000000..a09874c024bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ApplicationInsights { +struct AWS_APPLICATIONINSIGHTS_API ApplicationInsightsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ApplicationInsightsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationInsightsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationInsightsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ApplicationInsightsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadApplicationInsightsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPLICATIONINSIGHTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApplicationInsightsClientConfiguration& config); +} // namespace ApplicationInsights +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsEndpointProvider.h b/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsEndpointProvider.h index fac66f627d9e..b531614b7154 100644 --- a/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ApplicationInsights { namespace Endpoint { +using ApplicationInsightsClientConfiguration = Aws::ApplicationInsights::ApplicationInsightsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ApplicationInsightsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ApplicationInsightsClientConfiguration = Aws::Client::GenericClientConfiguration; -using ApplicationInsightsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPLICATIONINSIGHTS_API ApplicationInsightsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ApplicationInsightsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ApplicationInsightsClientConfiguration& config); + virtual void SetFromClientConfiguration(const ApplicationInsightsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ApplicationInsightsClientConfiguration& config); +}; /** * The type for the ApplicationInsights Client Endpoint Provider. @@ -36,6 +45,26 @@ using ApplicationInsightsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ApplicationInsights + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPLICATIONINSIGHTS_EXTERN template class AWS_APPLICATIONINSIGHTS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPLICATIONINSIGHTS_EXTERN template class AWS_APPLICATIONINSIGHTS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ApplicationInsights { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsServiceClientModel.h b/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsServiceClientModel.h index d2265fa34dd4..67b39c431d56 100644 --- a/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsServiceClientModel.h @@ -83,7 +83,6 @@ class RetryStrategy; } // namespace Client namespace ApplicationInsights { -using ApplicationInsightsClientConfiguration = Aws::Client::GenericClientConfiguration; using ApplicationInsightsEndpointProviderBase = Aws::ApplicationInsights::Endpoint::ApplicationInsightsEndpointProviderBase; using ApplicationInsightsEndpointProvider = Aws::ApplicationInsights::Endpoint::ApplicationInsightsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsClient.cpp b/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsClient.cpp index 4aee8f9fe64a..1ac79b96fe2d 100644 --- a/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsClient.cpp +++ b/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsClient.cpp @@ -114,42 +114,6 @@ ApplicationInsightsClient::ApplicationInsightsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationInsightsClient::ApplicationInsightsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationInsightsClient::ApplicationInsightsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ApplicationInsightsClient::~ApplicationInsightsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ApplicationInsightsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -167,12 +131,7 @@ void ApplicationInsightsClient::init(const ApplicationInsights::ApplicationInsig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "applicationinsights"); -} - -void ApplicationInsightsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ApplicationInsightsClient::InvokeOperationOutcome ApplicationInsightsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsClientConfiguration.cpp new file mode 100644 index 000000000000..3ed7734f99a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ApplicationInsights { + +void ApplicationInsightsClientConfiguration::LoadApplicationInsightsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ApplicationInsightsClientConfiguration::ApplicationInsightsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadApplicationInsightsSpecificConfig(this->profileName); +} + +ApplicationInsightsClientConfiguration::ApplicationInsightsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadApplicationInsightsSpecificConfig(Aws::String(inputProfileName)); +} + +ApplicationInsightsClientConfiguration::ApplicationInsightsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadApplicationInsightsSpecificConfig(this->profileName); +} + +ApplicationInsightsClientConfiguration::ApplicationInsightsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadApplicationInsightsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApplicationInsightsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ApplicationInsights +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsEndpointProvider.cpp index fa1bbaedefad..b204368f52a9 100644 --- a/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_APPLICATIONINSIGHTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ApplicationInsights { namespace Endpoint { ApplicationInsightsEndpointProvider::ApplicationInsightsEndpointProvider() : ApplicationInsightsDefaultEpProviderBase(Aws::ApplicationInsights::ApplicationInsightsEndpointRules::GetRulesBlob(), Aws::ApplicationInsights::ApplicationInsightsEndpointRules::RulesBlobSize) {} +void ApplicationInsightsBuiltInParameters::SetFromClientConfiguration(const ApplicationInsightsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ApplicationInsightsBuiltInParameters::SetFromClientConfiguration(const ApplicationInsightsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ApplicationInsightsBuiltInParameters::SetServiceSpecificParameters(const ApplicationInsightsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ApplicationInsights } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h index 2563dc183f9b..5c08ca934b77 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClient.h @@ -72,27 +72,6 @@ class AWS_APPLICATIONSIGNALS_API ApplicationSignalsClient : public Aws::Client:: const Aws::ApplicationSignals::ApplicationSignalsClientConfiguration& clientConfiguration = Aws::ApplicationSignals::ApplicationSignalsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ApplicationSignalsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ApplicationSignalsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ApplicationSignalsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ApplicationSignalsClient(); /** @@ -1091,7 +1070,6 @@ class AWS_APPLICATIONSIGNALS_API ApplicationSignalsClient : public Aws::Client:: return SubmitAsync(&ApplicationSignalsClient::UpdateServiceLevelObjective, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClientConfiguration.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClientConfiguration.h new file mode 100644 index 000000000000..465c5725cb32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ApplicationSignals { +struct AWS_APPLICATIONSIGNALS_API ApplicationSignalsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ApplicationSignalsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationSignalsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationSignalsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ApplicationSignalsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadApplicationSignalsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPLICATIONSIGNALS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApplicationSignalsClientConfiguration& config); +} // namespace ApplicationSignals +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointProvider.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointProvider.h index fedbc7a3dd4e..945f9ca43cb8 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ApplicationSignals { namespace Endpoint { +using ApplicationSignalsClientConfiguration = Aws::ApplicationSignals::ApplicationSignalsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ApplicationSignalsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ApplicationSignalsClientConfiguration = Aws::Client::GenericClientConfiguration; -using ApplicationSignalsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPLICATIONSIGNALS_API ApplicationSignalsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ApplicationSignalsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ApplicationSignalsClientConfiguration& config); + virtual void SetFromClientConfiguration(const ApplicationSignalsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ApplicationSignalsClientConfiguration& config); +}; /** * The type for the ApplicationSignals Client Endpoint Provider. @@ -36,6 +45,24 @@ using ApplicationSignalsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ApplicationSignals + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPLICATIONSIGNALS_EXTERN template class AWS_APPLICATIONSIGNALS_API Aws::Endpoint::EndpointProviderBase< + ApplicationSignals::Endpoint::ApplicationSignalsClientConfiguration, ApplicationSignals::Endpoint::ApplicationSignalsBuiltInParameters, + ApplicationSignals::Endpoint::ApplicationSignalsClientContextParameters>; + +AWS_APPLICATIONSIGNALS_EXTERN template class AWS_APPLICATIONSIGNALS_API Aws::Endpoint::BDDEndpointProvider< + ApplicationSignals::Endpoint::ApplicationSignalsClientConfiguration, ApplicationSignals::Endpoint::ApplicationSignalsBuiltInParameters, + ApplicationSignals::Endpoint::ApplicationSignalsClientContextParameters>; +} // namespace Endpoint + +namespace ApplicationSignals { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsServiceClientModel.h b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsServiceClientModel.h index edc60bd0051c..dafcb84faa59 100644 --- a/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace ApplicationSignals { -using ApplicationSignalsClientConfiguration = Aws::Client::GenericClientConfiguration; using ApplicationSignalsEndpointProviderBase = Aws::ApplicationSignals::Endpoint::ApplicationSignalsEndpointProviderBase; using ApplicationSignalsEndpointProvider = Aws::ApplicationSignals::Endpoint::ApplicationSignalsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClient.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClient.cpp index 85f1bab15612..8b0d15739ffd 100644 --- a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClient.cpp +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClient.cpp @@ -111,42 +111,6 @@ ApplicationSignalsClient::ApplicationSignalsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationSignalsClient::ApplicationSignalsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationSignalsClient::ApplicationSignalsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ApplicationSignalsClient::~ApplicationSignalsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ApplicationSignalsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -164,12 +128,7 @@ void ApplicationSignalsClient::init(const ApplicationSignals::ApplicationSignals AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "application-signals"); -} - -void ApplicationSignalsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ApplicationSignalsClient::InvokeOperationOutcome ApplicationSignalsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClientConfiguration.cpp new file mode 100644 index 000000000000..6a2d5ab9c729 --- /dev/null +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ApplicationSignals { + +void ApplicationSignalsClientConfiguration::LoadApplicationSignalsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ApplicationSignalsClientConfiguration::ApplicationSignalsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadApplicationSignalsSpecificConfig(this->profileName); +} + +ApplicationSignalsClientConfiguration::ApplicationSignalsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadApplicationSignalsSpecificConfig(Aws::String(inputProfileName)); +} + +ApplicationSignalsClientConfiguration::ApplicationSignalsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadApplicationSignalsSpecificConfig(this->profileName); +} + +ApplicationSignalsClientConfiguration::ApplicationSignalsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadApplicationSignalsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApplicationSignalsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ApplicationSignals +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointProvider.cpp index a00e53594408..d1c18d2bfe90 100644 --- a/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_APPLICATIONSIGNALS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ApplicationSignals { namespace Endpoint { ApplicationSignalsEndpointProvider::ApplicationSignalsEndpointProvider() : ApplicationSignalsDefaultEpProviderBase(Aws::ApplicationSignals::ApplicationSignalsEndpointRules::GetRulesBlob(), Aws::ApplicationSignals::ApplicationSignalsEndpointRules::RulesBlobSize) {} +void ApplicationSignalsBuiltInParameters::SetFromClientConfiguration(const ApplicationSignalsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ApplicationSignalsBuiltInParameters::SetFromClientConfiguration(const ApplicationSignalsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ApplicationSignalsBuiltInParameters::SetServiceSpecificParameters(const ApplicationSignalsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace ApplicationSignals } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerClient.h b/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerClient.h index 0fb44b275caa..22b66ec05701 100644 --- a/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerClient.h +++ b/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerClient.h @@ -63,27 +63,6 @@ class AWS_APPLICATIONCOSTPROFILER_API ApplicationCostProfilerClient const Aws::ApplicationCostProfiler::ApplicationCostProfilerClientConfiguration& clientConfiguration = Aws::ApplicationCostProfiler::ApplicationCostProfilerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ApplicationCostProfilerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ApplicationCostProfilerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ApplicationCostProfilerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ApplicationCostProfilerClient(); /** @@ -256,7 +235,6 @@ class AWS_APPLICATIONCOSTPROFILER_API ApplicationCostProfilerClient return SubmitAsync(&ApplicationCostProfilerClient::UpdateReportDefinition, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerClientConfiguration.h b/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerClientConfiguration.h new file mode 100644 index 000000000000..6789257922f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ApplicationCostProfiler { +struct AWS_APPLICATIONCOSTPROFILER_API ApplicationCostProfilerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ApplicationCostProfilerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationCostProfilerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationCostProfilerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ApplicationCostProfilerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadApplicationCostProfilerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPLICATIONCOSTPROFILER_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ApplicationCostProfilerClientConfiguration& config); +} // namespace ApplicationCostProfiler +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerEndpointProvider.h b/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerEndpointProvider.h index 72d8adf1df56..f079c244c97f 100644 --- a/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ApplicationCostProfiler { namespace Endpoint { +using ApplicationCostProfilerClientConfiguration = Aws::ApplicationCostProfiler::ApplicationCostProfilerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ApplicationCostProfilerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ApplicationCostProfilerClientConfiguration = Aws::Client::GenericClientConfiguration; -using ApplicationCostProfilerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPLICATIONCOSTPROFILER_API ApplicationCostProfilerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ApplicationCostProfilerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ApplicationCostProfilerClientConfiguration& config); + virtual void SetFromClientConfiguration(const ApplicationCostProfilerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ApplicationCostProfilerClientConfiguration& config); +}; /** * The type for the ApplicationCostProfiler Client Endpoint Provider. @@ -36,6 +45,26 @@ using ApplicationCostProfilerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ApplicationCostProfiler + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPLICATIONCOSTPROFILER_EXTERN template class AWS_APPLICATIONCOSTPROFILER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPLICATIONCOSTPROFILER_EXTERN template class AWS_APPLICATIONCOSTPROFILER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ApplicationCostProfiler { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerServiceClientModel.h b/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerServiceClientModel.h index 9f0578b925b7..4aa1c6cac5d9 100644 --- a/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerServiceClientModel.h @@ -53,7 +53,6 @@ class RetryStrategy; } // namespace Client namespace ApplicationCostProfiler { -using ApplicationCostProfilerClientConfiguration = Aws::Client::GenericClientConfiguration; using ApplicationCostProfilerEndpointProviderBase = Aws::ApplicationCostProfiler::Endpoint::ApplicationCostProfilerEndpointProviderBase; using ApplicationCostProfilerEndpointProvider = Aws::ApplicationCostProfiler::Endpoint::ApplicationCostProfilerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerClient.cpp b/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerClient.cpp index 0628c51e4701..3291d047bcd4 100644 --- a/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerClient.cpp +++ b/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerClient.cpp @@ -89,42 +89,6 @@ ApplicationCostProfilerClient::ApplicationCostProfilerClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ApplicationCostProfilerClient::ApplicationCostProfilerClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationCostProfilerClient::ApplicationCostProfilerClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationCostProfilerClient::ApplicationCostProfilerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ApplicationCostProfilerClient::~ApplicationCostProfilerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ApplicationCostProfilerClient::accessEndpointProvider() { @@ -144,12 +108,7 @@ void ApplicationCostProfilerClient::init(const ApplicationCostProfiler::Applicat AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "application-cost-profiler"); -} - -void ApplicationCostProfilerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ApplicationCostProfilerClient::InvokeOperationOutcome ApplicationCostProfilerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerClientConfiguration.cpp new file mode 100644 index 000000000000..35f0b53d29b8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ApplicationCostProfiler { + +void ApplicationCostProfilerClientConfiguration::LoadApplicationCostProfilerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ApplicationCostProfilerClientConfiguration::ApplicationCostProfilerClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadApplicationCostProfilerSpecificConfig(this->profileName); +} + +ApplicationCostProfilerClientConfiguration::ApplicationCostProfilerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadApplicationCostProfilerSpecificConfig(Aws::String(inputProfileName)); +} + +ApplicationCostProfilerClientConfiguration::ApplicationCostProfilerClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadApplicationCostProfilerSpecificConfig(this->profileName); +} + +ApplicationCostProfilerClientConfiguration::ApplicationCostProfilerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadApplicationCostProfilerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApplicationCostProfilerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ApplicationCostProfiler +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerEndpointProvider.cpp index 68958e7d52da..8b331fa4ef8e 100644 --- a/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_APPLICATIONCOSTPROFILER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ApplicationCostProfiler { namespace Endpoint { ApplicationCostProfilerEndpointProvider::ApplicationCostProfilerEndpointProvider() : ApplicationCostProfilerDefaultEpProviderBase(Aws::ApplicationCostProfiler::ApplicationCostProfilerEndpointRules::GetRulesBlob(), Aws::ApplicationCostProfiler::ApplicationCostProfilerEndpointRules::RulesBlobSize) {} +void ApplicationCostProfilerBuiltInParameters::SetFromClientConfiguration(const ApplicationCostProfilerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ApplicationCostProfilerBuiltInParameters::SetFromClientConfiguration(const ApplicationCostProfilerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ApplicationCostProfilerBuiltInParameters::SetServiceSpecificParameters(const ApplicationCostProfilerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ApplicationCostProfiler } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshClient.h b/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshClient.h index b7d25088fcf4..aa82cf8989c6 100644 --- a/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshClient.h +++ b/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshClient.h @@ -67,27 +67,6 @@ class AWS_APPMESH_API AppMeshClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::AppMesh::AppMeshClientConfiguration& clientConfiguration = Aws::AppMesh::AppMeshClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppMeshClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppMeshClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppMeshClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppMeshClient(); /** @@ -1154,7 +1133,6 @@ class AWS_APPMESH_API AppMeshClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AppMeshClient::UpdateVirtualService, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshClientConfiguration.h b/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshClientConfiguration.h new file mode 100644 index 000000000000..d02539fe5602 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppMesh { +struct AWS_APPMESH_API AppMeshClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppMeshClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppMeshClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppMeshClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppMeshClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppMeshSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPMESH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppMeshClientConfiguration& config); +} // namespace AppMesh +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshEndpointProvider.h b/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshEndpointProvider.h index 98f5a8bf16a7..c083522006ab 100644 --- a/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AppMesh { namespace Endpoint { +using AppMeshClientConfiguration = Aws::AppMesh::AppMeshClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppMeshClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppMeshClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppMeshBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPMESH_API AppMeshBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppMeshBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppMeshClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppMeshClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppMeshClientConfiguration& config); +}; /** * The type for the AppMesh Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppMeshEndpointProviderBase = using AppMeshDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppMesh + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPMESH_EXTERN template class AWS_APPMESH_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPMESH_EXTERN template class AWS_APPMESH_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace AppMesh { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshServiceClientModel.h b/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshServiceClientModel.h index eb1ed4c96531..456687bb7d7f 100644 --- a/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshServiceClientModel.h @@ -85,7 +85,6 @@ class RetryStrategy; } // namespace Client namespace AppMesh { -using AppMeshClientConfiguration = Aws::Client::GenericClientConfiguration; using AppMeshEndpointProviderBase = Aws::AppMesh::Endpoint::AppMeshEndpointProviderBase; using AppMeshEndpointProvider = Aws::AppMesh::Endpoint::AppMeshEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-appmesh/source/AppMeshClient.cpp b/generated/src/aws-cpp-sdk-appmesh/source/AppMeshClient.cpp index 51829dd60241..f45f6c2ebe9f 100644 --- a/generated/src/aws-cpp-sdk-appmesh/source/AppMeshClient.cpp +++ b/generated/src/aws-cpp-sdk-appmesh/source/AppMeshClient.cpp @@ -115,41 +115,6 @@ AppMeshClient::AppMeshClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AppMeshClient::AppMeshClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppMeshClient::AppMeshClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppMeshClient::AppMeshClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppMeshClient::~AppMeshClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppMeshClient::accessEndpointProvider() { return m_endpointProvider; } @@ -167,12 +132,7 @@ void AppMeshClient::init(const AppMesh::AppMeshClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "appmesh"); -} - -void AppMeshClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppMeshClient::InvokeOperationOutcome AppMeshClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-appmesh/source/AppMeshClientConfiguration.cpp b/generated/src/aws-cpp-sdk-appmesh/source/AppMeshClientConfiguration.cpp new file mode 100644 index 000000000000..37b56c474697 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appmesh/source/AppMeshClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppMesh { + +void AppMeshClientConfiguration::LoadAppMeshSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppMeshClientConfiguration::AppMeshClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppMeshSpecificConfig(this->profileName); +} + +AppMeshClientConfiguration::AppMeshClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppMeshSpecificConfig(Aws::String(inputProfileName)); +} + +AppMeshClientConfiguration::AppMeshClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppMeshSpecificConfig(this->profileName); +} + +AppMeshClientConfiguration::AppMeshClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppMeshSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppMeshClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AppMesh +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appmesh/source/AppMeshEndpointProvider.cpp b/generated/src/aws-cpp-sdk-appmesh/source/AppMeshEndpointProvider.cpp index 24af1542b81b..4b0f83241e48 100644 --- a/generated/src/aws-cpp-sdk-appmesh/source/AppMeshEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-appmesh/source/AppMeshEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_APPMESH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppMesh { namespace Endpoint { AppMeshEndpointProvider::AppMeshEndpointProvider() : AppMeshDefaultEpProviderBase(Aws::AppMesh::AppMeshEndpointRules::GetRulesBlob(), Aws::AppMesh::AppMeshEndpointRules::RulesBlobSize) {} +void AppMeshBuiltInParameters::SetFromClientConfiguration(const AppMeshClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppMeshBuiltInParameters::SetFromClientConfiguration(const AppMeshClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppMeshBuiltInParameters::SetServiceSpecificParameters(const AppMeshClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppMesh } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerClient.h b/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerClient.h index 89afc6b348b1..c6dafbef0c40 100644 --- a/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerClient.h +++ b/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerClient.h @@ -71,27 +71,6 @@ class AWS_APPRUNNER_API AppRunnerClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::AppRunner::AppRunnerClientConfiguration& clientConfiguration = Aws::AppRunner::AppRunnerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppRunnerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppRunnerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppRunnerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppRunnerClient(); /** @@ -1224,7 +1203,6 @@ class AWS_APPRUNNER_API AppRunnerClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AppRunnerClient::UpdateVpcIngressConnection, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerClientConfiguration.h b/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerClientConfiguration.h new file mode 100644 index 000000000000..84392ce47ffc --- /dev/null +++ b/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppRunner { +struct AWS_APPRUNNER_API AppRunnerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppRunnerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppRunnerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppRunnerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppRunnerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppRunnerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPRUNNER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppRunnerClientConfiguration& config); +} // namespace AppRunner +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerEndpointProvider.h b/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerEndpointProvider.h index 3363d0657422..26a5e497e4be 100644 --- a/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AppRunner { namespace Endpoint { +using AppRunnerClientConfiguration = Aws::AppRunner::AppRunnerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppRunnerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppRunnerClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppRunnerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPRUNNER_API AppRunnerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppRunnerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppRunnerClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppRunnerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppRunnerClientConfiguration& config); +}; /** * The type for the AppRunner Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppRunnerEndpointProviderBase = using AppRunnerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppRunner + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPRUNNER_EXTERN template class AWS_APPRUNNER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPRUNNER_EXTERN template class AWS_APPRUNNER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace AppRunner { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerServiceClientModel.h b/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerServiceClientModel.h index 0e7a4240588b..4fd49a7562b9 100644 --- a/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerServiceClientModel.h @@ -89,7 +89,6 @@ class RetryStrategy; } // namespace Client namespace AppRunner { -using AppRunnerClientConfiguration = Aws::Client::GenericClientConfiguration; using AppRunnerEndpointProviderBase = Aws::AppRunner::Endpoint::AppRunnerEndpointProviderBase; using AppRunnerEndpointProvider = Aws::AppRunner::Endpoint::AppRunnerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerClient.cpp b/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerClient.cpp index 3c3ff94fea73..71ac0da0bb4e 100644 --- a/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerClient.cpp +++ b/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerClient.cpp @@ -114,41 +114,6 @@ AppRunnerClient::AppRunnerClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AppRunnerClient::AppRunnerClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppRunnerClient::AppRunnerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppRunnerClient::AppRunnerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppRunnerClient::~AppRunnerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppRunnerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -166,12 +131,7 @@ void AppRunnerClient::init(const AppRunner::AppRunnerClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "apprunner"); -} - -void AppRunnerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppRunnerClient::InvokeOperationOutcome AppRunnerClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerClientConfiguration.cpp new file mode 100644 index 000000000000..bdf7db65e2f8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppRunner { + +void AppRunnerClientConfiguration::LoadAppRunnerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppRunnerClientConfiguration::AppRunnerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppRunnerSpecificConfig(this->profileName); +} + +AppRunnerClientConfiguration::AppRunnerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppRunnerSpecificConfig(Aws::String(inputProfileName)); +} + +AppRunnerClientConfiguration::AppRunnerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppRunnerSpecificConfig(this->profileName); +} + +AppRunnerClientConfiguration::AppRunnerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppRunnerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppRunnerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AppRunner +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerEndpointProvider.cpp index 91c6152133c6..34cdbc9f8298 100644 --- a/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-apprunner/source/AppRunnerEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_APPRUNNER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppRunner { namespace Endpoint { AppRunnerEndpointProvider::AppRunnerEndpointProvider() : AppRunnerDefaultEpProviderBase(Aws::AppRunner::AppRunnerEndpointRules::GetRulesBlob(), Aws::AppRunner::AppRunnerEndpointRules::RulesBlobSize) {} +void AppRunnerBuiltInParameters::SetFromClientConfiguration(const AppRunnerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppRunnerBuiltInParameters::SetFromClientConfiguration(const AppRunnerClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppRunnerBuiltInParameters::SetServiceSpecificParameters(const AppRunnerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppRunner } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamClient.h b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamClient.h index 6c94c4984600..9a4f68649621 100644 --- a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamClient.h +++ b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamClient.h @@ -70,27 +70,6 @@ class AWS_APPSTREAM_API AppStreamClient : public Aws::Client::AWSRpcV2CborClient std::shared_ptr endpointProvider = nullptr, const Aws::AppStream::AppStreamClientConfiguration& clientConfiguration = Aws::AppStream::AppStreamClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppStreamClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppStreamClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppStreamClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppStreamClient(); /** @@ -2625,7 +2604,6 @@ class AWS_APPSTREAM_API AppStreamClient : public Aws::Client::AWSRpcV2CborClient return SubmitAsync(&AppStreamClient::UpdateThemeForStack, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamClientConfiguration.h b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamClientConfiguration.h new file mode 100644 index 000000000000..c38066fbe979 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppStream { +struct AWS_APPSTREAM_API AppStreamClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppStreamClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppStreamClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppStreamClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppStreamClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppStreamSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPSTREAM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppStreamClientConfiguration& config); +} // namespace AppStream +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamEndpointProvider.h b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamEndpointProvider.h index 15e66554fa25..08dd51ec1712 100644 --- a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AppStream { namespace Endpoint { +using AppStreamClientConfiguration = Aws::AppStream::AppStreamClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppStreamClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppStreamClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppStreamBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPSTREAM_API AppStreamBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppStreamBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppStreamClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppStreamClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppStreamClientConfiguration& config); +}; /** * The type for the AppStream Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppStreamEndpointProviderBase = using AppStreamDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppStream + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPSTREAM_EXTERN template class AWS_APPSTREAM_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPSTREAM_EXTERN template class AWS_APPSTREAM_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace AppStream { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamServiceClientModel.h b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamServiceClientModel.h index 948703704ea3..c7746f005ca8 100644 --- a/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamServiceClientModel.h @@ -152,7 +152,6 @@ class RetryStrategy; } // namespace Client namespace AppStream { -using AppStreamClientConfiguration = Aws::Client::GenericClientConfiguration; using AppStreamEndpointProviderBase = Aws::AppStream::Endpoint::AppStreamEndpointProviderBase; using AppStreamEndpointProvider = Aws::AppStream::Endpoint::AppStreamEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-appstream/source/AppStreamClient.cpp b/generated/src/aws-cpp-sdk-appstream/source/AppStreamClient.cpp index cac8e39252c9..3ac7c736800c 100644 --- a/generated/src/aws-cpp-sdk-appstream/source/AppStreamClient.cpp +++ b/generated/src/aws-cpp-sdk-appstream/source/AppStreamClient.cpp @@ -166,41 +166,6 @@ AppStreamClient::AppStreamClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AppStreamClient::AppStreamClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppStreamClient::AppStreamClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppStreamClient::AppStreamClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppStreamClient::~AppStreamClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppStreamClient::accessEndpointProvider() { return m_endpointProvider; } @@ -218,12 +183,7 @@ void AppStreamClient::init(const AppStream::AppStreamClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "appstream"); -} - -void AppStreamClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppStreamClient::InvokeOperationOutcome AppStreamClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-appstream/source/AppStreamClientConfiguration.cpp b/generated/src/aws-cpp-sdk-appstream/source/AppStreamClientConfiguration.cpp new file mode 100644 index 000000000000..efa6007f8e31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appstream/source/AppStreamClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppStream { + +void AppStreamClientConfiguration::LoadAppStreamSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppStreamClientConfiguration::AppStreamClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppStreamSpecificConfig(this->profileName); +} + +AppStreamClientConfiguration::AppStreamClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppStreamSpecificConfig(Aws::String(inputProfileName)); +} + +AppStreamClientConfiguration::AppStreamClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppStreamSpecificConfig(this->profileName); +} + +AppStreamClientConfiguration::AppStreamClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppStreamSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppStreamClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AppStream +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appstream/source/AppStreamEndpointProvider.cpp b/generated/src/aws-cpp-sdk-appstream/source/AppStreamEndpointProvider.cpp index 1c84fee5517d..8cb78fa3584c 100644 --- a/generated/src/aws-cpp-sdk-appstream/source/AppStreamEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-appstream/source/AppStreamEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_APPSTREAM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppStream { namespace Endpoint { AppStreamEndpointProvider::AppStreamEndpointProvider() : AppStreamDefaultEpProviderBase(Aws::AppStream::AppStreamEndpointRules::GetRulesBlob(), Aws::AppStream::AppStreamEndpointRules::RulesBlobSize) {} +void AppStreamBuiltInParameters::SetFromClientConfiguration(const AppStreamClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppStreamBuiltInParameters::SetFromClientConfiguration(const AppStreamClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppStreamBuiltInParameters::SetServiceSpecificParameters(const AppStreamClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppStream } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClient.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClient.h index 4dd0c524562d..a1dd89e8b88c 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClient.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClient.h @@ -53,27 +53,6 @@ class AWS_APPSYNC_API AppSyncClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::AppSync::AppSyncClientConfiguration& clientConfiguration = Aws::AppSync::AppSyncClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppSyncClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppSyncClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppSyncClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppSyncClient(); /** @@ -2077,7 +2056,6 @@ class AWS_APPSYNC_API AppSyncClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AppSyncClient::UpdateType, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClientConfiguration.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClientConfiguration.h new file mode 100644 index 000000000000..0316ef2130cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppSync { +struct AWS_APPSYNC_API AppSyncClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppSyncClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppSyncClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppSyncClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppSyncClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppSyncSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPSYNC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppSyncClientConfiguration& config); +} // namespace AppSync +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncEndpointProvider.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncEndpointProvider.h index 85f12b334c36..af2f2ce5a643 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AppSync { namespace Endpoint { +using AppSyncClientConfiguration = Aws::AppSync::AppSyncClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppSyncClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppSyncClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppSyncBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPSYNC_API AppSyncBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppSyncBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppSyncClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppSyncClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppSyncClientConfiguration& config); +}; /** * The type for the AppSync Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppSyncEndpointProviderBase = using AppSyncDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppSync + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPSYNC_EXTERN template class AWS_APPSYNC_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPSYNC_EXTERN template class AWS_APPSYNC_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace AppSync { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncServiceClientModel.h b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncServiceClientModel.h index 5da4dc6d7b0a..95b80e11edaa 100644 --- a/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncServiceClientModel.h @@ -124,7 +124,6 @@ class RetryStrategy; } // namespace Client namespace AppSync { -using AppSyncClientConfiguration = Aws::Client::GenericClientConfiguration; using AppSyncEndpointProviderBase = Aws::AppSync::Endpoint::AppSyncEndpointProviderBase; using AppSyncEndpointProvider = Aws::AppSync::Endpoint::AppSyncEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-appsync/source/AppSyncClient.cpp b/generated/src/aws-cpp-sdk-appsync/source/AppSyncClient.cpp index b10d719952e7..469813330569 100644 --- a/generated/src/aws-cpp-sdk-appsync/source/AppSyncClient.cpp +++ b/generated/src/aws-cpp-sdk-appsync/source/AppSyncClient.cpp @@ -151,41 +151,6 @@ AppSyncClient::AppSyncClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AppSyncClient::AppSyncClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppSyncClient::AppSyncClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppSyncClient::AppSyncClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppSyncClient::~AppSyncClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppSyncClient::accessEndpointProvider() { return m_endpointProvider; } @@ -203,12 +168,7 @@ void AppSyncClient::init(const AppSync::AppSyncClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "appsync"); -} - -void AppSyncClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppSyncClient::InvokeOperationOutcome AppSyncClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-appsync/source/AppSyncClientConfiguration.cpp b/generated/src/aws-cpp-sdk-appsync/source/AppSyncClientConfiguration.cpp new file mode 100644 index 000000000000..0adb2d42f529 --- /dev/null +++ b/generated/src/aws-cpp-sdk-appsync/source/AppSyncClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppSync { + +void AppSyncClientConfiguration::LoadAppSyncSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppSyncClientConfiguration::AppSyncClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppSyncSpecificConfig(this->profileName); +} + +AppSyncClientConfiguration::AppSyncClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppSyncSpecificConfig(Aws::String(inputProfileName)); +} + +AppSyncClientConfiguration::AppSyncClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppSyncSpecificConfig(this->profileName); +} + +AppSyncClientConfiguration::AppSyncClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppSyncSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppSyncClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AppSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-appsync/source/AppSyncEndpointProvider.cpp b/generated/src/aws-cpp-sdk-appsync/source/AppSyncEndpointProvider.cpp index c1af850944a9..7d9a63d94e19 100644 --- a/generated/src/aws-cpp-sdk-appsync/source/AppSyncEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-appsync/source/AppSyncEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_APPSYNC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppSync { namespace Endpoint { AppSyncEndpointProvider::AppSyncEndpointProvider() : AppSyncDefaultEpProviderBase(Aws::AppSync::AppSyncEndpointRules::GetRulesBlob(), Aws::AppSync::AppSyncEndpointRules::RulesBlobSize) {} +void AppSyncBuiltInParameters::SetFromClientConfiguration(const AppSyncClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppSyncBuiltInParameters::SetFromClientConfiguration(const AppSyncClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppSyncBuiltInParameters::SetServiceSpecificParameters(const AppSyncClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppSync } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchClient.h b/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchClient.h index 40e44662e3b3..eaa32adbff46 100644 --- a/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchClient.h +++ b/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchClient.h @@ -66,27 +66,6 @@ class AWS_ARCREGIONSWITCH_API ARCRegionswitchClient : public Aws::Client::AWSJso const Aws::ARCRegionswitch::ARCRegionswitchClientConfiguration& clientConfiguration = Aws::ARCRegionswitch::ARCRegionswitchClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ARCRegionswitchClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ARCRegionswitchClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ARCRegionswitchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ARCRegionswitchClient(); /** @@ -712,7 +691,6 @@ class AWS_ARCREGIONSWITCH_API ARCRegionswitchClient : public Aws::Client::AWSJso return SubmitAsync(&ARCRegionswitchClient::UpdatePlanExecutionStep, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchClientConfiguration.h b/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchClientConfiguration.h new file mode 100644 index 000000000000..b09ec0f53096 --- /dev/null +++ b/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ARCRegionswitch { +struct AWS_ARCREGIONSWITCH_API ARCRegionswitchClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ARCRegionswitchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ARCRegionswitchClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ARCRegionswitchClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ARCRegionswitchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadARCRegionswitchSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ARCREGIONSWITCH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ARCRegionswitchClientConfiguration& config); +} // namespace ARCRegionswitch +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchEndpointProvider.h b/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchEndpointProvider.h index 6db76f0a77ed..ca3ae3bc8509 100644 --- a/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ARCRegionswitch { namespace Endpoint { +using ARCRegionswitchClientConfiguration = Aws::ARCRegionswitch::ARCRegionswitchClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ARCRegionswitchClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ARCRegionswitchClientConfiguration = Aws::Client::GenericClientConfiguration; -using ARCRegionswitchBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ARCREGIONSWITCH_API ARCRegionswitchBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ARCRegionswitchBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ARCRegionswitchClientConfiguration& config); + virtual void SetFromClientConfiguration(const ARCRegionswitchClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ARCRegionswitchClientConfiguration& config); +}; /** * The type for the ARCRegionswitch Client Endpoint Provider. @@ -34,6 +43,24 @@ using ARCRegionswitchEndpointProviderBase = using ARCRegionswitchDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ARCRegionswitch + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ARCREGIONSWITCH_EXTERN template class AWS_ARCREGIONSWITCH_API Aws::Endpoint::EndpointProviderBase< + ARCRegionswitch::Endpoint::ARCRegionswitchClientConfiguration, ARCRegionswitch::Endpoint::ARCRegionswitchBuiltInParameters, + ARCRegionswitch::Endpoint::ARCRegionswitchClientContextParameters>; + +AWS_ARCREGIONSWITCH_EXTERN template class AWS_ARCREGIONSWITCH_API Aws::Endpoint::BDDEndpointProvider< + ARCRegionswitch::Endpoint::ARCRegionswitchClientConfiguration, ARCRegionswitch::Endpoint::ARCRegionswitchBuiltInParameters, + ARCRegionswitch::Endpoint::ARCRegionswitchClientContextParameters>; +} // namespace Endpoint + +namespace ARCRegionswitch { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchServiceClientModel.h b/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchServiceClientModel.h index 094368d3695b..af96ae305d11 100644 --- a/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace ARCRegionswitch { -using ARCRegionswitchClientConfiguration = Aws::Client::GenericClientConfiguration; using ARCRegionswitchEndpointProviderBase = Aws::ARCRegionswitch::Endpoint::ARCRegionswitchEndpointProviderBase; using ARCRegionswitchEndpointProvider = Aws::ARCRegionswitch::Endpoint::ARCRegionswitchEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchClient.cpp b/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchClient.cpp index 5033a84789a9..96bc31c1b2df 100644 --- a/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchClient.cpp +++ b/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchClient.cpp @@ -103,41 +103,6 @@ ARCRegionswitchClient::ARCRegionswitchClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ARCRegionswitchClient::ARCRegionswitchClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ARCRegionswitchClient::ARCRegionswitchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ARCRegionswitchClient::~ARCRegionswitchClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ARCRegionswitchClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void ARCRegionswitchClient::init(const ARCRegionswitch::ARCRegionswitchClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "arc-region-switch"); -} - -void ARCRegionswitchClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ARCRegionswitchClient::InvokeOperationOutcome ARCRegionswitchClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchClientConfiguration.cpp b/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchClientConfiguration.cpp new file mode 100644 index 000000000000..706f33580e41 --- /dev/null +++ b/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ARCRegionswitch { + +void ARCRegionswitchClientConfiguration::LoadARCRegionswitchSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ARCRegionswitchClientConfiguration::ARCRegionswitchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadARCRegionswitchSpecificConfig(this->profileName); +} + +ARCRegionswitchClientConfiguration::ARCRegionswitchClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadARCRegionswitchSpecificConfig(Aws::String(inputProfileName)); +} + +ARCRegionswitchClientConfiguration::ARCRegionswitchClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadARCRegionswitchSpecificConfig(this->profileName); +} + +ARCRegionswitchClientConfiguration::ARCRegionswitchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadARCRegionswitchSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ARCRegionswitchClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ARCRegionswitch +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchEndpointProvider.cpp b/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchEndpointProvider.cpp index 4bc5d8a22b52..e14cfd54c764 100644 --- a/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_ARCREGIONSWITCH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ARCRegionswitch { namespace Endpoint { ARCRegionswitchEndpointProvider::ARCRegionswitchEndpointProvider() : ARCRegionswitchDefaultEpProviderBase(Aws::ARCRegionswitch::ARCRegionswitchEndpointRules::GetRulesBlob(), Aws::ARCRegionswitch::ARCRegionswitchEndpointRules::RulesBlobSize) {} +void ARCRegionswitchBuiltInParameters::SetFromClientConfiguration(const ARCRegionswitchClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ARCRegionswitchBuiltInParameters::SetFromClientConfiguration(const ARCRegionswitchClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ARCRegionswitchBuiltInParameters::SetServiceSpecificParameters(const ARCRegionswitchClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace ARCRegionswitch } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftClient.h b/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftClient.h index df61d3180826..2d187b55083d 100644 --- a/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftClient.h +++ b/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftClient.h @@ -71,27 +71,6 @@ class AWS_ARCZONALSHIFT_API ARCZonalShiftClient : public Aws::Client::AWSJsonCli const Aws::ARCZonalShift::ARCZonalShiftClientConfiguration& clientConfiguration = Aws::ARCZonalShift::ARCZonalShiftClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ARCZonalShiftClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ARCZonalShiftClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ARCZonalShiftClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ARCZonalShiftClient(); /** @@ -601,7 +580,6 @@ class AWS_ARCZONALSHIFT_API ARCZonalShiftClient : public Aws::Client::AWSJsonCli return SubmitAsync(&ARCZonalShiftClient::UpdateZonalShift, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftClientConfiguration.h b/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftClientConfiguration.h new file mode 100644 index 000000000000..17ca15a99ffa --- /dev/null +++ b/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ARCZonalShift { +struct AWS_ARCZONALSHIFT_API ARCZonalShiftClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ARCZonalShiftClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ARCZonalShiftClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ARCZonalShiftClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ARCZonalShiftClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadARCZonalShiftSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ARCZONALSHIFT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ARCZonalShiftClientConfiguration& config); +} // namespace ARCZonalShift +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftEndpointProvider.h b/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftEndpointProvider.h index 5aaa3274302e..00e2ad6a8a67 100644 --- a/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ARCZonalShift { namespace Endpoint { +using ARCZonalShiftClientConfiguration = Aws::ARCZonalShift::ARCZonalShiftClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ARCZonalShiftClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ARCZonalShiftClientConfiguration = Aws::Client::GenericClientConfiguration; -using ARCZonalShiftBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ARCZONALSHIFT_API ARCZonalShiftBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ARCZonalShiftBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ARCZonalShiftClientConfiguration& config); + virtual void SetFromClientConfiguration(const ARCZonalShiftClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ARCZonalShiftClientConfiguration& config); +}; /** * The type for the ARCZonalShift Client Endpoint Provider. @@ -34,6 +43,24 @@ using ARCZonalShiftEndpointProviderBase = using ARCZonalShiftDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ARCZonalShift + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ARCZONALSHIFT_EXTERN template class AWS_ARCZONALSHIFT_API Aws::Endpoint::EndpointProviderBase< + ARCZonalShift::Endpoint::ARCZonalShiftClientConfiguration, ARCZonalShift::Endpoint::ARCZonalShiftBuiltInParameters, + ARCZonalShift::Endpoint::ARCZonalShiftClientContextParameters>; + +AWS_ARCZONALSHIFT_EXTERN template class AWS_ARCZONALSHIFT_API Aws::Endpoint::BDDEndpointProvider< + ARCZonalShift::Endpoint::ARCZonalShiftClientConfiguration, ARCZonalShift::Endpoint::ARCZonalShiftBuiltInParameters, + ARCZonalShift::Endpoint::ARCZonalShiftClientContextParameters>; +} // namespace Endpoint + +namespace ARCZonalShift { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftServiceClientModel.h b/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftServiceClientModel.h index 6d69c994f26d..d775d3a387aa 100644 --- a/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftServiceClientModel.h @@ -65,7 +65,6 @@ class RetryStrategy; } // namespace Client namespace ARCZonalShift { -using ARCZonalShiftClientConfiguration = Aws::Client::GenericClientConfiguration; using ARCZonalShiftEndpointProviderBase = Aws::ARCZonalShift::Endpoint::ARCZonalShiftEndpointProviderBase; using ARCZonalShiftEndpointProvider = Aws::ARCZonalShift::Endpoint::ARCZonalShiftEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftClient.cpp b/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftClient.cpp index a9dc61e5f14c..38104f81b474 100644 --- a/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftClient.cpp +++ b/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftClient.cpp @@ -93,41 +93,6 @@ ARCZonalShiftClient::ARCZonalShiftClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ARCZonalShiftClient::ARCZonalShiftClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ARCZonalShiftClient::ARCZonalShiftClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ARCZonalShiftClient::~ARCZonalShiftClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ARCZonalShiftClient::accessEndpointProvider() { return m_endpointProvider; } @@ -145,12 +110,7 @@ void ARCZonalShiftClient::init(const ARCZonalShift::ARCZonalShiftClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "arc-zonal-shift"); -} - -void ARCZonalShiftClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ARCZonalShiftClient::InvokeOperationOutcome ARCZonalShiftClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftClientConfiguration.cpp b/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftClientConfiguration.cpp new file mode 100644 index 000000000000..8e81ccfb0669 --- /dev/null +++ b/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ARCZonalShift { + +void ARCZonalShiftClientConfiguration::LoadARCZonalShiftSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ARCZonalShiftClientConfiguration::ARCZonalShiftClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadARCZonalShiftSpecificConfig(this->profileName); +} + +ARCZonalShiftClientConfiguration::ARCZonalShiftClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadARCZonalShiftSpecificConfig(Aws::String(inputProfileName)); +} + +ARCZonalShiftClientConfiguration::ARCZonalShiftClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadARCZonalShiftSpecificConfig(this->profileName); +} + +ARCZonalShiftClientConfiguration::ARCZonalShiftClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadARCZonalShiftSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ARCZonalShiftClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ARCZonalShift +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftEndpointProvider.cpp b/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftEndpointProvider.cpp index eb1485dcd610..61c707d61953 100644 --- a/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ARCZONALSHIFT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ARCZonalShift { namespace Endpoint { ARCZonalShiftEndpointProvider::ARCZonalShiftEndpointProvider() : ARCZonalShiftDefaultEpProviderBase(Aws::ARCZonalShift::ARCZonalShiftEndpointRules::GetRulesBlob(), Aws::ARCZonalShift::ARCZonalShiftEndpointRules::RulesBlobSize) {} +void ARCZonalShiftBuiltInParameters::SetFromClientConfiguration(const ARCZonalShiftClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ARCZonalShiftBuiltInParameters::SetFromClientConfiguration(const ARCZonalShiftClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ARCZonalShiftBuiltInParameters::SetServiceSpecificParameters(const ARCZonalShiftClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ARCZonalShift } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactClient.h b/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactClient.h index fb56a1d52e82..29df54f8e472 100644 --- a/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactClient.h +++ b/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactClient.h @@ -53,27 +53,6 @@ class AWS_ARTIFACT_API ArtifactClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Artifact::ArtifactClientConfiguration& clientConfiguration = Aws::Artifact::ArtifactClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ArtifactClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ArtifactClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ArtifactClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ArtifactClient(); /** @@ -535,7 +514,6 @@ class AWS_ARTIFACT_API ArtifactClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ArtifactClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactClientConfiguration.h b/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactClientConfiguration.h new file mode 100644 index 000000000000..b31f6c4049e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Artifact { +struct AWS_ARTIFACT_API ArtifactClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ArtifactClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ArtifactClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ArtifactClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ArtifactClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadArtifactSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ARTIFACT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ArtifactClientConfiguration& config); +} // namespace Artifact +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactEndpointProvider.h b/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactEndpointProvider.h index 18273e292bc4..9d4fcfec67d9 100644 --- a/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Artifact { namespace Endpoint { +using ArtifactClientConfiguration = Aws::Artifact::ArtifactClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ArtifactClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ArtifactClientConfiguration = Aws::Client::GenericClientConfiguration; -using ArtifactBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ARTIFACT_API ArtifactBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ArtifactBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ArtifactClientConfiguration& config); + virtual void SetFromClientConfiguration(const ArtifactClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ArtifactClientConfiguration& config); +}; /** * The type for the Artifact Client Endpoint Provider. @@ -34,6 +43,24 @@ using ArtifactEndpointProviderBase = using ArtifactDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Artifact + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ARTIFACT_EXTERN template class AWS_ARTIFACT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ARTIFACT_EXTERN template class AWS_ARTIFACT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Artifact { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactServiceClientModel.h b/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactServiceClientModel.h index 420338afdc1a..48ba4ad96417 100644 --- a/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactServiceClientModel.h @@ -68,7 +68,6 @@ class RetryStrategy; } // namespace Client namespace Artifact { -using ArtifactClientConfiguration = Aws::Client::GenericClientConfiguration; using ArtifactEndpointProviderBase = Aws::Artifact::Endpoint::ArtifactEndpointProviderBase; using ArtifactEndpointProvider = Aws::Artifact::Endpoint::ArtifactEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-artifact/source/ArtifactClient.cpp b/generated/src/aws-cpp-sdk-artifact/source/ArtifactClient.cpp index d6efff2afcaa..50f8681690f1 100644 --- a/generated/src/aws-cpp-sdk-artifact/source/ArtifactClient.cpp +++ b/generated/src/aws-cpp-sdk-artifact/source/ArtifactClient.cpp @@ -94,41 +94,6 @@ ArtifactClient::ArtifactClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ArtifactClient::ArtifactClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ArtifactClient::ArtifactClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ArtifactClient::ArtifactClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ArtifactClient::~ArtifactClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ArtifactClient::accessEndpointProvider() { return m_endpointProvider; } @@ -146,12 +111,7 @@ void ArtifactClient::init(const Artifact::ArtifactClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "artifact"); -} - -void ArtifactClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ArtifactClient::InvokeOperationOutcome ArtifactClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-artifact/source/ArtifactClientConfiguration.cpp b/generated/src/aws-cpp-sdk-artifact/source/ArtifactClientConfiguration.cpp new file mode 100644 index 000000000000..294a26d72825 --- /dev/null +++ b/generated/src/aws-cpp-sdk-artifact/source/ArtifactClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Artifact { + +void ArtifactClientConfiguration::LoadArtifactSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ArtifactClientConfiguration::ArtifactClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadArtifactSpecificConfig(this->profileName); +} + +ArtifactClientConfiguration::ArtifactClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadArtifactSpecificConfig(Aws::String(inputProfileName)); +} + +ArtifactClientConfiguration::ArtifactClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadArtifactSpecificConfig(this->profileName); +} + +ArtifactClientConfiguration::ArtifactClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadArtifactSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ArtifactClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Artifact +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-artifact/source/ArtifactEndpointProvider.cpp b/generated/src/aws-cpp-sdk-artifact/source/ArtifactEndpointProvider.cpp index 57ef89928f9d..5ac9ba29181a 100644 --- a/generated/src/aws-cpp-sdk-artifact/source/ArtifactEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-artifact/source/ArtifactEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_ARTIFACT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Artifact { namespace Endpoint { ArtifactEndpointProvider::ArtifactEndpointProvider() : ArtifactDefaultEpProviderBase(Aws::Artifact::ArtifactEndpointRules::GetRulesBlob(), Aws::Artifact::ArtifactEndpointRules::RulesBlobSize) {} +void ArtifactBuiltInParameters::SetFromClientConfiguration(const ArtifactClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ArtifactBuiltInParameters::SetFromClientConfiguration(const ArtifactClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ArtifactBuiltInParameters::SetServiceSpecificParameters(const ArtifactClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Artifact } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClient.h b/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClient.h index 0b74b5e9f473..65708ff6c810 100644 --- a/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClient.h +++ b/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClient.h @@ -65,27 +65,6 @@ class AWS_ATHENA_API AthenaClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Athena::AthenaClientConfiguration& clientConfiguration = Aws::Athena::AthenaClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AthenaClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AthenaClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AthenaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AthenaClient(); /** @@ -2111,7 +2090,6 @@ class AWS_ATHENA_API AthenaClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AthenaClient::UpdateWorkGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClientConfiguration.h b/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClientConfiguration.h new file mode 100644 index 000000000000..97ba6a2a2e4d --- /dev/null +++ b/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Athena { +struct AWS_ATHENA_API AthenaClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AthenaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AthenaClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AthenaClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AthenaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAthenaSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ATHENA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AthenaClientConfiguration& config); +} // namespace Athena +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaEndpointProvider.h b/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaEndpointProvider.h index f9600eea2876..97041a163a47 100644 --- a/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Athena { namespace Endpoint { +using AthenaClientConfiguration = Aws::Athena::AthenaClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AthenaClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AthenaClientConfiguration = Aws::Client::GenericClientConfiguration; -using AthenaBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ATHENA_API AthenaBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AthenaBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AthenaClientConfiguration& config); + virtual void SetFromClientConfiguration(const AthenaClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AthenaClientConfiguration& config); +}; /** * The type for the Athena Client Endpoint Provider. @@ -32,6 +41,24 @@ using AthenaEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Athena + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ATHENA_EXTERN template class AWS_ATHENA_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ATHENA_EXTERN template class AWS_ATHENA_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Athena { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaServiceClientModel.h b/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaServiceClientModel.h index 30ced505d158..a39d59b30087 100644 --- a/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaServiceClientModel.h @@ -123,7 +123,6 @@ class RetryStrategy; } // namespace Client namespace Athena { -using AthenaClientConfiguration = Aws::Client::GenericClientConfiguration; using AthenaEndpointProviderBase = Aws::Athena::Endpoint::AthenaEndpointProviderBase; using AthenaEndpointProvider = Aws::Athena::Endpoint::AthenaEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-athena/source/AthenaClient.cpp b/generated/src/aws-cpp-sdk-athena/source/AthenaClient.cpp index 7c2098674b1f..9dc06d594dbf 100644 --- a/generated/src/aws-cpp-sdk-athena/source/AthenaClient.cpp +++ b/generated/src/aws-cpp-sdk-athena/source/AthenaClient.cpp @@ -147,41 +147,6 @@ AthenaClient::AthenaClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -AthenaClient::AthenaClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AthenaClient::AthenaClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AthenaClient::AthenaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AthenaClient::~AthenaClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AthenaClient::accessEndpointProvider() { return m_endpointProvider; } @@ -199,12 +164,7 @@ void AthenaClient::init(const Athena::AthenaClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "athena"); -} - -void AthenaClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AthenaClient::InvokeOperationOutcome AthenaClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-athena/source/AthenaClientConfiguration.cpp b/generated/src/aws-cpp-sdk-athena/source/AthenaClientConfiguration.cpp new file mode 100644 index 000000000000..1c1d6a0e0a5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-athena/source/AthenaClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Athena { + +void AthenaClientConfiguration::LoadAthenaSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AthenaClientConfiguration::AthenaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAthenaSpecificConfig(this->profileName); +} + +AthenaClientConfiguration::AthenaClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAthenaSpecificConfig(Aws::String(inputProfileName)); +} + +AthenaClientConfiguration::AthenaClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAthenaSpecificConfig(this->profileName); +} + +AthenaClientConfiguration::AthenaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAthenaSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AthenaClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Athena +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-athena/source/AthenaEndpointProvider.cpp b/generated/src/aws-cpp-sdk-athena/source/AthenaEndpointProvider.cpp index 3c93d80946bf..ed077ab046e2 100644 --- a/generated/src/aws-cpp-sdk-athena/source/AthenaEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-athena/source/AthenaEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_ATHENA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Athena { namespace Endpoint { AthenaEndpointProvider::AthenaEndpointProvider() : AthenaDefaultEpProviderBase(Aws::Athena::AthenaEndpointRules::GetRulesBlob(), Aws::Athena::AthenaEndpointRules::RulesBlobSize) {} +void AthenaBuiltInParameters::SetFromClientConfiguration(const AthenaClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AthenaBuiltInParameters::SetFromClientConfiguration(const AthenaClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AthenaBuiltInParameters::SetServiceSpecificParameters(const AthenaClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Athena } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerClient.h b/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerClient.h index bc7ad734ba41..c99b6c3069ec 100644 --- a/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerClient.h +++ b/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerClient.h @@ -79,27 +79,6 @@ class AWS_AUDITMANAGER_API AuditManagerClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::AuditManager::AuditManagerClientConfiguration& clientConfiguration = Aws::AuditManager::AuditManagerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AuditManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AuditManagerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AuditManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AuditManagerClient(); /** @@ -2018,7 +1997,6 @@ class AWS_AUDITMANAGER_API AuditManagerClient : public Aws::Client::AWSJsonClien return SubmitAsync(&AuditManagerClient::ValidateAssessmentReportIntegrity, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerClientConfiguration.h b/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerClientConfiguration.h new file mode 100644 index 000000000000..1ff2e91d8b3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AuditManager { +struct AWS_AUDITMANAGER_API AuditManagerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AuditManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AuditManagerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AuditManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AuditManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAuditManagerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AUDITMANAGER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AuditManagerClientConfiguration& config); +} // namespace AuditManager +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerEndpointProvider.h b/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerEndpointProvider.h index 6528b638a572..01c1c6814930 100644 --- a/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AuditManager { namespace Endpoint { +using AuditManagerClientConfiguration = Aws::AuditManager::AuditManagerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AuditManagerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AuditManagerClientConfiguration = Aws::Client::GenericClientConfiguration; -using AuditManagerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AUDITMANAGER_API AuditManagerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AuditManagerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AuditManagerClientConfiguration& config); + virtual void SetFromClientConfiguration(const AuditManagerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AuditManagerClientConfiguration& config); +}; /** * The type for the AuditManager Client Endpoint Provider. @@ -34,6 +43,24 @@ using AuditManagerEndpointProviderBase = using AuditManagerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AuditManager + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AUDITMANAGER_EXTERN template class AWS_AUDITMANAGER_API Aws::Endpoint::EndpointProviderBase< + AuditManager::Endpoint::AuditManagerClientConfiguration, AuditManager::Endpoint::AuditManagerBuiltInParameters, + AuditManager::Endpoint::AuditManagerClientContextParameters>; + +AWS_AUDITMANAGER_EXTERN template class AWS_AUDITMANAGER_API Aws::Endpoint::BDDEndpointProvider< + AuditManager::Endpoint::AuditManagerClientConfiguration, AuditManager::Endpoint::AuditManagerBuiltInParameters, + AuditManager::Endpoint::AuditManagerClientContextParameters>; +} // namespace Endpoint + +namespace AuditManager { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerServiceClientModel.h index 707df116a881..276ba416a20b 100644 --- a/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerServiceClientModel.h @@ -121,7 +121,6 @@ class RetryStrategy; } // namespace Client namespace AuditManager { -using AuditManagerClientConfiguration = Aws::Client::GenericClientConfiguration; using AuditManagerEndpointProviderBase = Aws::AuditManager::Endpoint::AuditManagerEndpointProviderBase; using AuditManagerEndpointProvider = Aws::AuditManager::Endpoint::AuditManagerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerClient.cpp b/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerClient.cpp index 2436dbca2c25..7a58adc9e07c 100644 --- a/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerClient.cpp @@ -140,41 +140,6 @@ AuditManagerClient::AuditManagerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AuditManagerClient::AuditManagerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AuditManagerClient::AuditManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AuditManagerClient::~AuditManagerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AuditManagerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -192,12 +157,7 @@ void AuditManagerClient::init(const AuditManager::AuditManagerClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "auditmanager"); -} - -void AuditManagerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AuditManagerClient::InvokeOperationOutcome AuditManagerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerClientConfiguration.cpp new file mode 100644 index 000000000000..ec04bddd2c9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AuditManager { + +void AuditManagerClientConfiguration::LoadAuditManagerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AuditManagerClientConfiguration::AuditManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAuditManagerSpecificConfig(this->profileName); +} + +AuditManagerClientConfiguration::AuditManagerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAuditManagerSpecificConfig(Aws::String(inputProfileName)); +} + +AuditManagerClientConfiguration::AuditManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAuditManagerSpecificConfig(this->profileName); +} + +AuditManagerClientConfiguration::AuditManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAuditManagerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AuditManagerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AuditManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerEndpointProvider.cpp index 18390e600172..ee476c25ed02 100644 --- a/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_AUDITMANAGER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AuditManager { namespace Endpoint { AuditManagerEndpointProvider::AuditManagerEndpointProvider() : AuditManagerDefaultEpProviderBase(Aws::AuditManager::AuditManagerEndpointRules::GetRulesBlob(), Aws::AuditManager::AuditManagerEndpointRules::RulesBlobSize) {} +void AuditManagerBuiltInParameters::SetFromClientConfiguration(const AuditManagerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AuditManagerBuiltInParameters::SetFromClientConfiguration(const AuditManagerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AuditManagerBuiltInParameters::SetServiceSpecificParameters(const AuditManagerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AuditManager } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansClient.h b/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansClient.h index ee8243d71654..c962ba270207 100644 --- a/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansClient.h +++ b/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansClient.h @@ -70,27 +70,6 @@ class AWS_AUTOSCALINGPLANS_API AutoScalingPlansClient : public Aws::Client::AWSJ const Aws::AutoScalingPlans::AutoScalingPlansClientConfiguration& clientConfiguration = Aws::AutoScalingPlans::AutoScalingPlansClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AutoScalingPlansClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AutoScalingPlansClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AutoScalingPlansClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AutoScalingPlansClient(); /** @@ -266,7 +245,6 @@ class AWS_AUTOSCALINGPLANS_API AutoScalingPlansClient : public Aws::Client::AWSJ return SubmitAsync(&AutoScalingPlansClient::UpdateScalingPlan, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansClientConfiguration.h b/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansClientConfiguration.h new file mode 100644 index 000000000000..d117fe187287 --- /dev/null +++ b/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AutoScalingPlans { +struct AWS_AUTOSCALINGPLANS_API AutoScalingPlansClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AutoScalingPlansClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AutoScalingPlansClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AutoScalingPlansClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AutoScalingPlansClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAutoScalingPlansSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AUTOSCALINGPLANS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AutoScalingPlansClientConfiguration& config); +} // namespace AutoScalingPlans +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansEndpointProvider.h b/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansEndpointProvider.h index ed3fc0b2d6fc..a739264b3ab2 100644 --- a/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AutoScalingPlans { namespace Endpoint { +using AutoScalingPlansClientConfiguration = Aws::AutoScalingPlans::AutoScalingPlansClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AutoScalingPlansClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AutoScalingPlansClientConfiguration = Aws::Client::GenericClientConfiguration; -using AutoScalingPlansBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AUTOSCALINGPLANS_API AutoScalingPlansBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AutoScalingPlansBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AutoScalingPlansClientConfiguration& config); + virtual void SetFromClientConfiguration(const AutoScalingPlansClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AutoScalingPlansClientConfiguration& config); +}; /** * The type for the AutoScalingPlans Client Endpoint Provider. @@ -34,6 +43,24 @@ using AutoScalingPlansEndpointProviderBase = using AutoScalingPlansDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AutoScalingPlans + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AUTOSCALINGPLANS_EXTERN template class AWS_AUTOSCALINGPLANS_API Aws::Endpoint::EndpointProviderBase< + AutoScalingPlans::Endpoint::AutoScalingPlansClientConfiguration, AutoScalingPlans::Endpoint::AutoScalingPlansBuiltInParameters, + AutoScalingPlans::Endpoint::AutoScalingPlansClientContextParameters>; + +AWS_AUTOSCALINGPLANS_EXTERN template class AWS_AUTOSCALINGPLANS_API Aws::Endpoint::BDDEndpointProvider< + AutoScalingPlans::Endpoint::AutoScalingPlansClientConfiguration, AutoScalingPlans::Endpoint::AutoScalingPlansBuiltInParameters, + AutoScalingPlans::Endpoint::AutoScalingPlansClientContextParameters>; +} // namespace Endpoint + +namespace AutoScalingPlans { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansServiceClientModel.h b/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansServiceClientModel.h index 2af2f57a103e..24fbd19802db 100644 --- a/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansServiceClientModel.h @@ -53,7 +53,6 @@ class RetryStrategy; } // namespace Client namespace AutoScalingPlans { -using AutoScalingPlansClientConfiguration = Aws::Client::GenericClientConfiguration; using AutoScalingPlansEndpointProviderBase = Aws::AutoScalingPlans::Endpoint::AutoScalingPlansEndpointProviderBase; using AutoScalingPlansEndpointProvider = Aws::AutoScalingPlans::Endpoint::AutoScalingPlansEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansClient.cpp b/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansClient.cpp index 05d4521e49ec..006c95334568 100644 --- a/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansClient.cpp +++ b/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansClient.cpp @@ -87,42 +87,6 @@ AutoScalingPlansClient::AutoScalingPlansClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AutoScalingPlansClient::AutoScalingPlansClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AutoScalingPlansClient::AutoScalingPlansClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AutoScalingPlansClient::~AutoScalingPlansClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AutoScalingPlansClient::accessEndpointProvider() { return m_endpointProvider; } @@ -140,12 +104,7 @@ void AutoScalingPlansClient::init(const AutoScalingPlans::AutoScalingPlansClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "autoscaling-plans"); -} - -void AutoScalingPlansClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AutoScalingPlansClient::InvokeOperationOutcome AutoScalingPlansClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansClientConfiguration.cpp b/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansClientConfiguration.cpp new file mode 100644 index 000000000000..1ebdb7d9fa0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AutoScalingPlans { + +void AutoScalingPlansClientConfiguration::LoadAutoScalingPlansSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AutoScalingPlansClientConfiguration::AutoScalingPlansClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAutoScalingPlansSpecificConfig(this->profileName); +} + +AutoScalingPlansClientConfiguration::AutoScalingPlansClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAutoScalingPlansSpecificConfig(Aws::String(inputProfileName)); +} + +AutoScalingPlansClientConfiguration::AutoScalingPlansClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAutoScalingPlansSpecificConfig(this->profileName); +} + +AutoScalingPlansClientConfiguration::AutoScalingPlansClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAutoScalingPlansSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AutoScalingPlansClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AutoScalingPlans +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansEndpointProvider.cpp b/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansEndpointProvider.cpp index c797a892e66f..e5ef9dbb4a07 100644 --- a/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_AUTOSCALINGPLANS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AutoScalingPlans { namespace Endpoint { AutoScalingPlansEndpointProvider::AutoScalingPlansEndpointProvider() : AutoScalingPlansDefaultEpProviderBase(Aws::AutoScalingPlans::AutoScalingPlansEndpointRules::GetRulesBlob(), Aws::AutoScalingPlans::AutoScalingPlansEndpointRules::RulesBlobSize) {} +void AutoScalingPlansBuiltInParameters::SetFromClientConfiguration(const AutoScalingPlansClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AutoScalingPlansBuiltInParameters::SetFromClientConfiguration(const AutoScalingPlansClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AutoScalingPlansBuiltInParameters::SetServiceSpecificParameters(const AutoScalingPlansClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AutoScalingPlans } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h index da35423580e5..30a3287042ed 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h +++ b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClient.h @@ -69,27 +69,6 @@ class AWS_AUTOSCALING_API AutoScalingClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::AutoScaling::AutoScalingClientConfiguration& clientConfiguration = Aws::AutoScaling::AutoScalingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AutoScalingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AutoScalingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AutoScalingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AutoScalingClient(); /** @@ -2597,7 +2576,6 @@ class AWS_AUTOSCALING_API AutoScalingClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&AutoScalingClient::UpdateAutoScalingGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClientConfiguration.h b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClientConfiguration.h new file mode 100644 index 000000000000..cb2b6fdf0557 --- /dev/null +++ b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AutoScaling { +struct AWS_AUTOSCALING_API AutoScalingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AutoScalingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AutoScalingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AutoScalingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AutoScalingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAutoScalingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AUTOSCALING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AutoScalingClientConfiguration& config); +} // namespace AutoScaling +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingEndpointProvider.h b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingEndpointProvider.h index cd4390d6209e..4915b1a73791 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace AutoScaling { namespace Endpoint { +using AutoScalingClientConfiguration = Aws::AutoScaling::AutoScalingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AutoScalingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AutoScalingClientConfiguration = Aws::Client::GenericClientConfiguration; -using AutoScalingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AUTOSCALING_API AutoScalingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AutoScalingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AutoScalingClientConfiguration& config); + virtual void SetFromClientConfiguration(const AutoScalingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AutoScalingClientConfiguration& config); +}; /** * The type for the AutoScaling Client Endpoint Provider. @@ -34,6 +43,24 @@ using AutoScalingEndpointProviderBase = using AutoScalingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AutoScaling + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AUTOSCALING_EXTERN template class AWS_AUTOSCALING_API Aws::Endpoint::EndpointProviderBase< + AutoScaling::Endpoint::AutoScalingClientConfiguration, AutoScaling::Endpoint::AutoScalingBuiltInParameters, + AutoScaling::Endpoint::AutoScalingClientContextParameters>; + +AWS_AUTOSCALING_EXTERN template class AWS_AUTOSCALING_API Aws::Endpoint::BDDEndpointProvider< + AutoScaling::Endpoint::AutoScalingClientConfiguration, AutoScaling::Endpoint::AutoScalingBuiltInParameters, + AutoScaling::Endpoint::AutoScalingClientContextParameters>; +} // namespace Endpoint + +namespace AutoScaling { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingServiceClientModel.h b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingServiceClientModel.h index 5096056e5bbe..190017e9b05c 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingServiceClientModel.h @@ -111,7 +111,6 @@ class RetryStrategy; } // namespace Client namespace AutoScaling { -using AutoScalingClientConfiguration = Aws::Client::GenericClientConfiguration; using AutoScalingEndpointProviderBase = Aws::AutoScaling::Endpoint::AutoScalingEndpointProviderBase; using AutoScalingEndpointProvider = Aws::AutoScaling::Endpoint::AutoScalingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingClient.cpp b/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingClient.cpp index b3072530191a..eb9c999fb73f 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingClient.cpp +++ b/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingClient.cpp @@ -145,41 +145,6 @@ AutoScalingClient::AutoScalingClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AutoScalingClient::AutoScalingClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AutoScalingClient::AutoScalingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AutoScalingClient::~AutoScalingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AutoScalingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -197,12 +162,7 @@ void AutoScalingClient::init(const AutoScaling::AutoScalingClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "autoscaling"); -} - -void AutoScalingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String AutoScalingClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingClientConfiguration.cpp new file mode 100644 index 000000000000..d5cffa1c8d54 --- /dev/null +++ b/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AutoScaling { + +void AutoScalingClientConfiguration::LoadAutoScalingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AutoScalingClientConfiguration::AutoScalingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAutoScalingSpecificConfig(this->profileName); +} + +AutoScalingClientConfiguration::AutoScalingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAutoScalingSpecificConfig(Aws::String(inputProfileName)); +} + +AutoScalingClientConfiguration::AutoScalingClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAutoScalingSpecificConfig(this->profileName); +} + +AutoScalingClientConfiguration::AutoScalingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAutoScalingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AutoScalingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AutoScaling +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingEndpointProvider.cpp index 6660b73fe36f..377ab1834ab0 100644 --- a/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_AUTOSCALING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AutoScaling { namespace Endpoint { AutoScalingEndpointProvider::AutoScalingEndpointProvider() : AutoScalingDefaultEpProviderBase(Aws::AutoScaling::AutoScalingEndpointRules::GetRulesBlob(), Aws::AutoScaling::AutoScalingEndpointRules::RulesBlobSize) {} +void AutoScalingBuiltInParameters::SetFromClientConfiguration(const AutoScalingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AutoScalingBuiltInParameters::SetFromClientConfiguration(const AutoScalingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AutoScalingBuiltInParameters::SetServiceSpecificParameters(const AutoScalingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AutoScaling } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h index f8bbd0f5a100..1dea7782a636 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClient.h @@ -88,27 +88,6 @@ class AWS_TRANSFER_API TransferClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Transfer::TransferClientConfiguration& clientConfiguration = Aws::Transfer::TransferClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TransferClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TransferClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TransferClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TransferClient(); /** @@ -2225,7 +2204,6 @@ class AWS_TRANSFER_API TransferClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&TransferClient::UpdateWebAppCustomization, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClientConfiguration.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClientConfiguration.h new file mode 100644 index 000000000000..102b4cb0454d --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Transfer { +struct AWS_TRANSFER_API TransferClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + TransferClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TransferClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TransferClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TransferClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadTransferSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TRANSFER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TransferClientConfiguration& config); +} // namespace Transfer +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferEndpointProvider.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferEndpointProvider.h index 18ce716fb786..9bd2543ca89e 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Transfer { namespace Endpoint { +using TransferClientConfiguration = Aws::Transfer::TransferClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using TransferClientContextParameters = Aws::Endpoint::ClientContextParameters; -using TransferClientConfiguration = Aws::Client::GenericClientConfiguration; -using TransferBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_TRANSFER_API TransferBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~TransferBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const TransferClientConfiguration& config); + virtual void SetFromClientConfiguration(const TransferClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TransferClientConfiguration& config); +}; /** * The type for the Transfer Client Endpoint Provider. @@ -34,6 +43,24 @@ using TransferEndpointProviderBase = using TransferDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Transfer + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_TRANSFER_EXTERN template class AWS_TRANSFER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_TRANSFER_EXTERN template class AWS_TRANSFER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Transfer { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferServiceClientModel.h b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferServiceClientModel.h index c03e246e85c7..81ff3fa92be6 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferServiceClientModel.h @@ -110,7 +110,6 @@ class RetryStrategy; } // namespace Client namespace Transfer { -using TransferClientConfiguration = Aws::Client::GenericClientConfiguration; using TransferEndpointProviderBase = Aws::Transfer::Endpoint::TransferEndpointProviderBase; using TransferEndpointProvider = Aws::Transfer::Endpoint::TransferEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/TransferClient.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/TransferClient.cpp index 36e84e64952a..290a56ade1c6 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/source/TransferClient.cpp +++ b/generated/src/aws-cpp-sdk-awstransfer/source/TransferClient.cpp @@ -148,41 +148,6 @@ TransferClient::TransferClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -TransferClient::TransferClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TransferClient::TransferClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TransferClient::TransferClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TransferClient::~TransferClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TransferClient::accessEndpointProvider() { return m_endpointProvider; } @@ -200,12 +165,7 @@ void TransferClient::init(const Transfer::TransferClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "transfer"); -} - -void TransferClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TransferClient::InvokeOperationOutcome TransferClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/TransferClientConfiguration.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/TransferClientConfiguration.cpp new file mode 100644 index 000000000000..f56be17d1da8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-awstransfer/source/TransferClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Transfer { + +void TransferClientConfiguration::LoadTransferSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +TransferClientConfiguration::TransferClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadTransferSpecificConfig(this->profileName); +} + +TransferClientConfiguration::TransferClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadTransferSpecificConfig(Aws::String(inputProfileName)); +} + +TransferClientConfiguration::TransferClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadTransferSpecificConfig(this->profileName); +} + +TransferClientConfiguration::TransferClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadTransferSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TransferClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Transfer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-awstransfer/source/TransferEndpointProvider.cpp b/generated/src/aws-cpp-sdk-awstransfer/source/TransferEndpointProvider.cpp index 01345894d5f9..a762c069b02d 100644 --- a/generated/src/aws-cpp-sdk-awstransfer/source/TransferEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-awstransfer/source/TransferEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_TRANSFER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Transfer { namespace Endpoint { TransferEndpointProvider::TransferEndpointProvider() : TransferDefaultEpProviderBase(Aws::Transfer::TransferEndpointRules::GetRulesBlob(), Aws::Transfer::TransferEndpointRules::RulesBlobSize) {} +void TransferBuiltInParameters::SetFromClientConfiguration(const TransferClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void TransferBuiltInParameters::SetFromClientConfiguration(const TransferClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void TransferBuiltInParameters::SetServiceSpecificParameters(const TransferClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Transfer } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIClient.h b/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIClient.h index dc944b3baff7..669994cf2e46 100644 --- a/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIClient.h +++ b/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIClient.h @@ -64,27 +64,6 @@ class AWS_B2BI_API B2BIClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::B2BI::B2BIClientConfiguration& clientConfiguration = Aws::B2BI::B2BIClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - B2BIClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - B2BIClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - B2BIClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~B2BIClient(); /** @@ -975,7 +954,6 @@ class AWS_B2BI_API B2BIClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&B2BIClient::UpdateTransformer, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIClientConfiguration.h b/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIClientConfiguration.h new file mode 100644 index 000000000000..46256e66ffee --- /dev/null +++ b/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace B2BI { +struct AWS_B2BI_API B2BIClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + B2BIClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + B2BIClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + B2BIClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit B2BIClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadB2BISpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_B2BI_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const B2BIClientConfiguration& config); +} // namespace B2BI +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIEndpointProvider.h b/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIEndpointProvider.h index 3919e2b31875..46f333735179 100644 --- a/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace B2BI { namespace Endpoint { +using B2BIClientConfiguration = Aws::B2BI::B2BIClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using B2BIClientContextParameters = Aws::Endpoint::ClientContextParameters; -using B2BIClientConfiguration = Aws::Client::GenericClientConfiguration; -using B2BIBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_B2BI_API B2BIBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~B2BIBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const B2BIClientConfiguration& config); + virtual void SetFromClientConfiguration(const B2BIClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const B2BIClientConfiguration& config); +}; /** * The type for the B2BI Client Endpoint Provider. @@ -32,6 +41,22 @@ using B2BIEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace B2BI + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_B2BI_EXTERN template class AWS_B2BI_API Aws::Endpoint::EndpointProviderBase< + B2BI::Endpoint::B2BIClientConfiguration, B2BI::Endpoint::B2BIBuiltInParameters, B2BI::Endpoint::B2BIClientContextParameters>; + +AWS_B2BI_EXTERN template class AWS_B2BI_API Aws::Endpoint::BDDEndpointProvider< + B2BI::Endpoint::B2BIClientConfiguration, B2BI::Endpoint::B2BIBuiltInParameters, B2BI::Endpoint::B2BIClientContextParameters>; +} // namespace Endpoint + +namespace B2BI { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIServiceClientModel.h b/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIServiceClientModel.h index 9220800694f8..30183fe4ac5e 100644 --- a/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIServiceClientModel.h @@ -75,7 +75,6 @@ class RetryStrategy; } // namespace Client namespace B2BI { -using B2BIClientConfiguration = Aws::Client::GenericClientConfiguration; using B2BIEndpointProviderBase = Aws::B2BI::Endpoint::B2BIEndpointProviderBase; using B2BIEndpointProvider = Aws::B2BI::Endpoint::B2BIEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-b2bi/source/B2BIClient.cpp b/generated/src/aws-cpp-sdk-b2bi/source/B2BIClient.cpp index 4a4fdc002a4d..d3dbe5e2e75b 100644 --- a/generated/src/aws-cpp-sdk-b2bi/source/B2BIClient.cpp +++ b/generated/src/aws-cpp-sdk-b2bi/source/B2BIClient.cpp @@ -105,41 +105,6 @@ B2BIClient::B2BIClient(const std::shared_ptr& credential init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -B2BIClient::B2BIClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -B2BIClient::B2BIClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -B2BIClient::B2BIClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ B2BIClient::~B2BIClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& B2BIClient::accessEndpointProvider() { return m_endpointProvider; } @@ -157,12 +122,7 @@ void B2BIClient::init(const B2BI::B2BIClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "b2bi"); -} - -void B2BIClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } B2BIClient::InvokeOperationOutcome B2BIClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-b2bi/source/B2BIClientConfiguration.cpp b/generated/src/aws-cpp-sdk-b2bi/source/B2BIClientConfiguration.cpp new file mode 100644 index 000000000000..4d1573a9777c --- /dev/null +++ b/generated/src/aws-cpp-sdk-b2bi/source/B2BIClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace B2BI { + +void B2BIClientConfiguration::LoadB2BISpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +B2BIClientConfiguration::B2BIClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadB2BISpecificConfig(this->profileName); +} + +B2BIClientConfiguration::B2BIClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadB2BISpecificConfig(Aws::String(inputProfileName)); +} + +B2BIClientConfiguration::B2BIClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadB2BISpecificConfig(this->profileName); +} + +B2BIClientConfiguration::B2BIClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadB2BISpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const B2BIClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace B2BI +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-b2bi/source/B2BIEndpointProvider.cpp b/generated/src/aws-cpp-sdk-b2bi/source/B2BIEndpointProvider.cpp index 3210d88acb5e..43d2dcdfffce 100644 --- a/generated/src/aws-cpp-sdk-b2bi/source/B2BIEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-b2bi/source/B2BIEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_B2BI_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace B2BI { namespace Endpoint { B2BIEndpointProvider::B2BIEndpointProvider() : B2BIDefaultEpProviderBase(Aws::B2BI::B2BIEndpointRules::GetRulesBlob(), Aws::B2BI::B2BIEndpointRules::RulesBlobSize) {} +void B2BIBuiltInParameters::SetFromClientConfiguration(const B2BIClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void B2BIBuiltInParameters::SetFromClientConfiguration(const B2BIClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void B2BIBuiltInParameters::SetServiceSpecificParameters(const B2BIClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace B2BI } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayClient.h b/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayClient.h index c18190c7048f..912354a8d38f 100644 --- a/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayClient.h +++ b/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayClient.h @@ -66,27 +66,6 @@ class AWS_BACKUPGATEWAY_API BackupGatewayClient : public Aws::Client::AWSRpcV2Cb const Aws::BackupGateway::BackupGatewayClientConfiguration& clientConfiguration = Aws::BackupGateway::BackupGatewayClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BackupGatewayClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BackupGatewayClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BackupGatewayClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BackupGatewayClient(); /** @@ -798,7 +777,6 @@ class AWS_BACKUPGATEWAY_API BackupGatewayClient : public Aws::Client::AWSRpcV2Cb return SubmitAsync(&BackupGatewayClient::UpdateHypervisor, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayClientConfiguration.h b/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayClientConfiguration.h new file mode 100644 index 000000000000..9eaef6a872cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BackupGateway { +struct AWS_BACKUPGATEWAY_API BackupGatewayClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BackupGatewayClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BackupGatewayClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BackupGatewayClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BackupGatewayClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadBackupGatewaySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BACKUPGATEWAY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BackupGatewayClientConfiguration& config); +} // namespace BackupGateway +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayEndpointProvider.h b/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayEndpointProvider.h index a8943c265794..5998f39c5a74 100644 --- a/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BackupGateway { namespace Endpoint { +using BackupGatewayClientConfiguration = Aws::BackupGateway::BackupGatewayClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BackupGatewayClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BackupGatewayClientConfiguration = Aws::Client::GenericClientConfiguration; -using BackupGatewayBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BACKUPGATEWAY_API BackupGatewayBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BackupGatewayBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BackupGatewayClientConfiguration& config); + virtual void SetFromClientConfiguration(const BackupGatewayClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BackupGatewayClientConfiguration& config); +}; /** * The type for the BackupGateway Client Endpoint Provider. @@ -34,6 +43,24 @@ using BackupGatewayEndpointProviderBase = using BackupGatewayDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BackupGateway + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BACKUPGATEWAY_EXTERN template class AWS_BACKUPGATEWAY_API Aws::Endpoint::EndpointProviderBase< + BackupGateway::Endpoint::BackupGatewayClientConfiguration, BackupGateway::Endpoint::BackupGatewayBuiltInParameters, + BackupGateway::Endpoint::BackupGatewayClientContextParameters>; + +AWS_BACKUPGATEWAY_EXTERN template class AWS_BACKUPGATEWAY_API Aws::Endpoint::BDDEndpointProvider< + BackupGateway::Endpoint::BackupGatewayClientConfiguration, BackupGateway::Endpoint::BackupGatewayBuiltInParameters, + BackupGateway::Endpoint::BackupGatewayClientContextParameters>; +} // namespace Endpoint + +namespace BackupGateway { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayServiceClientModel.h b/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayServiceClientModel.h index bfd95eef6abd..5b8be612480d 100644 --- a/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayServiceClientModel.h @@ -74,7 +74,6 @@ class RetryStrategy; } // namespace Client namespace BackupGateway { -using BackupGatewayClientConfiguration = Aws::Client::GenericClientConfiguration; using BackupGatewayEndpointProviderBase = Aws::BackupGateway::Endpoint::BackupGatewayEndpointProviderBase; using BackupGatewayEndpointProvider = Aws::BackupGateway::Endpoint::BackupGatewayEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayClient.cpp b/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayClient.cpp index 505d948c167a..37b07ebb99f9 100644 --- a/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayClient.cpp +++ b/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayClient.cpp @@ -103,41 +103,6 @@ BackupGatewayClient::BackupGatewayClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BackupGatewayClient::BackupGatewayClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BackupGatewayClient::BackupGatewayClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BackupGatewayClient::~BackupGatewayClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BackupGatewayClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void BackupGatewayClient::init(const BackupGateway::BackupGatewayClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "backup-gateway"); -} - -void BackupGatewayClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BackupGatewayClient::InvokeOperationOutcome BackupGatewayClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayClientConfiguration.cpp b/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayClientConfiguration.cpp new file mode 100644 index 000000000000..699655b83f2f --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BackupGateway { + +void BackupGatewayClientConfiguration::LoadBackupGatewaySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BackupGatewayClientConfiguration::BackupGatewayClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBackupGatewaySpecificConfig(this->profileName); +} + +BackupGatewayClientConfiguration::BackupGatewayClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBackupGatewaySpecificConfig(Aws::String(inputProfileName)); +} + +BackupGatewayClientConfiguration::BackupGatewayClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBackupGatewaySpecificConfig(this->profileName); +} + +BackupGatewayClientConfiguration::BackupGatewayClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBackupGatewaySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BackupGatewayClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace BackupGateway +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayEndpointProvider.cpp b/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayEndpointProvider.cpp index b2cf96777c1a..96d4bc7bd632 100644 --- a/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_BACKUPGATEWAY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BackupGateway { namespace Endpoint { BackupGatewayEndpointProvider::BackupGatewayEndpointProvider() : BackupGatewayDefaultEpProviderBase(Aws::BackupGateway::BackupGatewayEndpointRules::GetRulesBlob(), Aws::BackupGateway::BackupGatewayEndpointRules::RulesBlobSize) {} +void BackupGatewayBuiltInParameters::SetFromClientConfiguration(const BackupGatewayClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BackupGatewayBuiltInParameters::SetFromClientConfiguration(const BackupGatewayClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BackupGatewayBuiltInParameters::SetServiceSpecificParameters(const BackupGatewayClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BackupGateway } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClient.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClient.h index 1568e96dce03..c6da9ed7dfbd 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClient.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClient.h @@ -55,27 +55,6 @@ class AWS_BACKUP_API BackupClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Backup::BackupClientConfiguration& clientConfiguration = Aws::Backup::BackupClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BackupClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BackupClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BackupClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BackupClient(); /** @@ -3489,7 +3468,6 @@ class AWS_BACKUP_API BackupClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&BackupClient::UpdateTieringConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClientConfiguration.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClientConfiguration.h new file mode 100644 index 000000000000..7ff5b5021345 --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Backup { +struct AWS_BACKUP_API BackupClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BackupClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BackupClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BackupClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BackupClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadBackupSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BACKUP_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BackupClientConfiguration& config); +} // namespace Backup +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupEndpointProvider.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupEndpointProvider.h index 5802036e8bf4..e2aad408f559 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Backup { namespace Endpoint { +using BackupClientConfiguration = Aws::Backup::BackupClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BackupClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BackupClientConfiguration = Aws::Client::GenericClientConfiguration; -using BackupBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BACKUP_API BackupBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BackupBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BackupClientConfiguration& config); + virtual void SetFromClientConfiguration(const BackupClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BackupClientConfiguration& config); +}; /** * The type for the Backup Client Endpoint Provider. @@ -32,6 +41,24 @@ using BackupEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Backup + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BACKUP_EXTERN template class AWS_BACKUP_API + Aws::Endpoint::EndpointProviderBase; + +AWS_BACKUP_EXTERN template class AWS_BACKUP_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Backup { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupServiceClientModel.h b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupServiceClientModel.h index 5e4d5ed3e80f..0495d5e50981 100644 --- a/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupServiceClientModel.h @@ -162,7 +162,6 @@ class RetryStrategy; } // namespace Client namespace Backup { -using BackupClientConfiguration = Aws::Client::GenericClientConfiguration; using BackupEndpointProviderBase = Aws::Backup::Endpoint::BackupEndpointProviderBase; using BackupEndpointProvider = Aws::Backup::Endpoint::BackupEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-backup/source/BackupClient.cpp b/generated/src/aws-cpp-sdk-backup/source/BackupClient.cpp index 4f29c07de038..389c316980ab 100644 --- a/generated/src/aws-cpp-sdk-backup/source/BackupClient.cpp +++ b/generated/src/aws-cpp-sdk-backup/source/BackupClient.cpp @@ -192,41 +192,6 @@ BackupClient::BackupClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -BackupClient::BackupClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BackupClient::BackupClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BackupClient::BackupClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BackupClient::~BackupClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BackupClient::accessEndpointProvider() { return m_endpointProvider; } @@ -244,12 +209,7 @@ void BackupClient::init(const Backup::BackupClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "backup"); -} - -void BackupClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BackupClient::InvokeOperationOutcome BackupClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-backup/source/BackupClientConfiguration.cpp b/generated/src/aws-cpp-sdk-backup/source/BackupClientConfiguration.cpp new file mode 100644 index 000000000000..65db14e8a09a --- /dev/null +++ b/generated/src/aws-cpp-sdk-backup/source/BackupClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Backup { + +void BackupClientConfiguration::LoadBackupSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BackupClientConfiguration::BackupClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBackupSpecificConfig(this->profileName); +} + +BackupClientConfiguration::BackupClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBackupSpecificConfig(Aws::String(inputProfileName)); +} + +BackupClientConfiguration::BackupClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBackupSpecificConfig(this->profileName); +} + +BackupClientConfiguration::BackupClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBackupSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BackupClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Backup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backup/source/BackupEndpointProvider.cpp b/generated/src/aws-cpp-sdk-backup/source/BackupEndpointProvider.cpp index 97c4acdee7f9..634876e7437f 100644 --- a/generated/src/aws-cpp-sdk-backup/source/BackupEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-backup/source/BackupEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_BACKUP_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Backup { namespace Endpoint { BackupEndpointProvider::BackupEndpointProvider() : BackupDefaultEpProviderBase(Aws::Backup::BackupEndpointRules::GetRulesBlob(), Aws::Backup::BackupEndpointRules::RulesBlobSize) {} +void BackupBuiltInParameters::SetFromClientConfiguration(const BackupClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BackupBuiltInParameters::SetFromClientConfiguration(const BackupClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BackupBuiltInParameters::SetServiceSpecificParameters(const BackupClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Backup } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchClient.h b/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchClient.h index 9ca018cb8181..d436faed15c1 100644 --- a/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchClient.h +++ b/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchClient.h @@ -61,27 +61,6 @@ class AWS_BACKUPSEARCH_API BackupSearchClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::BackupSearch::BackupSearchClientConfiguration& clientConfiguration = Aws::BackupSearch::BackupSearchClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BackupSearchClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BackupSearchClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BackupSearchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BackupSearchClient(); /** @@ -421,7 +400,6 @@ class AWS_BACKUPSEARCH_API BackupSearchClient : public Aws::Client::AWSJsonClien return SubmitAsync(&BackupSearchClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchClientConfiguration.h b/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchClientConfiguration.h new file mode 100644 index 000000000000..b8aafd5348de --- /dev/null +++ b/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BackupSearch { +struct AWS_BACKUPSEARCH_API BackupSearchClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BackupSearchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BackupSearchClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BackupSearchClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BackupSearchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadBackupSearchSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BACKUPSEARCH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BackupSearchClientConfiguration& config); +} // namespace BackupSearch +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchEndpointProvider.h b/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchEndpointProvider.h index aa0cd5d22e32..f4e6a2535e96 100644 --- a/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BackupSearch { namespace Endpoint { +using BackupSearchClientConfiguration = Aws::BackupSearch::BackupSearchClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BackupSearchClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BackupSearchClientConfiguration = Aws::Client::GenericClientConfiguration; -using BackupSearchBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BACKUPSEARCH_API BackupSearchBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BackupSearchBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BackupSearchClientConfiguration& config); + virtual void SetFromClientConfiguration(const BackupSearchClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BackupSearchClientConfiguration& config); +}; /** * The type for the BackupSearch Client Endpoint Provider. @@ -34,6 +43,24 @@ using BackupSearchEndpointProviderBase = using BackupSearchDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BackupSearch + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BACKUPSEARCH_EXTERN template class AWS_BACKUPSEARCH_API Aws::Endpoint::EndpointProviderBase< + BackupSearch::Endpoint::BackupSearchClientConfiguration, BackupSearch::Endpoint::BackupSearchBuiltInParameters, + BackupSearch::Endpoint::BackupSearchClientContextParameters>; + +AWS_BACKUPSEARCH_EXTERN template class AWS_BACKUPSEARCH_API Aws::Endpoint::BDDEndpointProvider< + BackupSearch::Endpoint::BackupSearchClientConfiguration, BackupSearch::Endpoint::BackupSearchBuiltInParameters, + BackupSearch::Endpoint::BackupSearchClientContextParameters>; +} // namespace Endpoint + +namespace BackupSearch { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchServiceClientModel.h b/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchServiceClientModel.h index be9daf35d3b7..21da00dc4bc0 100644 --- a/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace BackupSearch { -using BackupSearchClientConfiguration = Aws::Client::GenericClientConfiguration; using BackupSearchEndpointProviderBase = Aws::BackupSearch::Endpoint::BackupSearchEndpointProviderBase; using BackupSearchEndpointProvider = Aws::BackupSearch::Endpoint::BackupSearchEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchClient.cpp b/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchClient.cpp index 41594eec5a3d..2947ae77277d 100644 --- a/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchClient.cpp +++ b/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchClient.cpp @@ -90,41 +90,6 @@ BackupSearchClient::BackupSearchClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BackupSearchClient::BackupSearchClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BackupSearchClient::BackupSearchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BackupSearchClient::~BackupSearchClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BackupSearchClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +107,7 @@ void BackupSearchClient::init(const BackupSearch::BackupSearchClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "backup-search"); -} - -void BackupSearchClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BackupSearchClient::InvokeOperationOutcome BackupSearchClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchClientConfiguration.cpp b/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchClientConfiguration.cpp new file mode 100644 index 000000000000..8ab9cb2d655d --- /dev/null +++ b/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BackupSearch { + +void BackupSearchClientConfiguration::LoadBackupSearchSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BackupSearchClientConfiguration::BackupSearchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBackupSearchSpecificConfig(this->profileName); +} + +BackupSearchClientConfiguration::BackupSearchClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBackupSearchSpecificConfig(Aws::String(inputProfileName)); +} + +BackupSearchClientConfiguration::BackupSearchClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBackupSearchSpecificConfig(this->profileName); +} + +BackupSearchClientConfiguration::BackupSearchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBackupSearchSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BackupSearchClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace BackupSearch +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchEndpointProvider.cpp b/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchEndpointProvider.cpp index 0c2542b71ee4..b87da7f66368 100644 --- a/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_BACKUPSEARCH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BackupSearch { namespace Endpoint { BackupSearchEndpointProvider::BackupSearchEndpointProvider() : BackupSearchDefaultEpProviderBase(Aws::BackupSearch::BackupSearchEndpointRules::GetRulesBlob(), Aws::BackupSearch::BackupSearchEndpointRules::RulesBlobSize) {} +void BackupSearchBuiltInParameters::SetFromClientConfiguration(const BackupSearchClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BackupSearchBuiltInParameters::SetFromClientConfiguration(const BackupSearchClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BackupSearchBuiltInParameters::SetServiceSpecificParameters(const BackupSearchClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace BackupSearch } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchClient.h b/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchClient.h index 4f92c629c8f8..f7cb92be1b3a 100644 --- a/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchClient.h +++ b/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchClient.h @@ -65,27 +65,6 @@ class AWS_BATCH_API BatchClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Batch::BatchClientConfiguration& clientConfiguration = Aws::Batch::BatchClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BatchClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BatchClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BatchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BatchClient(); /** @@ -1532,7 +1511,6 @@ class AWS_BATCH_API BatchClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&BatchClient::UpdateServiceJob, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchClientConfiguration.h b/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchClientConfiguration.h new file mode 100644 index 000000000000..a538c0e4c728 --- /dev/null +++ b/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Batch { +struct AWS_BATCH_API BatchClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BatchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BatchClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BatchClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BatchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadBatchSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BATCH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BatchClientConfiguration& config); +} // namespace Batch +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchEndpointProvider.h b/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchEndpointProvider.h index 7d29a28860e3..1f0ba11cdb47 100644 --- a/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Batch { namespace Endpoint { +using BatchClientConfiguration = Aws::Batch::BatchClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BatchClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BatchClientConfiguration = Aws::Client::GenericClientConfiguration; -using BatchBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BATCH_API BatchBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BatchBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BatchClientConfiguration& config); + virtual void SetFromClientConfiguration(const BatchClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BatchClientConfiguration& config); +}; /** * The type for the Batch Client Endpoint Provider. @@ -32,6 +41,22 @@ using BatchEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Batch + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BATCH_EXTERN template class AWS_BATCH_API Aws::Endpoint::EndpointProviderBase< + Batch::Endpoint::BatchClientConfiguration, Batch::Endpoint::BatchBuiltInParameters, Batch::Endpoint::BatchClientContextParameters>; + +AWS_BATCH_EXTERN template class AWS_BATCH_API Aws::Endpoint::BDDEndpointProvider< + Batch::Endpoint::BatchClientConfiguration, Batch::Endpoint::BatchBuiltInParameters, Batch::Endpoint::BatchClientContextParameters>; +} // namespace Endpoint + +namespace Batch { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchServiceClientModel.h b/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchServiceClientModel.h index 0c6bf1b586d4..db2352999944 100644 --- a/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchServiceClientModel.h @@ -102,7 +102,6 @@ class RetryStrategy; } // namespace Client namespace Batch { -using BatchClientConfiguration = Aws::Client::GenericClientConfiguration; using BatchEndpointProviderBase = Aws::Batch::Endpoint::BatchEndpointProviderBase; using BatchEndpointProvider = Aws::Batch::Endpoint::BatchEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-batch/source/BatchClient.cpp b/generated/src/aws-cpp-sdk-batch/source/BatchClient.cpp index f2e79b0d0681..2f3b1fb9fc77 100644 --- a/generated/src/aws-cpp-sdk-batch/source/BatchClient.cpp +++ b/generated/src/aws-cpp-sdk-batch/source/BatchClient.cpp @@ -125,41 +125,6 @@ BatchClient::BatchClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -BatchClient::BatchClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BatchClient::BatchClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BatchClient::BatchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BatchClient::~BatchClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BatchClient::accessEndpointProvider() { return m_endpointProvider; } @@ -177,12 +142,7 @@ void BatchClient::init(const Batch::BatchClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "batch"); -} - -void BatchClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BatchClient::InvokeOperationOutcome BatchClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-batch/source/BatchClientConfiguration.cpp b/generated/src/aws-cpp-sdk-batch/source/BatchClientConfiguration.cpp new file mode 100644 index 000000000000..22fe8c22a5c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-batch/source/BatchClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Batch { + +void BatchClientConfiguration::LoadBatchSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BatchClientConfiguration::BatchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBatchSpecificConfig(this->profileName); +} + +BatchClientConfiguration::BatchClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBatchSpecificConfig(Aws::String(inputProfileName)); +} + +BatchClientConfiguration::BatchClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBatchSpecificConfig(this->profileName); +} + +BatchClientConfiguration::BatchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBatchSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BatchClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Batch +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-batch/source/BatchEndpointProvider.cpp b/generated/src/aws-cpp-sdk-batch/source/BatchEndpointProvider.cpp index e63ef00d67d8..909fef609348 100644 --- a/generated/src/aws-cpp-sdk-batch/source/BatchEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-batch/source/BatchEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_BATCH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Batch { namespace Endpoint { BatchEndpointProvider::BatchEndpointProvider() : BatchDefaultEpProviderBase(Aws::Batch::BatchEndpointRules::GetRulesBlob(), Aws::Batch::BatchEndpointRules::RulesBlobSize) {} +void BatchBuiltInParameters::SetFromClientConfiguration(const BatchClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BatchBuiltInParameters::SetFromClientConfiguration(const BatchClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BatchBuiltInParameters::SetServiceSpecificParameters(const BatchClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Batch } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsClient.h b/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsClient.h index e4810728db8c..a02e634f2bba 100644 --- a/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsClient.h +++ b/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsClient.h @@ -65,27 +65,6 @@ class AWS_BCMDASHBOARDS_API BCMDashboardsClient : public Aws::Client::AWSJsonCli const Aws::BCMDashboards::BCMDashboardsClientConfiguration& clientConfiguration = Aws::BCMDashboards::BCMDashboardsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BCMDashboardsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BCMDashboardsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BCMDashboardsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BCMDashboardsClient(); /** @@ -499,7 +478,6 @@ class AWS_BCMDASHBOARDS_API BCMDashboardsClient : public Aws::Client::AWSJsonCli return SubmitAsync(&BCMDashboardsClient::UpdateScheduledReport, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsClientConfiguration.h b/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsClientConfiguration.h new file mode 100644 index 000000000000..42b1d53fb752 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BCMDashboards { +struct AWS_BCMDASHBOARDS_API BCMDashboardsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BCMDashboardsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BCMDashboardsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BCMDashboardsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BCMDashboardsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadBCMDashboardsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BCMDASHBOARDS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BCMDashboardsClientConfiguration& config); +} // namespace BCMDashboards +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsEndpointProvider.h b/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsEndpointProvider.h index 1d84fb8cbedd..e063f46f492f 100644 --- a/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BCMDashboards { namespace Endpoint { +using BCMDashboardsClientConfiguration = Aws::BCMDashboards::BCMDashboardsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BCMDashboardsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BCMDashboardsClientConfiguration = Aws::Client::GenericClientConfiguration; -using BCMDashboardsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BCMDASHBOARDS_API BCMDashboardsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BCMDashboardsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BCMDashboardsClientConfiguration& config); + virtual void SetFromClientConfiguration(const BCMDashboardsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BCMDashboardsClientConfiguration& config); +}; /** * The type for the BCMDashboards Client Endpoint Provider. @@ -34,6 +43,24 @@ using BCMDashboardsEndpointProviderBase = using BCMDashboardsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BCMDashboards + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BCMDASHBOARDS_EXTERN template class AWS_BCMDASHBOARDS_API Aws::Endpoint::EndpointProviderBase< + BCMDashboards::Endpoint::BCMDashboardsClientConfiguration, BCMDashboards::Endpoint::BCMDashboardsBuiltInParameters, + BCMDashboards::Endpoint::BCMDashboardsClientContextParameters>; + +AWS_BCMDASHBOARDS_EXTERN template class AWS_BCMDASHBOARDS_API Aws::Endpoint::BDDEndpointProvider< + BCMDashboards::Endpoint::BCMDashboardsClientConfiguration, BCMDashboards::Endpoint::BCMDashboardsBuiltInParameters, + BCMDashboards::Endpoint::BCMDashboardsClientContextParameters>; +} // namespace Endpoint + +namespace BCMDashboards { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsServiceClientModel.h b/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsServiceClientModel.h index 07e28d6135d1..2cad0435c012 100644 --- a/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace BCMDashboards { -using BCMDashboardsClientConfiguration = Aws::Client::GenericClientConfiguration; using BCMDashboardsEndpointProviderBase = Aws::BCMDashboards::Endpoint::BCMDashboardsEndpointProviderBase; using BCMDashboardsEndpointProvider = Aws::BCMDashboards::Endpoint::BCMDashboardsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsClient.cpp b/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsClient.cpp index 2c74c18e8170..67f68ef95ae1 100644 --- a/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsClient.cpp +++ b/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsClient.cpp @@ -93,41 +93,6 @@ BCMDashboardsClient::BCMDashboardsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BCMDashboardsClient::BCMDashboardsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BCMDashboardsClient::BCMDashboardsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BCMDashboardsClient::~BCMDashboardsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BCMDashboardsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -145,12 +110,7 @@ void BCMDashboardsClient::init(const BCMDashboards::BCMDashboardsClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "bcm-dashboards"); -} - -void BCMDashboardsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BCMDashboardsClient::InvokeOperationOutcome BCMDashboardsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsClientConfiguration.cpp new file mode 100644 index 000000000000..37373d773f74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BCMDashboards { + +void BCMDashboardsClientConfiguration::LoadBCMDashboardsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BCMDashboardsClientConfiguration::BCMDashboardsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBCMDashboardsSpecificConfig(this->profileName); +} + +BCMDashboardsClientConfiguration::BCMDashboardsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBCMDashboardsSpecificConfig(Aws::String(inputProfileName)); +} + +BCMDashboardsClientConfiguration::BCMDashboardsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBCMDashboardsSpecificConfig(this->profileName); +} + +BCMDashboardsClientConfiguration::BCMDashboardsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBCMDashboardsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BCMDashboardsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace BCMDashboards +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsEndpointProvider.cpp index 4ed2a67ebfa3..ace5212c6a5e 100644 --- a/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_BCMDASHBOARDS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BCMDashboards { namespace Endpoint { BCMDashboardsEndpointProvider::BCMDashboardsEndpointProvider() : BCMDashboardsDefaultEpProviderBase(Aws::BCMDashboards::BCMDashboardsEndpointRules::GetRulesBlob(), Aws::BCMDashboards::BCMDashboardsEndpointRules::RulesBlobSize) {} +void BCMDashboardsBuiltInParameters::SetFromClientConfiguration(const BCMDashboardsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BCMDashboardsBuiltInParameters::SetFromClientConfiguration(const BCMDashboardsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BCMDashboardsBuiltInParameters::SetServiceSpecificParameters(const BCMDashboardsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace BCMDashboards } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClient.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClient.h index dc06be55e835..90ba4d68a661 100644 --- a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClient.h +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClient.h @@ -60,27 +60,6 @@ class AWS_BCMDATAEXPORTS_API BCMDataExportsClient : public Aws::Client::AWSJsonC const Aws::BCMDataExports::BCMDataExportsClientConfiguration& clientConfiguration = Aws::BCMDataExports::BCMDataExportsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BCMDataExportsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BCMDataExportsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BCMDataExportsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BCMDataExportsClient(); /** @@ -415,7 +394,6 @@ class AWS_BCMDATAEXPORTS_API BCMDataExportsClient : public Aws::Client::AWSJsonC return SubmitAsync(&BCMDataExportsClient::UpdateExport, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClientConfiguration.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClientConfiguration.h new file mode 100644 index 000000000000..42c0448e80bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BCMDataExports { +struct AWS_BCMDATAEXPORTS_API BCMDataExportsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BCMDataExportsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BCMDataExportsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BCMDataExportsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BCMDataExportsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadBCMDataExportsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BCMDATAEXPORTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BCMDataExportsClientConfiguration& config); +} // namespace BCMDataExports +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointProvider.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointProvider.h index 27ca9f6c6abc..989995083fc3 100644 --- a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BCMDataExports { namespace Endpoint { +using BCMDataExportsClientConfiguration = Aws::BCMDataExports::BCMDataExportsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BCMDataExportsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BCMDataExportsClientConfiguration = Aws::Client::GenericClientConfiguration; -using BCMDataExportsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BCMDATAEXPORTS_API BCMDataExportsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BCMDataExportsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BCMDataExportsClientConfiguration& config); + virtual void SetFromClientConfiguration(const BCMDataExportsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BCMDataExportsClientConfiguration& config); +}; /** * The type for the BCMDataExports Client Endpoint Provider. @@ -34,6 +43,24 @@ using BCMDataExportsEndpointProviderBase = using BCMDataExportsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BCMDataExports + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BCMDATAEXPORTS_EXTERN template class AWS_BCMDATAEXPORTS_API Aws::Endpoint::EndpointProviderBase< + BCMDataExports::Endpoint::BCMDataExportsClientConfiguration, BCMDataExports::Endpoint::BCMDataExportsBuiltInParameters, + BCMDataExports::Endpoint::BCMDataExportsClientContextParameters>; + +AWS_BCMDATAEXPORTS_EXTERN template class AWS_BCMDATAEXPORTS_API Aws::Endpoint::BDDEndpointProvider< + BCMDataExports::Endpoint::BCMDataExportsClientConfiguration, BCMDataExports::Endpoint::BCMDataExportsBuiltInParameters, + BCMDataExports::Endpoint::BCMDataExportsClientContextParameters>; +} // namespace Endpoint + +namespace BCMDataExports { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsServiceClientModel.h b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsServiceClientModel.h index 9ec2ebee7814..4e194e1fcc91 100644 --- a/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace BCMDataExports { -using BCMDataExportsClientConfiguration = Aws::Client::GenericClientConfiguration; using BCMDataExportsEndpointProviderBase = Aws::BCMDataExports::Endpoint::BCMDataExportsEndpointProviderBase; using BCMDataExportsEndpointProvider = Aws::BCMDataExports::Endpoint::BCMDataExportsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClient.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClient.cpp index eeaa02cab5fc..be48b22a25ed 100644 --- a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClient.cpp +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClient.cpp @@ -90,41 +90,6 @@ BCMDataExportsClient::BCMDataExportsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BCMDataExportsClient::BCMDataExportsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BCMDataExportsClient::BCMDataExportsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BCMDataExportsClient::~BCMDataExportsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BCMDataExportsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +107,7 @@ void BCMDataExportsClient::init(const BCMDataExports::BCMDataExportsClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "bcm-data-exports"); -} - -void BCMDataExportsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BCMDataExportsClient::InvokeOperationOutcome BCMDataExportsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClientConfiguration.cpp new file mode 100644 index 000000000000..0aa039c4333d --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BCMDataExports { + +void BCMDataExportsClientConfiguration::LoadBCMDataExportsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BCMDataExportsClientConfiguration::BCMDataExportsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBCMDataExportsSpecificConfig(this->profileName); +} + +BCMDataExportsClientConfiguration::BCMDataExportsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBCMDataExportsSpecificConfig(Aws::String(inputProfileName)); +} + +BCMDataExportsClientConfiguration::BCMDataExportsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBCMDataExportsSpecificConfig(this->profileName); +} + +BCMDataExportsClientConfiguration::BCMDataExportsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBCMDataExportsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BCMDataExportsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace BCMDataExports +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointProvider.cpp index cdc9085dc002..2ea519bbaefd 100644 --- a/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_BCMDATAEXPORTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BCMDataExports { namespace Endpoint { BCMDataExportsEndpointProvider::BCMDataExportsEndpointProvider() : BCMDataExportsDefaultEpProviderBase(Aws::BCMDataExports::BCMDataExportsEndpointRules::GetRulesBlob(), Aws::BCMDataExports::BCMDataExportsEndpointRules::RulesBlobSize) {} +void BCMDataExportsBuiltInParameters::SetFromClientConfiguration(const BCMDataExportsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BCMDataExportsBuiltInParameters::SetFromClientConfiguration(const BCMDataExportsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BCMDataExportsBuiltInParameters::SetServiceSpecificParameters(const BCMDataExportsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace BCMDataExports } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClient.h b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClient.h index 47b250ac90fc..02b61935a626 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClient.h +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClient.h @@ -62,27 +62,6 @@ class AWS_BCMPRICINGCALCULATOR_API BCMPricingCalculatorClient const Aws::BCMPricingCalculator::BCMPricingCalculatorClientConfiguration& clientConfiguration = Aws::BCMPricingCalculator::BCMPricingCalculatorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BCMPricingCalculatorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BCMPricingCalculatorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BCMPricingCalculatorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BCMPricingCalculatorClient(); /** @@ -1168,7 +1147,6 @@ class AWS_BCMPRICINGCALCULATOR_API BCMPricingCalculatorClient return SubmitAsync(&BCMPricingCalculatorClient::UpdateWorkloadEstimate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClientConfiguration.h b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClientConfiguration.h new file mode 100644 index 000000000000..954f62536646 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BCMPricingCalculator { +struct AWS_BCMPRICINGCALCULATOR_API BCMPricingCalculatorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BCMPricingCalculatorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BCMPricingCalculatorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BCMPricingCalculatorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BCMPricingCalculatorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadBCMPricingCalculatorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BCMPRICINGCALCULATOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const BCMPricingCalculatorClientConfiguration& config); +} // namespace BCMPricingCalculator +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorEndpointProvider.h b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorEndpointProvider.h index 59a633048a2b..5c0fbddadd3b 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BCMPricingCalculator { namespace Endpoint { +using BCMPricingCalculatorClientConfiguration = Aws::BCMPricingCalculator::BCMPricingCalculatorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BCMPricingCalculatorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BCMPricingCalculatorClientConfiguration = Aws::Client::GenericClientConfiguration; -using BCMPricingCalculatorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BCMPRICINGCALCULATOR_API BCMPricingCalculatorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BCMPricingCalculatorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BCMPricingCalculatorClientConfiguration& config); + virtual void SetFromClientConfiguration(const BCMPricingCalculatorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BCMPricingCalculatorClientConfiguration& config); +}; /** * The type for the BCMPricingCalculator Client Endpoint Provider. @@ -36,6 +45,26 @@ using BCMPricingCalculatorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BCMPricingCalculator + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BCMPRICINGCALCULATOR_EXTERN template class AWS_BCMPRICINGCALCULATOR_API + Aws::Endpoint::EndpointProviderBase; + +AWS_BCMPRICINGCALCULATOR_EXTERN template class AWS_BCMPRICINGCALCULATOR_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace BCMPricingCalculator { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorServiceClientModel.h b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorServiceClientModel.h index 6b0244787b6b..8081b9f542ca 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorServiceClientModel.h @@ -87,7 +87,6 @@ class RetryStrategy; } // namespace Client namespace BCMPricingCalculator { -using BCMPricingCalculatorClientConfiguration = Aws::Client::GenericClientConfiguration; using BCMPricingCalculatorEndpointProviderBase = Aws::BCMPricingCalculator::Endpoint::BCMPricingCalculatorEndpointProviderBase; using BCMPricingCalculatorEndpointProvider = Aws::BCMPricingCalculator::Endpoint::BCMPricingCalculatorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorClient.cpp b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorClient.cpp index c69509931c58..5c4bdd0ab3da 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorClient.cpp +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorClient.cpp @@ -119,42 +119,6 @@ BCMPricingCalculatorClient::BCMPricingCalculatorClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -BCMPricingCalculatorClient::BCMPricingCalculatorClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BCMPricingCalculatorClient::BCMPricingCalculatorClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BCMPricingCalculatorClient::BCMPricingCalculatorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BCMPricingCalculatorClient::~BCMPricingCalculatorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BCMPricingCalculatorClient::accessEndpointProvider() { @@ -174,12 +138,7 @@ void BCMPricingCalculatorClient::init(const BCMPricingCalculator::BCMPricingCalc AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "bcm-pricing-calculator"); -} - -void BCMPricingCalculatorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BCMPricingCalculatorClient::InvokeOperationOutcome BCMPricingCalculatorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorClientConfiguration.cpp new file mode 100644 index 000000000000..b4a3c54b0bfd --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BCMPricingCalculator { + +void BCMPricingCalculatorClientConfiguration::LoadBCMPricingCalculatorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BCMPricingCalculatorClientConfiguration::BCMPricingCalculatorClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBCMPricingCalculatorSpecificConfig(this->profileName); +} + +BCMPricingCalculatorClientConfiguration::BCMPricingCalculatorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBCMPricingCalculatorSpecificConfig(Aws::String(inputProfileName)); +} + +BCMPricingCalculatorClientConfiguration::BCMPricingCalculatorClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBCMPricingCalculatorSpecificConfig(this->profileName); +} + +BCMPricingCalculatorClientConfiguration::BCMPricingCalculatorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBCMPricingCalculatorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BCMPricingCalculatorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace BCMPricingCalculator +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorEndpointProvider.cpp index c84c1f9ff916..8bf4b2182c5b 100644 --- a/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_BCMPRICINGCALCULATOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BCMPricingCalculator { namespace Endpoint { BCMPricingCalculatorEndpointProvider::BCMPricingCalculatorEndpointProvider() : BCMPricingCalculatorDefaultEpProviderBase(Aws::BCMPricingCalculator::BCMPricingCalculatorEndpointRules::GetRulesBlob(), Aws::BCMPricingCalculator::BCMPricingCalculatorEndpointRules::RulesBlobSize) {} +void BCMPricingCalculatorBuiltInParameters::SetFromClientConfiguration(const BCMPricingCalculatorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BCMPricingCalculatorBuiltInParameters::SetFromClientConfiguration(const BCMPricingCalculatorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BCMPricingCalculatorBuiltInParameters::SetServiceSpecificParameters(const BCMPricingCalculatorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace BCMPricingCalculator } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsClient.h b/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsClient.h index dd9f825c08d9..43379bf7b7a9 100644 --- a/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsClient.h +++ b/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsClient.h @@ -61,27 +61,6 @@ class AWS_BCMRECOMMENDEDACTIONS_API BCMRecommendedActionsClient const Aws::BCMRecommendedActions::BCMRecommendedActionsClientConfiguration& clientConfiguration = Aws::BCMRecommendedActions::BCMRecommendedActionsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BCMRecommendedActionsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BCMRecommendedActionsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BCMRecommendedActionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BCMRecommendedActionsClient(); /** @@ -112,7 +91,6 @@ class AWS_BCMRECOMMENDEDACTIONS_API BCMRecommendedActionsClient return SubmitAsync(&BCMRecommendedActionsClient::ListRecommendedActions, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsClientConfiguration.h b/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsClientConfiguration.h new file mode 100644 index 000000000000..fce40b158af4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BCMRecommendedActions { +struct AWS_BCMRECOMMENDEDACTIONS_API BCMRecommendedActionsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BCMRecommendedActionsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BCMRecommendedActionsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BCMRecommendedActionsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BCMRecommendedActionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadBCMRecommendedActionsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BCMRECOMMENDEDACTIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const BCMRecommendedActionsClientConfiguration& config); +} // namespace BCMRecommendedActions +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsEndpointProvider.h b/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsEndpointProvider.h index 51fe757588f1..584d9391650f 100644 --- a/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BCMRecommendedActions { namespace Endpoint { +using BCMRecommendedActionsClientConfiguration = Aws::BCMRecommendedActions::BCMRecommendedActionsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BCMRecommendedActionsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BCMRecommendedActionsClientConfiguration = Aws::Client::GenericClientConfiguration; -using BCMRecommendedActionsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BCMRECOMMENDEDACTIONS_API BCMRecommendedActionsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BCMRecommendedActionsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BCMRecommendedActionsClientConfiguration& config); + virtual void SetFromClientConfiguration(const BCMRecommendedActionsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BCMRecommendedActionsClientConfiguration& config); +}; /** * The type for the BCMRecommendedActions Client Endpoint Provider. @@ -36,6 +45,26 @@ using BCMRecommendedActionsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BCMRecommendedActions + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BCMRECOMMENDEDACTIONS_EXTERN template class AWS_BCMRECOMMENDEDACTIONS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_BCMRECOMMENDEDACTIONS_EXTERN template class AWS_BCMRECOMMENDEDACTIONS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace BCMRecommendedActions { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsServiceClientModel.h b/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsServiceClientModel.h index 24900dfdab7e..e95ce84cabe8 100644 --- a/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace BCMRecommendedActions { -using BCMRecommendedActionsClientConfiguration = Aws::Client::GenericClientConfiguration; using BCMRecommendedActionsEndpointProviderBase = Aws::BCMRecommendedActions::Endpoint::BCMRecommendedActionsEndpointProviderBase; using BCMRecommendedActionsEndpointProvider = Aws::BCMRecommendedActions::Endpoint::BCMRecommendedActionsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsClient.cpp b/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsClient.cpp index 3441f1a290ad..baf9e3b40077 100644 --- a/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsClient.cpp +++ b/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsClient.cpp @@ -84,42 +84,6 @@ BCMRecommendedActionsClient::BCMRecommendedActionsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -BCMRecommendedActionsClient::BCMRecommendedActionsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BCMRecommendedActionsClient::BCMRecommendedActionsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BCMRecommendedActionsClient::BCMRecommendedActionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BCMRecommendedActionsClient::~BCMRecommendedActionsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BCMRecommendedActionsClient::accessEndpointProvider() { @@ -139,12 +103,7 @@ void BCMRecommendedActionsClient::init(const BCMRecommendedActions::BCMRecommend AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "bcm-recommended-actions"); -} - -void BCMRecommendedActionsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BCMRecommendedActionsClient::InvokeOperationOutcome BCMRecommendedActionsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsClientConfiguration.cpp new file mode 100644 index 000000000000..50574f798bb5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BCMRecommendedActions { + +void BCMRecommendedActionsClientConfiguration::LoadBCMRecommendedActionsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BCMRecommendedActionsClientConfiguration::BCMRecommendedActionsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBCMRecommendedActionsSpecificConfig(this->profileName); +} + +BCMRecommendedActionsClientConfiguration::BCMRecommendedActionsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBCMRecommendedActionsSpecificConfig(Aws::String(inputProfileName)); +} + +BCMRecommendedActionsClientConfiguration::BCMRecommendedActionsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBCMRecommendedActionsSpecificConfig(this->profileName); +} + +BCMRecommendedActionsClientConfiguration::BCMRecommendedActionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBCMRecommendedActionsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BCMRecommendedActionsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace BCMRecommendedActions +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsEndpointProvider.cpp index a32f0742f46b..2a6c781768c8 100644 --- a/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_BCMRECOMMENDEDACTIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BCMRecommendedActions { namespace Endpoint { BCMRecommendedActionsEndpointProvider::BCMRecommendedActionsEndpointProvider() : BCMRecommendedActionsDefaultEpProviderBase(Aws::BCMRecommendedActions::BCMRecommendedActionsEndpointRules::GetRulesBlob(), Aws::BCMRecommendedActions::BCMRecommendedActionsEndpointRules::RulesBlobSize) {} +void BCMRecommendedActionsBuiltInParameters::SetFromClientConfiguration(const BCMRecommendedActionsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BCMRecommendedActionsBuiltInParameters::SetFromClientConfiguration(const BCMRecommendedActionsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BCMRecommendedActionsBuiltInParameters::SetServiceSpecificParameters(const BCMRecommendedActionsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace BCMRecommendedActions } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h index 8d0bb1ae7ccd..3e3b038be23b 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClient.h @@ -70,27 +70,6 @@ class AWS_BEDROCKAGENTRUNTIME_API BedrockAgentRuntimeClient const Aws::BedrockAgentRuntime::BedrockAgentRuntimeClientConfiguration& clientConfiguration = Aws::BedrockAgentRuntime::BedrockAgentRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BedrockAgentRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BedrockAgentRuntimeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BedrockAgentRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BedrockAgentRuntimeClient(); /** @@ -1208,7 +1187,6 @@ class AWS_BEDROCKAGENTRUNTIME_API BedrockAgentRuntimeClient return SubmitAsync(&BedrockAgentRuntimeClient::UpdateSession, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClientConfiguration.h index 87c477e21ee1..226dbb5809da 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeClientConfiguration.h @@ -32,12 +32,30 @@ struct AWS_BEDROCKAGENTRUNTIME_API BedrockAgentRuntimeClientConfiguration : publ BedrockAgentRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - BedrockAgentRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit BedrockAgentRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; private: void LoadBedrockAgentRuntimeSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BEDROCKAGENTRUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockAgentRuntimeClientConfiguration& config); } // namespace BedrockAgentRuntime } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeEndpointProvider.h index 5bbfdfc7d21c..73582d599f1a 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/include/aws/bedrock-agent-runtime/BedrockAgentRuntimeEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_BEDROCKAGENTRUNTIME_API BedrockAgentRuntimeBuiltInParameters : public using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const BedrockAgentRuntimeClientConfiguration& config); virtual void SetFromClientConfiguration(const BedrockAgentRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BedrockAgentRuntimeClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClient.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClient.cpp index 74f83750c450..26948c956164 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClient.cpp @@ -122,56 +122,11 @@ BedrockAgentRuntimeClient::BedrockAgentRuntimeClient(const std::shared_ptr(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - }) {} - -BedrockAgentRuntimeClient::BedrockAgentRuntimeClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Agent Runtime", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - }) {} - -BedrockAgentRuntimeClient::BedrockAgentRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Agent Runtime", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - }) {} /* End of legacy constructors due deprecation */ BedrockAgentRuntimeClient::~BedrockAgentRuntimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BedrockAgentRuntimeClient::accessEndpointProvider() { return m_endpointProvider; } - -void BedrockAgentRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -} BedrockAgentRuntimeClient::InvokeOperationOutcome BedrockAgentRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClientConfiguration.cpp index 15ae047257aa..f7b8d1ff0472 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeClientConfiguration.cpp @@ -11,6 +11,8 @@ namespace BedrockAgentRuntime { static const char AWS_BEARER_TOKEN_BEDROCK[] = "AWS_BEARER_TOKEN_BEDROCK"; void BedrockAgentRuntimeClientConfiguration::LoadBedrockAgentRuntimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); const Aws::String& bedrockToken = BaseClientConfigClass::LoadConfigFromEnvOrProfile(AWS_BEARER_TOKEN_BEDROCK, inputProfileName, AWS_BEARER_TOKEN_BEDROCK, {}, ""); if (!bedrockToken.empty()) { @@ -39,10 +41,16 @@ BedrockAgentRuntimeClientConfiguration::BedrockAgentRuntimeClientConfiguration(b LoadBedrockAgentRuntimeSpecificConfig(this->profileName); } -BedrockAgentRuntimeClientConfiguration::BedrockAgentRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config) { +BedrockAgentRuntimeClientConfiguration::BedrockAgentRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadBedrockAgentRuntimeSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockAgentRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + } // namespace BedrockAgentRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeEndpointProvider.cpp index 587b03e8e93d..f68958772665 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent-runtime/source/BedrockAgentRuntimeEndpointProvider.cpp @@ -30,13 +30,23 @@ BedrockAgentRuntimeEndpointProvider::BedrockAgentRuntimeEndpointProvider() void BedrockAgentRuntimeBuiltInParameters::SetFromClientConfiguration(const BedrockAgentRuntimeClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void BedrockAgentRuntimeBuiltInParameters::SetFromClientConfiguration(const BedrockAgentRuntimeClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void BedrockAgentRuntimeBuiltInParameters::SetServiceSpecificParameters(const BedrockAgentRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BedrockAgentRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClient.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClient.h index 31d7c401a31f..33a121700fc2 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClient.h @@ -69,27 +69,6 @@ class AWS_BEDROCKAGENT_API BedrockAgentClient std::shared_ptr endpointProvider = nullptr, const Aws::BedrockAgent::BedrockAgentClientConfiguration& clientConfiguration = Aws::BedrockAgent::BedrockAgentClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BedrockAgentClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BedrockAgentClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BedrockAgentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BedrockAgentClient(); /** @@ -2623,7 +2602,6 @@ class AWS_BEDROCKAGENT_API BedrockAgentClient return SubmitAsync(&BedrockAgentClient::ValidateFlowDefinition, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClientConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClientConfiguration.h index daa8abfd0b35..f047a6f4ad43 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentClientConfiguration.h @@ -32,12 +32,30 @@ struct AWS_BEDROCKAGENT_API BedrockAgentClientConfiguration : public Aws::Client BedrockAgentClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - BedrockAgentClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit BedrockAgentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; private: void LoadBedrockAgentSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BEDROCKAGENT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockAgentClientConfiguration& config); } // namespace BedrockAgent } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentEndpointProvider.h b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentEndpointProvider.h index 78ddb9460e35..a8d146b27623 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bedrock-agent/include/aws/bedrock-agent/BedrockAgentEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_BEDROCKAGENT_API BedrockAgentBuiltInParameters : public Aws::Endpoint: using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const BedrockAgentClientConfiguration& config); virtual void SetFromClientConfiguration(const BedrockAgentClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BedrockAgentClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClient.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClient.cpp index a5d1d84c1658..6de9bbccbeeb 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClient.cpp @@ -172,53 +172,11 @@ BedrockAgentClient::BedrockAgentClient(const std::shared_ptr(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - }) {} - -BedrockAgentClient::BedrockAgentClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Agent", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - }) {} - -BedrockAgentClient::BedrockAgentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Agent", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - }) {} /* End of legacy constructors due deprecation */ BedrockAgentClient::~BedrockAgentClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BedrockAgentClient::accessEndpointProvider() { return m_endpointProvider; } - -void BedrockAgentClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -} BedrockAgentClient::InvokeOperationOutcome BedrockAgentClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClientConfiguration.cpp index cdcbe2b9f5c1..b4b2628b33f8 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentClientConfiguration.cpp @@ -11,6 +11,8 @@ namespace BedrockAgent { static const char AWS_BEARER_TOKEN_BEDROCK[] = "AWS_BEARER_TOKEN_BEDROCK"; void BedrockAgentClientConfiguration::LoadBedrockAgentSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); const Aws::String& bedrockToken = BaseClientConfigClass::LoadConfigFromEnvOrProfile(AWS_BEARER_TOKEN_BEDROCK, inputProfileName, AWS_BEARER_TOKEN_BEDROCK, {}, ""); if (!bedrockToken.empty()) { @@ -37,10 +39,16 @@ BedrockAgentClientConfiguration::BedrockAgentClientConfiguration(bool useSmartDe LoadBedrockAgentSpecificConfig(this->profileName); } -BedrockAgentClientConfiguration::BedrockAgentClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config) { +BedrockAgentClientConfiguration::BedrockAgentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadBedrockAgentSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockAgentClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + } // namespace BedrockAgent } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentEndpointProvider.cpp index d799b1bcb93b..9477c11c8122 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agent/source/BedrockAgentEndpointProvider.cpp @@ -30,13 +30,23 @@ BedrockAgentEndpointProvider::BedrockAgentEndpointProvider() void BedrockAgentBuiltInParameters::SetFromClientConfiguration(const BedrockAgentClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void BedrockAgentBuiltInParameters::SetFromClientConfiguration(const BedrockAgentClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void BedrockAgentBuiltInParameters::SetServiceSpecificParameters(const BedrockAgentClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BedrockAgent } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlClient.h b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlClient.h index 8d0343c96e2c..30d4d14a0dc4 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlClient.h @@ -59,27 +59,6 @@ class AWS_BEDROCKAGENTCORECONTROL_API BedrockAgentCoreControlClient const Aws::BedrockAgentCoreControl::BedrockAgentCoreControlClientConfiguration& clientConfiguration = Aws::BedrockAgentCoreControl::BedrockAgentCoreControlClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BedrockAgentCoreControlClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BedrockAgentCoreControlClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BedrockAgentCoreControlClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BedrockAgentCoreControlClient(); /** @@ -5014,7 +4993,6 @@ class AWS_BEDROCKAGENTCORECONTROL_API BedrockAgentCoreControlClient return SubmitAsync(&BedrockAgentCoreControlClient::UpdateWorkloadIdentity, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlClientConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlClientConfiguration.h new file mode 100644 index 000000000000..f5459f93dc73 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BedrockAgentCoreControl { +struct AWS_BEDROCKAGENTCORECONTROL_API BedrockAgentCoreControlClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BedrockAgentCoreControlClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BedrockAgentCoreControlClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BedrockAgentCoreControlClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BedrockAgentCoreControlClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadBedrockAgentCoreControlSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BEDROCKAGENTCORECONTROL_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const BedrockAgentCoreControlClientConfiguration& config); +} // namespace BedrockAgentCoreControl +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlEndpointProvider.h b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlEndpointProvider.h index 3400c3f6799e..3d805749a93a 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BedrockAgentCoreControl { namespace Endpoint { +using BedrockAgentCoreControlClientConfiguration = Aws::BedrockAgentCoreControl::BedrockAgentCoreControlClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BedrockAgentCoreControlClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BedrockAgentCoreControlClientConfiguration = Aws::Client::GenericClientConfiguration; -using BedrockAgentCoreControlBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BEDROCKAGENTCORECONTROL_API BedrockAgentCoreControlBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BedrockAgentCoreControlBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BedrockAgentCoreControlClientConfiguration& config); + virtual void SetFromClientConfiguration(const BedrockAgentCoreControlClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BedrockAgentCoreControlClientConfiguration& config); +}; /** * The type for the BedrockAgentCoreControl Client Endpoint Provider. @@ -36,6 +45,26 @@ using BedrockAgentCoreControlDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BedrockAgentCoreControl + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BEDROCKAGENTCORECONTROL_EXTERN template class AWS_BEDROCKAGENTCORECONTROL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_BEDROCKAGENTCORECONTROL_EXTERN template class AWS_BEDROCKAGENTCORECONTROL_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace BedrockAgentCoreControl { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlServiceClientModel.h b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlServiceClientModel.h index c13f40b4ffd4..0e0214a7ca77 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlServiceClientModel.h @@ -240,7 +240,6 @@ class RetryStrategy; } // namespace Client namespace BedrockAgentCoreControl { -using BedrockAgentCoreControlClientConfiguration = Aws::Client::GenericClientConfiguration; using BedrockAgentCoreControlEndpointProviderBase = Aws::BedrockAgentCoreControl::Endpoint::BedrockAgentCoreControlEndpointProviderBase; using BedrockAgentCoreControlEndpointProvider = Aws::BedrockAgentCoreControl::Endpoint::BedrockAgentCoreControlEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlClient.cpp b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlClient.cpp index 969d4297c561..fb04eff1e38d 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlClient.cpp @@ -255,42 +255,6 @@ BedrockAgentCoreControlClient::BedrockAgentCoreControlClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -BedrockAgentCoreControlClient::BedrockAgentCoreControlClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BedrockAgentCoreControlClient::BedrockAgentCoreControlClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BedrockAgentCoreControlClient::BedrockAgentCoreControlClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BedrockAgentCoreControlClient::~BedrockAgentCoreControlClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BedrockAgentCoreControlClient::accessEndpointProvider() { @@ -310,12 +274,7 @@ void BedrockAgentCoreControlClient::init(const BedrockAgentCoreControl::BedrockA AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "bedrock-agentcore"); -} - -void BedrockAgentCoreControlClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BedrockAgentCoreControlClient::InvokeOperationOutcome BedrockAgentCoreControlClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlClientConfiguration.cpp new file mode 100644 index 000000000000..24e34f05cd3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BedrockAgentCoreControl { + +void BedrockAgentCoreControlClientConfiguration::LoadBedrockAgentCoreControlSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BedrockAgentCoreControlClientConfiguration::BedrockAgentCoreControlClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBedrockAgentCoreControlSpecificConfig(this->profileName); +} + +BedrockAgentCoreControlClientConfiguration::BedrockAgentCoreControlClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBedrockAgentCoreControlSpecificConfig(Aws::String(inputProfileName)); +} + +BedrockAgentCoreControlClientConfiguration::BedrockAgentCoreControlClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBedrockAgentCoreControlSpecificConfig(this->profileName); +} + +BedrockAgentCoreControlClientConfiguration::BedrockAgentCoreControlClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBedrockAgentCoreControlSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockAgentCoreControlClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace BedrockAgentCoreControl +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlEndpointProvider.cpp index 95694d355a26..b69e5300e0e2 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_BEDROCKAGENTCORECONTROL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BedrockAgentCoreControl { namespace Endpoint { BedrockAgentCoreControlEndpointProvider::BedrockAgentCoreControlEndpointProvider() : BedrockAgentCoreControlDefaultEpProviderBase(Aws::BedrockAgentCoreControl::BedrockAgentCoreControlEndpointRules::GetRulesBlob(), Aws::BedrockAgentCoreControl::BedrockAgentCoreControlEndpointRules::RulesBlobSize) {} +void BedrockAgentCoreControlBuiltInParameters::SetFromClientConfiguration(const BedrockAgentCoreControlClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BedrockAgentCoreControlBuiltInParameters::SetFromClientConfiguration(const BedrockAgentCoreControlClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BedrockAgentCoreControlBuiltInParameters::SetServiceSpecificParameters(const BedrockAgentCoreControlClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BedrockAgentCoreControl } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreClient.h b/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreClient.h index 0c33b13ad1bc..ecd11910dcb8 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreClient.h @@ -58,27 +58,6 @@ class AWS_BEDROCKAGENTCORE_API BedrockAgentCoreClient : public Aws::Client::AWSJ const Aws::BedrockAgentCore::BedrockAgentCoreClientConfiguration& clientConfiguration = Aws::BedrockAgentCore::BedrockAgentCoreClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BedrockAgentCoreClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BedrockAgentCoreClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BedrockAgentCoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BedrockAgentCoreClient(); /** @@ -2113,7 +2092,6 @@ class AWS_BEDROCKAGENTCORE_API BedrockAgentCoreClient : public Aws::Client::AWSJ return SubmitAsync(&BedrockAgentCoreClient::UpdateBrowserStream, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreClientConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreClientConfiguration.h new file mode 100644 index 000000000000..0c2fecae8c74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BedrockAgentCore { +struct AWS_BEDROCKAGENTCORE_API BedrockAgentCoreClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BedrockAgentCoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BedrockAgentCoreClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BedrockAgentCoreClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BedrockAgentCoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadBedrockAgentCoreSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BEDROCKAGENTCORE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockAgentCoreClientConfiguration& config); +} // namespace BedrockAgentCore +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreEndpointProvider.h b/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreEndpointProvider.h index fd1ff5bd2420..6e674b5c4f3b 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BedrockAgentCore { namespace Endpoint { +using BedrockAgentCoreClientConfiguration = Aws::BedrockAgentCore::BedrockAgentCoreClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BedrockAgentCoreClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BedrockAgentCoreClientConfiguration = Aws::Client::GenericClientConfiguration; -using BedrockAgentCoreBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BEDROCKAGENTCORE_API BedrockAgentCoreBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BedrockAgentCoreBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BedrockAgentCoreClientConfiguration& config); + virtual void SetFromClientConfiguration(const BedrockAgentCoreClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BedrockAgentCoreClientConfiguration& config); +}; /** * The type for the BedrockAgentCore Client Endpoint Provider. @@ -34,6 +43,24 @@ using BedrockAgentCoreEndpointProviderBase = using BedrockAgentCoreDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BedrockAgentCore + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BEDROCKAGENTCORE_EXTERN template class AWS_BEDROCKAGENTCORE_API Aws::Endpoint::EndpointProviderBase< + BedrockAgentCore::Endpoint::BedrockAgentCoreClientConfiguration, BedrockAgentCore::Endpoint::BedrockAgentCoreBuiltInParameters, + BedrockAgentCore::Endpoint::BedrockAgentCoreClientContextParameters>; + +AWS_BEDROCKAGENTCORE_EXTERN template class AWS_BEDROCKAGENTCORE_API Aws::Endpoint::BDDEndpointProvider< + BedrockAgentCore::Endpoint::BedrockAgentCoreClientConfiguration, BedrockAgentCore::Endpoint::BedrockAgentCoreBuiltInParameters, + BedrockAgentCore::Endpoint::BedrockAgentCoreClientContextParameters>; +} // namespace Endpoint + +namespace BedrockAgentCore { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreServiceClientModel.h b/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreServiceClientModel.h index 5b41887f09cb..c0ac6d9a9af3 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreServiceClientModel.h @@ -114,7 +114,6 @@ class RetryStrategy; } // namespace Client namespace BedrockAgentCore { -using BedrockAgentCoreClientConfiguration = Aws::Client::GenericClientConfiguration; using BedrockAgentCoreEndpointProviderBase = Aws::BedrockAgentCore::Endpoint::BedrockAgentCoreEndpointProviderBase; using BedrockAgentCoreEndpointProvider = Aws::BedrockAgentCore::Endpoint::BedrockAgentCoreEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreClient.cpp b/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreClient.cpp index 6869f4ae0893..492ab2938823 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreClient.cpp @@ -151,44 +151,6 @@ BedrockAgentCoreClient::BedrockAgentCoreClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BedrockAgentCoreClient::BedrockAgentCoreClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BedrockAgentCoreClient::BedrockAgentCoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BedrockAgentCoreClient::~BedrockAgentCoreClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BedrockAgentCoreClient::accessEndpointProvider() { return m_endpointProvider; } @@ -206,12 +168,7 @@ void BedrockAgentCoreClient::init(const BedrockAgentCore::BedrockAgentCoreClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "bedrock-agentcore"); -} - -void BedrockAgentCoreClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BedrockAgentCoreClient::InvokeOperationOutcome BedrockAgentCoreClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreClientConfiguration.cpp new file mode 100644 index 000000000000..9257dcb07431 --- /dev/null +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BedrockAgentCore { + +void BedrockAgentCoreClientConfiguration::LoadBedrockAgentCoreSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BedrockAgentCoreClientConfiguration::BedrockAgentCoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBedrockAgentCoreSpecificConfig(this->profileName); +} + +BedrockAgentCoreClientConfiguration::BedrockAgentCoreClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBedrockAgentCoreSpecificConfig(Aws::String(inputProfileName)); +} + +BedrockAgentCoreClientConfiguration::BedrockAgentCoreClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBedrockAgentCoreSpecificConfig(this->profileName); +} + +BedrockAgentCoreClientConfiguration::BedrockAgentCoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBedrockAgentCoreSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockAgentCoreClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace BedrockAgentCore +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreEndpointProvider.cpp index 8d0143e4e5f9..5f0b5d6c3edf 100644 --- a/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_BEDROCKAGENTCORE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BedrockAgentCore { namespace Endpoint { BedrockAgentCoreEndpointProvider::BedrockAgentCoreEndpointProvider() : BedrockAgentCoreDefaultEpProviderBase(Aws::BedrockAgentCore::BedrockAgentCoreEndpointRules::GetRulesBlob(), Aws::BedrockAgentCore::BedrockAgentCoreEndpointRules::RulesBlobSize) {} +void BedrockAgentCoreBuiltInParameters::SetFromClientConfiguration(const BedrockAgentCoreClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BedrockAgentCoreBuiltInParameters::SetFromClientConfiguration(const BedrockAgentCoreClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BedrockAgentCoreBuiltInParameters::SetServiceSpecificParameters(const BedrockAgentCoreClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BedrockAgentCore } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeClient.h b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeClient.h index 594e8bfd4e90..11f97697e8a5 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeClient.h @@ -68,28 +68,6 @@ class AWS_BEDROCKDATAAUTOMATIONRUNTIME_API BedrockDataAutomationRuntimeClient const Aws::BedrockDataAutomationRuntime::BedrockDataAutomationRuntimeClientConfiguration& clientConfiguration = Aws::BedrockDataAutomationRuntime::BedrockDataAutomationRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BedrockDataAutomationRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BedrockDataAutomationRuntimeClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BedrockDataAutomationRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BedrockDataAutomationRuntimeClient(); /** @@ -251,7 +229,6 @@ class AWS_BEDROCKDATAAUTOMATIONRUNTIME_API BedrockDataAutomationRuntimeClient return SubmitAsync(&BedrockDataAutomationRuntimeClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeClientConfiguration.h index da44229045c5..fde9d8276fa3 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeClientConfiguration.h @@ -34,12 +34,31 @@ struct AWS_BEDROCKDATAAUTOMATIONRUNTIME_API BedrockDataAutomationRuntimeClientCo bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - BedrockDataAutomationRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit BedrockDataAutomationRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; private: void LoadBedrockDataAutomationRuntimeSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BEDROCKDATAAUTOMATIONRUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const BedrockDataAutomationRuntimeClientConfiguration& config); } // namespace BedrockDataAutomationRuntime } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeEndpointProvider.h index 79d4547657cf..8237efa10d43 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/include/aws/bedrock-data-automation-runtime/BedrockDataAutomationRuntimeEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_BEDROCKDATAAUTOMATIONRUNTIME_API BedrockDataAutomationRuntimeBuiltInPa using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const BedrockDataAutomationRuntimeClientConfiguration& config); virtual void SetFromClientConfiguration(const BedrockDataAutomationRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BedrockDataAutomationRuntimeClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeClient.cpp b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeClient.cpp index a8dfada86659..df173e6ec472 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeClient.cpp @@ -95,46 +95,6 @@ BedrockDataAutomationRuntimeClient::BedrockDataAutomationRuntimeClient( }) {} /* Legacy constructors due deprecation */ -BedrockDataAutomationRuntimeClient::BedrockDataAutomationRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT(clientConfiguration, GetServiceName(), "Bedrock Data Automation Runtime", - Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - }) {} - -BedrockDataAutomationRuntimeClient::BedrockDataAutomationRuntimeClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Data Automation Runtime", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - }) {} - -BedrockDataAutomationRuntimeClient::BedrockDataAutomationRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Data Automation Runtime", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - }) {} /* End of legacy constructors due deprecation */ BedrockDataAutomationRuntimeClient::~BedrockDataAutomationRuntimeClient() { ShutdownSdkClient(this, -1); } @@ -142,12 +102,6 @@ BedrockDataAutomationRuntimeClient::~BedrockDataAutomationRuntimeClient() { Shut std::shared_ptr& BedrockDataAutomationRuntimeClient::accessEndpointProvider() { return m_endpointProvider; } - -void BedrockDataAutomationRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -} BedrockDataAutomationRuntimeClient::InvokeOperationOutcome BedrockDataAutomationRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { auto operationName = request.GetServiceRequestName(); diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeClientConfiguration.cpp index d8d8dd930033..773e76f42c63 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeClientConfiguration.cpp @@ -11,6 +11,8 @@ namespace BedrockDataAutomationRuntime { static const char AWS_BEARER_TOKEN_BEDROCK[] = "AWS_BEARER_TOKEN_BEDROCK"; void BedrockDataAutomationRuntimeClientConfiguration::LoadBedrockDataAutomationRuntimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); const Aws::String& bedrockToken = BaseClientConfigClass::LoadConfigFromEnvOrProfile(AWS_BEARER_TOKEN_BEDROCK, inputProfileName, AWS_BEARER_TOKEN_BEDROCK, {}, ""); if (!bedrockToken.empty()) { @@ -42,10 +44,16 @@ BedrockDataAutomationRuntimeClientConfiguration::BedrockDataAutomationRuntimeCli } BedrockDataAutomationRuntimeClientConfiguration::BedrockDataAutomationRuntimeClientConfiguration( - const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config) { + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadBedrockDataAutomationRuntimeSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockDataAutomationRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + } // namespace BedrockDataAutomationRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeEndpointProvider.cpp index 736f74548fd1..80a55d2d48ea 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation-runtime/source/BedrockDataAutomationRuntimeEndpointProvider.cpp @@ -34,14 +34,25 @@ BedrockDataAutomationRuntimeEndpointProvider::BedrockDataAutomationRuntimeEndpoi void BedrockDataAutomationRuntimeBuiltInParameters::SetFromClientConfiguration( const BedrockDataAutomationRuntimeClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void BedrockDataAutomationRuntimeBuiltInParameters::SetFromClientConfiguration( const BedrockDataAutomationRuntimeClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void BedrockDataAutomationRuntimeBuiltInParameters::SetServiceSpecificParameters( + const BedrockDataAutomationRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BedrockDataAutomationRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationClient.h b/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationClient.h index 82dad5de1c00..a1726c107049 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationClient.h @@ -64,27 +64,6 @@ class AWS_BEDROCKDATAAUTOMATION_API BedrockDataAutomationClient const Aws::BedrockDataAutomation::BedrockDataAutomationClientConfiguration& clientConfiguration = Aws::BedrockDataAutomation::BedrockDataAutomationClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BedrockDataAutomationClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BedrockDataAutomationClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BedrockDataAutomationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BedrockDataAutomationClient(); /** @@ -854,7 +833,6 @@ class AWS_BEDROCKDATAAUTOMATION_API BedrockDataAutomationClient return SubmitAsync(&BedrockDataAutomationClient::UpdateDataAutomationProject, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationClientConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationClientConfiguration.h index a06281afda3a..6e0d4850df26 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationClientConfiguration.h @@ -32,12 +32,31 @@ struct AWS_BEDROCKDATAAUTOMATION_API BedrockDataAutomationClientConfiguration : BedrockDataAutomationClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - BedrockDataAutomationClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit BedrockDataAutomationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; private: void LoadBedrockDataAutomationSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BEDROCKDATAAUTOMATION_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const BedrockDataAutomationClientConfiguration& config); } // namespace BedrockDataAutomation } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationEndpointProvider.h b/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationEndpointProvider.h index 8a0d6ac0768a..536f4a4e220b 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation/include/aws/bedrock-data-automation/BedrockDataAutomationEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_BEDROCKDATAAUTOMATION_API BedrockDataAutomationBuiltInParameters : pub using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const BedrockDataAutomationClientConfiguration& config); virtual void SetFromClientConfiguration(const BedrockDataAutomationClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BedrockDataAutomationClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationClient.cpp b/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationClient.cpp index bc0c36463ad1..87a7dc62a120 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationClient.cpp @@ -115,45 +115,6 @@ BedrockDataAutomationClient::BedrockDataAutomationClient( }) {} /* Legacy constructors due deprecation */ -BedrockDataAutomationClient::BedrockDataAutomationClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT(clientConfiguration, GetServiceName(), "Bedrock Data Automation", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - }) {} - -BedrockDataAutomationClient::BedrockDataAutomationClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Data Automation", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - }) {} - -BedrockDataAutomationClient::BedrockDataAutomationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Data Automation", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - }) {} /* End of legacy constructors due deprecation */ BedrockDataAutomationClient::~BedrockDataAutomationClient() { ShutdownSdkClient(this, -1); } @@ -161,12 +122,6 @@ BedrockDataAutomationClient::~BedrockDataAutomationClient() { ShutdownSdkClient( std::shared_ptr& BedrockDataAutomationClient::accessEndpointProvider() { return m_endpointProvider; } - -void BedrockDataAutomationClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -} BedrockDataAutomationClient::InvokeOperationOutcome BedrockDataAutomationClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationClientConfiguration.cpp index 88598aa9d04f..5e1ef6ffa993 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationClientConfiguration.cpp @@ -11,6 +11,8 @@ namespace BedrockDataAutomation { static const char AWS_BEARER_TOKEN_BEDROCK[] = "AWS_BEARER_TOKEN_BEDROCK"; void BedrockDataAutomationClientConfiguration::LoadBedrockDataAutomationSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); const Aws::String& bedrockToken = BaseClientConfigClass::LoadConfigFromEnvOrProfile(AWS_BEARER_TOKEN_BEDROCK, inputProfileName, AWS_BEARER_TOKEN_BEDROCK, {}, ""); if (!bedrockToken.empty()) { @@ -39,10 +41,16 @@ BedrockDataAutomationClientConfiguration::BedrockDataAutomationClientConfigurati LoadBedrockDataAutomationSpecificConfig(this->profileName); } -BedrockDataAutomationClientConfiguration::BedrockDataAutomationClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config) { +BedrockDataAutomationClientConfiguration::BedrockDataAutomationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadBedrockDataAutomationSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockDataAutomationClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + } // namespace BedrockDataAutomation } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationEndpointProvider.cpp index 2d0f0c43cb85..225d6e2fcc95 100644 --- a/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-data-automation/source/BedrockDataAutomationEndpointProvider.cpp @@ -30,13 +30,23 @@ BedrockDataAutomationEndpointProvider::BedrockDataAutomationEndpointProvider() void BedrockDataAutomationBuiltInParameters::SetFromClientConfiguration(const BedrockDataAutomationClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void BedrockDataAutomationBuiltInParameters::SetFromClientConfiguration(const BedrockDataAutomationClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void BedrockDataAutomationBuiltInParameters::SetServiceSpecificParameters(const BedrockDataAutomationClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BedrockDataAutomation } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClient.h b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClient.h index 15d702752b5c..fe0574d4a1b5 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClient.h @@ -75,27 +75,6 @@ class AWS_BEDROCKRUNTIME_API BedrockRuntimeClient const Aws::BedrockRuntime::BedrockRuntimeClientConfiguration& clientConfiguration = Aws::BedrockRuntime::BedrockRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BedrockRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BedrockRuntimeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BedrockRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BedrockRuntimeClient(); /** @@ -548,7 +527,6 @@ class AWS_BEDROCKRUNTIME_API BedrockRuntimeClient return SubmitAsync(&BedrockRuntimeClient::StartAsyncInvoke, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClientConfiguration.h index 20fb6ab86889..12902146869e 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeClientConfiguration.h @@ -32,12 +32,62 @@ struct AWS_BEDROCKRUNTIME_API BedrockRuntimeClientConfiguration : public Aws::Cl BedrockRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - BedrockRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit BedrockRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; private: void LoadBedrockRuntimeSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BEDROCKRUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockRuntimeClientConfiguration& config); } // namespace BedrockRuntime } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeEndpointProvider.h index e4a68b91d684..a1a52d9fd863 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/include/aws/bedrock-runtime/BedrockRuntimeEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_BEDROCKRUNTIME_API BedrockRuntimeBuiltInParameters : public Aws::Endpo using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const BedrockRuntimeClientConfiguration& config); virtual void SetFromClientConfiguration(const BedrockRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BedrockRuntimeClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeClient.cpp b/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeClient.cpp index 280459964028..5d7978b24759 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeClient.cpp @@ -124,67 +124,11 @@ BedrockRuntimeClient::BedrockRuntimeClient(const std::shared_ptr(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - {smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption.schemeId, - smithy::BearerTokenAuthScheme{Aws::MakeShared( - "BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), - GetServiceName(), clientConfiguration.region}}, - }) {} - -BedrockRuntimeClient::BedrockRuntimeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Runtime", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - {smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption.schemeId, - smithy::BearerTokenAuthScheme{Aws::MakeShared( - "BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), - GetServiceName(), clientConfiguration.region}}, - - }) {} - -BedrockRuntimeClient::BedrockRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock Runtime", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption})), - {{smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - {smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption.schemeId, - smithy::BearerTokenAuthScheme{Aws::MakeShared( - "BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), - GetServiceName(), clientConfiguration.region}}}) {} /* End of legacy constructors due deprecation */ BedrockRuntimeClient::~BedrockRuntimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BedrockRuntimeClient::accessEndpointProvider() { return m_endpointProvider; } - -void BedrockRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -} BedrockRuntimeClient::InvokeOperationOutcome BedrockRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeClientConfiguration.cpp index a7392aa2918c..597543c312e4 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeClientConfiguration.cpp @@ -11,6 +11,8 @@ namespace BedrockRuntime { static const char AWS_BEARER_TOKEN_BEDROCK[] = "AWS_BEARER_TOKEN_BEDROCK"; void BedrockRuntimeClientConfiguration::LoadBedrockRuntimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); const Aws::String& bedrockToken = BaseClientConfigClass::LoadConfigFromEnvOrProfile(AWS_BEARER_TOKEN_BEDROCK, inputProfileName, AWS_BEARER_TOKEN_BEDROCK, {}, ""); if (!bedrockToken.empty()) { @@ -37,10 +39,18 @@ BedrockRuntimeClientConfiguration::BedrockRuntimeClientConfiguration(bool useSma LoadBedrockRuntimeSpecificConfig(this->profileName); } -BedrockRuntimeClientConfiguration::BedrockRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config) { +BedrockRuntimeClientConfiguration::BedrockRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadBedrockRuntimeSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + } // namespace BedrockRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeEndpointProvider.cpp index bce5818450da..8b7c3f4c508f 100644 --- a/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bedrock-runtime/source/BedrockRuntimeEndpointProvider.cpp @@ -30,13 +30,23 @@ BedrockRuntimeEndpointProvider::BedrockRuntimeEndpointProvider() void BedrockRuntimeBuiltInParameters::SetFromClientConfiguration(const BedrockRuntimeClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void BedrockRuntimeBuiltInParameters::SetFromClientConfiguration(const BedrockRuntimeClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void BedrockRuntimeBuiltInParameters::SetServiceSpecificParameters(const BedrockRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BedrockRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h index dbc748b84e8f..84b38c320952 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClient.h @@ -70,27 +70,6 @@ class AWS_BEDROCK_API BedrockClient std::shared_ptr endpointProvider = nullptr, const Aws::Bedrock::BedrockClientConfiguration& clientConfiguration = Aws::Bedrock::BedrockClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BedrockClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BedrockClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BedrockClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BedrockClient(); /** @@ -3479,7 +3458,6 @@ class AWS_BEDROCK_API BedrockClient return SubmitAsync(&BedrockClient::UpdateProvisionedModelThroughput, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClientConfiguration.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClientConfiguration.h index 950c08265d87..1c30def5f86d 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockClientConfiguration.h @@ -32,12 +32,30 @@ struct AWS_BEDROCK_API BedrockClientConfiguration : public Aws::Client::GenericC BedrockClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - BedrockClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit BedrockClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; private: void LoadBedrockSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BEDROCK_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockClientConfiguration& config); } // namespace Bedrock } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockEndpointProvider.h b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockEndpointProvider.h index bb576b6bc7ff..47ac013f1c9e 100644 --- a/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-bedrock/include/aws/bedrock/BedrockEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_BEDROCK_API BedrockBuiltInParameters : public Aws::Endpoint::BuiltInPa using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const BedrockClientConfiguration& config); virtual void SetFromClientConfiguration(const BedrockClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BedrockClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-bedrock/source/BedrockClient.cpp b/generated/src/aws-cpp-sdk-bedrock/source/BedrockClient.cpp index 5ea39193be47..43feb51ecc8f 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/BedrockClient.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/BedrockClient.cpp @@ -216,67 +216,11 @@ BedrockClient::BedrockClient(const std::shared_ptr& cred }) {} /* Legacy constructors due deprecation */ -BedrockClient::BedrockClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - {smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption.schemeId, - smithy::BearerTokenAuthScheme{Aws::MakeShared( - "BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), - GetServiceName(), clientConfiguration.region}}, - }) {} - -BedrockClient::BedrockClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - {smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption.schemeId, - smithy::BearerTokenAuthScheme{Aws::MakeShared( - "BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), - GetServiceName(), clientConfiguration.region}}, - - }) {} - -BedrockClient::BedrockClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "Bedrock", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption})), - {{smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - {smithy::BearerTokenAuthSchemeOption::bearerTokenAuthSchemeOption.schemeId, - smithy::BearerTokenAuthScheme{Aws::MakeShared( - "BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), - GetServiceName(), clientConfiguration.region}}}) {} /* End of legacy constructors due deprecation */ BedrockClient::~BedrockClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BedrockClient::accessEndpointProvider() { return m_endpointProvider; } - -void BedrockClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -} BedrockClient::InvokeOperationOutcome BedrockClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-bedrock/source/BedrockClientConfiguration.cpp b/generated/src/aws-cpp-sdk-bedrock/source/BedrockClientConfiguration.cpp index 2c45c0f3b6dd..afa018d1481e 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/BedrockClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/BedrockClientConfiguration.cpp @@ -11,6 +11,8 @@ namespace Bedrock { static const char AWS_BEARER_TOKEN_BEDROCK[] = "AWS_BEARER_TOKEN_BEDROCK"; void BedrockClientConfiguration::LoadBedrockSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); const Aws::String& bedrockToken = BaseClientConfigClass::LoadConfigFromEnvOrProfile(AWS_BEARER_TOKEN_BEDROCK, inputProfileName, AWS_BEARER_TOKEN_BEDROCK, {}, ""); if (!bedrockToken.empty()) { @@ -37,9 +39,16 @@ BedrockClientConfiguration::BedrockClientConfiguration(bool useSmartDefaults, co LoadBedrockSpecificConfig(this->profileName); } -BedrockClientConfiguration::BedrockClientConfiguration(const Aws::Client::ClientConfiguration& config) : BaseClientConfigClass(config) { +BedrockClientConfiguration::BedrockClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadBedrockSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BedrockClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + } // namespace Bedrock } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-bedrock/source/BedrockEndpointProvider.cpp b/generated/src/aws-cpp-sdk-bedrock/source/BedrockEndpointProvider.cpp index 263b3246b88b..f2d9afed13cd 100644 --- a/generated/src/aws-cpp-sdk-bedrock/source/BedrockEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-bedrock/source/BedrockEndpointProvider.cpp @@ -29,12 +29,22 @@ BedrockEndpointProvider::BedrockEndpointProvider() void BedrockBuiltInParameters::SetFromClientConfiguration(const BedrockClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void BedrockBuiltInParameters::SetFromClientConfiguration(const BedrockClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void BedrockBuiltInParameters::SetServiceSpecificParameters(const BedrockClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Bedrock } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingClient.h b/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingClient.h index fcee4c80c5a8..aac3f3c5306d 100644 --- a/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingClient.h +++ b/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingClient.h @@ -55,27 +55,6 @@ class AWS_BILLING_API BillingClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Billing::BillingClientConfiguration& clientConfiguration = Aws::Billing::BillingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BillingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BillingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BillingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BillingClient(); /** @@ -1028,7 +1007,6 @@ class AWS_BILLING_API BillingClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&BillingClient::UpdateBillingView, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingClientConfiguration.h b/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingClientConfiguration.h new file mode 100644 index 000000000000..3b27d973c7a4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Billing { +struct AWS_BILLING_API BillingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BillingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BillingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BillingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BillingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadBillingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BILLING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BillingClientConfiguration& config); +} // namespace Billing +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingEndpointProvider.h b/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingEndpointProvider.h index 58686f432f95..af1b51cdd5ff 100644 --- a/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Billing { namespace Endpoint { +using BillingClientConfiguration = Aws::Billing::BillingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BillingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BillingClientConfiguration = Aws::Client::GenericClientConfiguration; -using BillingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BILLING_API BillingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BillingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BillingClientConfiguration& config); + virtual void SetFromClientConfiguration(const BillingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BillingClientConfiguration& config); +}; /** * The type for the Billing Client Endpoint Provider. @@ -34,6 +43,24 @@ using BillingEndpointProviderBase = using BillingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Billing + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BILLING_EXTERN template class AWS_BILLING_API + Aws::Endpoint::EndpointProviderBase; + +AWS_BILLING_EXTERN template class AWS_BILLING_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Billing { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingServiceClientModel.h b/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingServiceClientModel.h index 70cbee673b8d..9cd2f3b5e4c8 100644 --- a/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingServiceClientModel.h @@ -82,7 +82,6 @@ class RetryStrategy; } // namespace Client namespace Billing { -using BillingClientConfiguration = Aws::Client::GenericClientConfiguration; using BillingEndpointProviderBase = Aws::Billing::Endpoint::BillingEndpointProviderBase; using BillingEndpointProvider = Aws::Billing::Endpoint::BillingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-billing/source/BillingClient.cpp b/generated/src/aws-cpp-sdk-billing/source/BillingClient.cpp index f5690e440e03..d645c1fec9a8 100644 --- a/generated/src/aws-cpp-sdk-billing/source/BillingClient.cpp +++ b/generated/src/aws-cpp-sdk-billing/source/BillingClient.cpp @@ -109,41 +109,6 @@ BillingClient::BillingClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -BillingClient::BillingClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BillingClient::BillingClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BillingClient::BillingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BillingClient::~BillingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BillingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -161,12 +126,7 @@ void BillingClient::init(const Billing::BillingClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "billing"); -} - -void BillingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BillingClient::InvokeOperationOutcome BillingClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-billing/source/BillingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-billing/source/BillingClientConfiguration.cpp new file mode 100644 index 000000000000..282138f642a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-billing/source/BillingClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Billing { + +void BillingClientConfiguration::LoadBillingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BillingClientConfiguration::BillingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBillingSpecificConfig(this->profileName); +} + +BillingClientConfiguration::BillingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBillingSpecificConfig(Aws::String(inputProfileName)); +} + +BillingClientConfiguration::BillingClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBillingSpecificConfig(this->profileName); +} + +BillingClientConfiguration::BillingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBillingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BillingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Billing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-billing/source/BillingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-billing/source/BillingEndpointProvider.cpp index 4c49fc581b49..0e625ae3c767 100644 --- a/generated/src/aws-cpp-sdk-billing/source/BillingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-billing/source/BillingEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_BILLING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Billing { namespace Endpoint { BillingEndpointProvider::BillingEndpointProvider() : BillingDefaultEpProviderBase(Aws::Billing::BillingEndpointRules::GetRulesBlob(), Aws::Billing::BillingEndpointRules::RulesBlobSize) {} +void BillingBuiltInParameters::SetFromClientConfiguration(const BillingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BillingBuiltInParameters::SetFromClientConfiguration(const BillingClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BillingBuiltInParameters::SetServiceSpecificParameters(const BillingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Billing } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorClient.h b/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorClient.h index 85d9e6903418..1bdd255c289d 100644 --- a/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorClient.h +++ b/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorClient.h @@ -74,27 +74,6 @@ class AWS_BILLINGCONDUCTOR_API BillingConductorClient : public Aws::Client::AWSJ const Aws::BillingConductor::BillingConductorClientConfiguration& clientConfiguration = Aws::BillingConductor::BillingConductorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BillingConductorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BillingConductorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BillingConductorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BillingConductorClient(); /** @@ -1066,7 +1045,6 @@ class AWS_BILLINGCONDUCTOR_API BillingConductorClient : public Aws::Client::AWSJ return SubmitAsync(&BillingConductorClient::UpdatePricingRule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorClientConfiguration.h b/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorClientConfiguration.h new file mode 100644 index 000000000000..3ec6e843c673 --- /dev/null +++ b/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace BillingConductor { +struct AWS_BILLINGCONDUCTOR_API BillingConductorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BillingConductorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BillingConductorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BillingConductorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BillingConductorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadBillingConductorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BILLINGCONDUCTOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BillingConductorClientConfiguration& config); +} // namespace BillingConductor +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorEndpointProvider.h b/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorEndpointProvider.h index caa5747b7a8a..908ff22a1dae 100644 --- a/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace BillingConductor { namespace Endpoint { +using BillingConductorClientConfiguration = Aws::BillingConductor::BillingConductorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BillingConductorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BillingConductorClientConfiguration = Aws::Client::GenericClientConfiguration; -using BillingConductorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BILLINGCONDUCTOR_API BillingConductorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BillingConductorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BillingConductorClientConfiguration& config); + virtual void SetFromClientConfiguration(const BillingConductorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BillingConductorClientConfiguration& config); +}; /** * The type for the BillingConductor Client Endpoint Provider. @@ -34,6 +43,24 @@ using BillingConductorEndpointProviderBase = using BillingConductorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace BillingConductor + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BILLINGCONDUCTOR_EXTERN template class AWS_BILLINGCONDUCTOR_API Aws::Endpoint::EndpointProviderBase< + BillingConductor::Endpoint::BillingConductorClientConfiguration, BillingConductor::Endpoint::BillingConductorBuiltInParameters, + BillingConductor::Endpoint::BillingConductorClientContextParameters>; + +AWS_BILLINGCONDUCTOR_EXTERN template class AWS_BILLINGCONDUCTOR_API Aws::Endpoint::BDDEndpointProvider< + BillingConductor::Endpoint::BillingConductorClientConfiguration, BillingConductor::Endpoint::BillingConductorBuiltInParameters, + BillingConductor::Endpoint::BillingConductorClientContextParameters>; +} // namespace Endpoint + +namespace BillingConductor { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorServiceClientModel.h b/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorServiceClientModel.h index 769312d4365d..a02022180244 100644 --- a/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorServiceClientModel.h @@ -86,7 +86,6 @@ class RetryStrategy; } // namespace Client namespace BillingConductor { -using BillingConductorClientConfiguration = Aws::Client::GenericClientConfiguration; using BillingConductorEndpointProviderBase = Aws::BillingConductor::Endpoint::BillingConductorEndpointProviderBase; using BillingConductorEndpointProvider = Aws::BillingConductor::Endpoint::BillingConductorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorClient.cpp b/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorClient.cpp index ee67afac2c26..5a65f9872f19 100644 --- a/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorClient.cpp +++ b/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorClient.cpp @@ -115,42 +115,6 @@ BillingConductorClient::BillingConductorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BillingConductorClient::BillingConductorClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BillingConductorClient::BillingConductorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BillingConductorClient::~BillingConductorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BillingConductorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -168,12 +132,7 @@ void BillingConductorClient::init(const BillingConductor::BillingConductorClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "billingconductor"); -} - -void BillingConductorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BillingConductorClient::InvokeOperationOutcome BillingConductorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorClientConfiguration.cpp new file mode 100644 index 000000000000..025604fff5f7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace BillingConductor { + +void BillingConductorClientConfiguration::LoadBillingConductorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BillingConductorClientConfiguration::BillingConductorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBillingConductorSpecificConfig(this->profileName); +} + +BillingConductorClientConfiguration::BillingConductorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBillingConductorSpecificConfig(Aws::String(inputProfileName)); +} + +BillingConductorClientConfiguration::BillingConductorClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBillingConductorSpecificConfig(this->profileName); +} + +BillingConductorClientConfiguration::BillingConductorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBillingConductorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BillingConductorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace BillingConductor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorEndpointProvider.cpp index 47c119c77750..60f2f4c758f9 100644 --- a/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_BILLINGCONDUCTOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace BillingConductor { namespace Endpoint { BillingConductorEndpointProvider::BillingConductorEndpointProvider() : BillingConductorDefaultEpProviderBase(Aws::BillingConductor::BillingConductorEndpointRules::GetRulesBlob(), Aws::BillingConductor::BillingConductorEndpointRules::RulesBlobSize) {} +void BillingConductorBuiltInParameters::SetFromClientConfiguration(const BillingConductorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BillingConductorBuiltInParameters::SetFromClientConfiguration(const BillingConductorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BillingConductorBuiltInParameters::SetServiceSpecificParameters(const BillingConductorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace BillingConductor } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketClient.h b/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketClient.h index eb33303e42e5..1cfcc04bc3e7 100644 --- a/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketClient.h +++ b/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketClient.h @@ -87,27 +87,6 @@ class AWS_BRAKET_API BraketClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Braket::BraketClientConfiguration& clientConfiguration = Aws::Braket::BraketClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BraketClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BraketClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BraketClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BraketClient(); /** @@ -564,7 +543,6 @@ class AWS_BRAKET_API BraketClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&BraketClient::UpdateSpendingLimit, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketClientConfiguration.h b/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketClientConfiguration.h new file mode 100644 index 000000000000..caa8fdf0b805 --- /dev/null +++ b/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Braket { +struct AWS_BRAKET_API BraketClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BraketClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BraketClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BraketClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BraketClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadBraketSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BRAKET_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BraketClientConfiguration& config); +} // namespace Braket +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketEndpointProvider.h b/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketEndpointProvider.h index bea48780409a..22d6ab28f13d 100644 --- a/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Braket { namespace Endpoint { +using BraketClientConfiguration = Aws::Braket::BraketClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BraketClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BraketClientConfiguration = Aws::Client::GenericClientConfiguration; -using BraketBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BRAKET_API BraketBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BraketBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BraketClientConfiguration& config); + virtual void SetFromClientConfiguration(const BraketClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BraketClientConfiguration& config); +}; /** * The type for the Braket Client Endpoint Provider. @@ -32,6 +41,24 @@ using BraketEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Braket + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BRAKET_EXTERN template class AWS_BRAKET_API + Aws::Endpoint::EndpointProviderBase; + +AWS_BRAKET_EXTERN template class AWS_BRAKET_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Braket { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketServiceClientModel.h b/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketServiceClientModel.h index 94bef375c4b5..d93628957c37 100644 --- a/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketServiceClientModel.h @@ -64,7 +64,6 @@ class RetryStrategy; } // namespace Client namespace Braket { -using BraketClientConfiguration = Aws::Client::GenericClientConfiguration; using BraketEndpointProviderBase = Aws::Braket::Endpoint::BraketEndpointProviderBase; using BraketEndpointProvider = Aws::Braket::Endpoint::BraketEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-braket/source/BraketClient.cpp b/generated/src/aws-cpp-sdk-braket/source/BraketClient.cpp index 027a1800fbdc..dbde04d63e04 100644 --- a/generated/src/aws-cpp-sdk-braket/source/BraketClient.cpp +++ b/generated/src/aws-cpp-sdk-braket/source/BraketClient.cpp @@ -94,41 +94,6 @@ BraketClient::BraketClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -BraketClient::BraketClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BraketClient::BraketClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BraketClient::BraketClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BraketClient::~BraketClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BraketClient::accessEndpointProvider() { return m_endpointProvider; } @@ -146,12 +111,7 @@ void BraketClient::init(const Braket::BraketClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "braket"); -} - -void BraketClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BraketClient::InvokeOperationOutcome BraketClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-braket/source/BraketClientConfiguration.cpp b/generated/src/aws-cpp-sdk-braket/source/BraketClientConfiguration.cpp new file mode 100644 index 000000000000..ff7db07e1d29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-braket/source/BraketClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Braket { + +void BraketClientConfiguration::LoadBraketSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BraketClientConfiguration::BraketClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBraketSpecificConfig(this->profileName); +} + +BraketClientConfiguration::BraketClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBraketSpecificConfig(Aws::String(inputProfileName)); +} + +BraketClientConfiguration::BraketClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBraketSpecificConfig(this->profileName); +} + +BraketClientConfiguration::BraketClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBraketSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BraketClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Braket +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-braket/source/BraketEndpointProvider.cpp b/generated/src/aws-cpp-sdk-braket/source/BraketEndpointProvider.cpp index 8f9bfefffe10..1bcced8f032d 100644 --- a/generated/src/aws-cpp-sdk-braket/source/BraketEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-braket/source/BraketEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_BRAKET_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Braket { namespace Endpoint { BraketEndpointProvider::BraketEndpointProvider() : BraketDefaultEpProviderBase(Aws::Braket::BraketEndpointRules::GetRulesBlob(), Aws::Braket::BraketEndpointRules::RulesBlobSize) {} +void BraketBuiltInParameters::SetFromClientConfiguration(const BraketClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BraketBuiltInParameters::SetFromClientConfiguration(const BraketClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BraketBuiltInParameters::SetServiceSpecificParameters(const BraketClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Braket } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsClient.h b/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsClient.h index 0855d5faed75..e0cdc2997e10 100644 --- a/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsClient.h +++ b/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsClient.h @@ -77,27 +77,6 @@ class AWS_BUDGETS_API BudgetsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Budgets::BudgetsClientConfiguration& clientConfiguration = Aws::Budgets::BudgetsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - BudgetsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - BudgetsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - BudgetsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~BudgetsClient(); /** @@ -846,7 +825,6 @@ class AWS_BUDGETS_API BudgetsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&BudgetsClient::UpdateSubscriber, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsClientConfiguration.h b/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsClientConfiguration.h new file mode 100644 index 000000000000..06804696966b --- /dev/null +++ b/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Budgets { +struct AWS_BUDGETS_API BudgetsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + BudgetsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BudgetsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + BudgetsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit BudgetsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadBudgetsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_BUDGETS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const BudgetsClientConfiguration& config); +} // namespace Budgets +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsEndpointProvider.h b/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsEndpointProvider.h index 76b57eb33505..e49b4dcdb408 100644 --- a/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Budgets { namespace Endpoint { +using BudgetsClientConfiguration = Aws::Budgets::BudgetsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using BudgetsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using BudgetsClientConfiguration = Aws::Client::GenericClientConfiguration; -using BudgetsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_BUDGETS_API BudgetsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~BudgetsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const BudgetsClientConfiguration& config); + virtual void SetFromClientConfiguration(const BudgetsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const BudgetsClientConfiguration& config); +}; /** * The type for the Budgets Client Endpoint Provider. @@ -34,6 +43,24 @@ using BudgetsEndpointProviderBase = using BudgetsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Budgets + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_BUDGETS_EXTERN template class AWS_BUDGETS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_BUDGETS_EXTERN template class AWS_BUDGETS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Budgets { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsServiceClientModel.h b/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsServiceClientModel.h index 3679c283f38f..35cde69f5f7f 100644 --- a/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsServiceClientModel.h @@ -72,7 +72,6 @@ class RetryStrategy; } // namespace Client namespace Budgets { -using BudgetsClientConfiguration = Aws::Client::GenericClientConfiguration; using BudgetsEndpointProviderBase = Aws::Budgets::Endpoint::BudgetsEndpointProviderBase; using BudgetsEndpointProvider = Aws::Budgets::Endpoint::BudgetsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-budgets/source/BudgetsClient.cpp b/generated/src/aws-cpp-sdk-budgets/source/BudgetsClient.cpp index 45902d8fc9dc..0c4e74632531 100644 --- a/generated/src/aws-cpp-sdk-budgets/source/BudgetsClient.cpp +++ b/generated/src/aws-cpp-sdk-budgets/source/BudgetsClient.cpp @@ -103,41 +103,6 @@ BudgetsClient::BudgetsClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -BudgetsClient::BudgetsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BudgetsClient::BudgetsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -BudgetsClient::BudgetsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ BudgetsClient::~BudgetsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& BudgetsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void BudgetsClient::init(const Budgets::BudgetsClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "budgets"); -} - -void BudgetsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } BudgetsClient::InvokeOperationOutcome BudgetsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-budgets/source/BudgetsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-budgets/source/BudgetsClientConfiguration.cpp new file mode 100644 index 000000000000..69f780a29ea9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-budgets/source/BudgetsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Budgets { + +void BudgetsClientConfiguration::LoadBudgetsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +BudgetsClientConfiguration::BudgetsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadBudgetsSpecificConfig(this->profileName); +} + +BudgetsClientConfiguration::BudgetsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadBudgetsSpecificConfig(Aws::String(inputProfileName)); +} + +BudgetsClientConfiguration::BudgetsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadBudgetsSpecificConfig(this->profileName); +} + +BudgetsClientConfiguration::BudgetsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadBudgetsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const BudgetsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Budgets +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-budgets/source/BudgetsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-budgets/source/BudgetsEndpointProvider.cpp index 3bfc2f1a2896..df10cf0946c4 100644 --- a/generated/src/aws-cpp-sdk-budgets/source/BudgetsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-budgets/source/BudgetsEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_BUDGETS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Budgets { namespace Endpoint { BudgetsEndpointProvider::BudgetsEndpointProvider() : BudgetsDefaultEpProviderBase(Aws::Budgets::BudgetsEndpointRules::GetRulesBlob(), Aws::Budgets::BudgetsEndpointRules::RulesBlobSize) {} +void BudgetsBuiltInParameters::SetFromClientConfiguration(const BudgetsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void BudgetsBuiltInParameters::SetFromClientConfiguration(const BudgetsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void BudgetsBuiltInParameters::SetServiceSpecificParameters(const BudgetsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Budgets } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerClient.h b/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerClient.h index 602e8131a2a9..c75cb0f417ac 100644 --- a/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerClient.h +++ b/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerClient.h @@ -64,27 +64,6 @@ class AWS_COSTEXPLORER_API CostExplorerClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::CostExplorer::CostExplorerClientConfiguration& clientConfiguration = Aws::CostExplorer::CostExplorerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CostExplorerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CostExplorerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CostExplorerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CostExplorerClient(); /** @@ -1577,7 +1556,6 @@ class AWS_COSTEXPLORER_API CostExplorerClient : public Aws::Client::AWSJsonClien return SubmitAsync(&CostExplorerClient::UpdateCostCategoryDefinition, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerClientConfiguration.h b/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerClientConfiguration.h new file mode 100644 index 000000000000..11e196e1d50c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CostExplorer { +struct AWS_COSTEXPLORER_API CostExplorerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CostExplorerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CostExplorerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CostExplorerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CostExplorerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCostExplorerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COSTEXPLORER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CostExplorerClientConfiguration& config); +} // namespace CostExplorer +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerEndpointProvider.h b/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerEndpointProvider.h index 64dee5c593e4..7ef288e61422 100644 --- a/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CostExplorer { namespace Endpoint { +using CostExplorerClientConfiguration = Aws::CostExplorer::CostExplorerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CostExplorerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CostExplorerClientConfiguration = Aws::Client::GenericClientConfiguration; -using CostExplorerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COSTEXPLORER_API CostExplorerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CostExplorerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CostExplorerClientConfiguration& config); + virtual void SetFromClientConfiguration(const CostExplorerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CostExplorerClientConfiguration& config); +}; /** * The type for the CostExplorer Client Endpoint Provider. @@ -34,6 +43,24 @@ using CostExplorerEndpointProviderBase = using CostExplorerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CostExplorer + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COSTEXPLORER_EXTERN template class AWS_COSTEXPLORER_API Aws::Endpoint::EndpointProviderBase< + CostExplorer::Endpoint::CostExplorerClientConfiguration, CostExplorer::Endpoint::CostExplorerBuiltInParameters, + CostExplorer::Endpoint::CostExplorerClientContextParameters>; + +AWS_COSTEXPLORER_EXTERN template class AWS_COSTEXPLORER_API Aws::Endpoint::BDDEndpointProvider< + CostExplorer::Endpoint::CostExplorerClientConfiguration, CostExplorer::Endpoint::CostExplorerBuiltInParameters, + CostExplorer::Endpoint::CostExplorerClientContextParameters>; +} // namespace Endpoint + +namespace CostExplorer { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerServiceClientModel.h b/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerServiceClientModel.h index f038f8544cd8..a4715eb0eed7 100644 --- a/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerServiceClientModel.h @@ -102,7 +102,6 @@ class RetryStrategy; } // namespace Client namespace CostExplorer { -using CostExplorerClientConfiguration = Aws::Client::GenericClientConfiguration; using CostExplorerEndpointProviderBase = Aws::CostExplorer::Endpoint::CostExplorerEndpointProviderBase; using CostExplorerEndpointProvider = Aws::CostExplorer::Endpoint::CostExplorerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ce/source/CostExplorerClient.cpp b/generated/src/aws-cpp-sdk-ce/source/CostExplorerClient.cpp index dec6338edc42..6808dbf9e58f 100644 --- a/generated/src/aws-cpp-sdk-ce/source/CostExplorerClient.cpp +++ b/generated/src/aws-cpp-sdk-ce/source/CostExplorerClient.cpp @@ -125,41 +125,6 @@ CostExplorerClient::CostExplorerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CostExplorerClient::CostExplorerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CostExplorerClient::CostExplorerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CostExplorerClient::~CostExplorerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CostExplorerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -177,12 +142,7 @@ void CostExplorerClient::init(const CostExplorer::CostExplorerClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ce"); -} - -void CostExplorerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CostExplorerClient::InvokeOperationOutcome CostExplorerClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-ce/source/CostExplorerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ce/source/CostExplorerClientConfiguration.cpp new file mode 100644 index 000000000000..bdeb00a6a916 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ce/source/CostExplorerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CostExplorer { + +void CostExplorerClientConfiguration::LoadCostExplorerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CostExplorerClientConfiguration::CostExplorerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCostExplorerSpecificConfig(this->profileName); +} + +CostExplorerClientConfiguration::CostExplorerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCostExplorerSpecificConfig(Aws::String(inputProfileName)); +} + +CostExplorerClientConfiguration::CostExplorerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCostExplorerSpecificConfig(this->profileName); +} + +CostExplorerClientConfiguration::CostExplorerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCostExplorerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CostExplorerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CostExplorer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ce/source/CostExplorerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ce/source/CostExplorerEndpointProvider.cpp index cb7543e0f80d..37c6e6b87cac 100644 --- a/generated/src/aws-cpp-sdk-ce/source/CostExplorerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ce/source/CostExplorerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_COSTEXPLORER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CostExplorer { namespace Endpoint { CostExplorerEndpointProvider::CostExplorerEndpointProvider() : CostExplorerDefaultEpProviderBase(Aws::CostExplorer::CostExplorerEndpointRules::GetRulesBlob(), Aws::CostExplorer::CostExplorerEndpointRules::RulesBlobSize) {} +void CostExplorerBuiltInParameters::SetFromClientConfiguration(const CostExplorerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CostExplorerBuiltInParameters::SetFromClientConfiguration(const CostExplorerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CostExplorerBuiltInParameters::SetServiceSpecificParameters(const CostExplorerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CostExplorer } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotClient.h b/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotClient.h index 3bd3dc21283e..648161b04280 100644 --- a/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotClient.h +++ b/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotClient.h @@ -62,27 +62,6 @@ class AWS_CHATBOT_API ChatbotClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::chatbot::ChatbotClientConfiguration& clientConfiguration = Aws::chatbot::ChatbotClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ChatbotClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ChatbotClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ChatbotClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ChatbotClient(); /** @@ -1066,7 +1045,6 @@ class AWS_CHATBOT_API ChatbotClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ChatbotClient::UpdateSlackChannelConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotClientConfiguration.h b/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotClientConfiguration.h new file mode 100644 index 000000000000..6d334610ec53 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace chatbot { +struct AWS_CHATBOT_API ChatbotClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ChatbotClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChatbotClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChatbotClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ChatbotClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadchatbotSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CHATBOT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChatbotClientConfiguration& config); +} // namespace chatbot +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotEndpointProvider.h b/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotEndpointProvider.h index b9322add7dcc..cb5de3be4190 100644 --- a/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace chatbot { namespace Endpoint { +using ChatbotClientConfiguration = Aws::chatbot::ChatbotClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ChatbotClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ChatbotClientConfiguration = Aws::Client::GenericClientConfiguration; -using ChatbotBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CHATBOT_API ChatbotBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ChatbotBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ChatbotClientConfiguration& config); + virtual void SetFromClientConfiguration(const ChatbotClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ChatbotClientConfiguration& config); +}; /** * The type for the chatbot Client Endpoint Provider. @@ -34,6 +43,24 @@ using ChatbotEndpointProviderBase = using ChatbotDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace chatbot + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CHATBOT_EXTERN template class AWS_CHATBOT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CHATBOT_EXTERN template class AWS_CHATBOT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace chatbot { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotServiceClientModel.h b/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotServiceClientModel.h index 819ac9c531a7..019344cf3d06 100644 --- a/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotServiceClientModel.h @@ -90,7 +90,6 @@ class RetryStrategy; } // namespace Client namespace chatbot { -using ChatbotClientConfiguration = Aws::Client::GenericClientConfiguration; using ChatbotEndpointProviderBase = Aws::chatbot::Endpoint::ChatbotEndpointProviderBase; using ChatbotEndpointProvider = Aws::chatbot::Endpoint::ChatbotEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-chatbot/source/ChatbotClient.cpp b/generated/src/aws-cpp-sdk-chatbot/source/ChatbotClient.cpp index ba3fb190b790..4f0ea6302aea 100644 --- a/generated/src/aws-cpp-sdk-chatbot/source/ChatbotClient.cpp +++ b/generated/src/aws-cpp-sdk-chatbot/source/ChatbotClient.cpp @@ -111,41 +111,6 @@ ChatbotClient::ChatbotClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ChatbotClient::ChatbotClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChatbotClient::ChatbotClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChatbotClient::ChatbotClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ChatbotClient::~ChatbotClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ChatbotClient::accessEndpointProvider() { return m_endpointProvider; } @@ -163,12 +128,7 @@ void ChatbotClient::init(const chatbot::ChatbotClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "chatbot"); -} - -void ChatbotClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ChatbotClient::InvokeOperationOutcome ChatbotClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-chatbot/source/ChatbotClientConfiguration.cpp b/generated/src/aws-cpp-sdk-chatbot/source/ChatbotClientConfiguration.cpp new file mode 100644 index 000000000000..3d4817dc1d28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chatbot/source/ChatbotClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace chatbot { + +void ChatbotClientConfiguration::LoadchatbotSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ChatbotClientConfiguration::ChatbotClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadchatbotSpecificConfig(this->profileName); +} + +ChatbotClientConfiguration::ChatbotClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadchatbotSpecificConfig(Aws::String(inputProfileName)); +} + +ChatbotClientConfiguration::ChatbotClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadchatbotSpecificConfig(this->profileName); +} + +ChatbotClientConfiguration::ChatbotClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadchatbotSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChatbotClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace chatbot +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chatbot/source/ChatbotEndpointProvider.cpp b/generated/src/aws-cpp-sdk-chatbot/source/ChatbotEndpointProvider.cpp index f1e50b8102ae..7e70ea224103 100644 --- a/generated/src/aws-cpp-sdk-chatbot/source/ChatbotEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-chatbot/source/ChatbotEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_CHATBOT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace chatbot { namespace Endpoint { ChatbotEndpointProvider::ChatbotEndpointProvider() : ChatbotDefaultEpProviderBase(Aws::chatbot::ChatbotEndpointRules::GetRulesBlob(), Aws::chatbot::ChatbotEndpointRules::RulesBlobSize) {} +void ChatbotBuiltInParameters::SetFromClientConfiguration(const ChatbotClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ChatbotBuiltInParameters::SetFromClientConfiguration(const ChatbotClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ChatbotBuiltInParameters::SetServiceSpecificParameters(const ChatbotClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace chatbot } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityClient.h b/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityClient.h index 630a8bfcfaeb..3522cb68f825 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityClient.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityClient.h @@ -61,27 +61,6 @@ class AWS_CHIMESDKIDENTITY_API ChimeSDKIdentityClient : public Aws::Client::AWSJ const Aws::ChimeSDKIdentity::ChimeSDKIdentityClientConfiguration& clientConfiguration = Aws::ChimeSDKIdentity::ChimeSDKIdentityClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ChimeSDKIdentityClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ChimeSDKIdentityClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ChimeSDKIdentityClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ChimeSDKIdentityClient(); /** @@ -935,7 +914,6 @@ class AWS_CHIMESDKIDENTITY_API ChimeSDKIdentityClient : public Aws::Client::AWSJ return SubmitAsync(&ChimeSDKIdentityClient::UpdateAppInstanceUserEndpoint, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityClientConfiguration.h b/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityClientConfiguration.h new file mode 100644 index 000000000000..c155d6bb55a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ChimeSDKIdentity { +struct AWS_CHIMESDKIDENTITY_API ChimeSDKIdentityClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ChimeSDKIdentityClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKIdentityClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKIdentityClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ChimeSDKIdentityClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadChimeSDKIdentitySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CHIMESDKIDENTITY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKIdentityClientConfiguration& config); +} // namespace ChimeSDKIdentity +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityEndpointProvider.h b/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityEndpointProvider.h index 276c4cacce0a..202d9c483e21 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ChimeSDKIdentity { namespace Endpoint { +using ChimeSDKIdentityClientConfiguration = Aws::ChimeSDKIdentity::ChimeSDKIdentityClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ChimeSDKIdentityClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ChimeSDKIdentityClientConfiguration = Aws::Client::GenericClientConfiguration; -using ChimeSDKIdentityBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CHIMESDKIDENTITY_API ChimeSDKIdentityBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ChimeSDKIdentityBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ChimeSDKIdentityClientConfiguration& config); + virtual void SetFromClientConfiguration(const ChimeSDKIdentityClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ChimeSDKIdentityClientConfiguration& config); +}; /** * The type for the ChimeSDKIdentity Client Endpoint Provider. @@ -34,6 +43,24 @@ using ChimeSDKIdentityEndpointProviderBase = using ChimeSDKIdentityDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ChimeSDKIdentity + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CHIMESDKIDENTITY_EXTERN template class AWS_CHIMESDKIDENTITY_API Aws::Endpoint::EndpointProviderBase< + ChimeSDKIdentity::Endpoint::ChimeSDKIdentityClientConfiguration, ChimeSDKIdentity::Endpoint::ChimeSDKIdentityBuiltInParameters, + ChimeSDKIdentity::Endpoint::ChimeSDKIdentityClientContextParameters>; + +AWS_CHIMESDKIDENTITY_EXTERN template class AWS_CHIMESDKIDENTITY_API Aws::Endpoint::BDDEndpointProvider< + ChimeSDKIdentity::Endpoint::ChimeSDKIdentityClientConfiguration, ChimeSDKIdentity::Endpoint::ChimeSDKIdentityBuiltInParameters, + ChimeSDKIdentity::Endpoint::ChimeSDKIdentityClientContextParameters>; +} // namespace Endpoint + +namespace ChimeSDKIdentity { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityServiceClientModel.h b/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityServiceClientModel.h index eebbf9f336e2..19af5684a9a9 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace ChimeSDKIdentity { -using ChimeSDKIdentityClientConfiguration = Aws::Client::GenericClientConfiguration; using ChimeSDKIdentityEndpointProviderBase = Aws::ChimeSDKIdentity::Endpoint::ChimeSDKIdentityEndpointProviderBase; using ChimeSDKIdentityEndpointProvider = Aws::ChimeSDKIdentity::Endpoint::ChimeSDKIdentityEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityClient.cpp b/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityClient.cpp index e19a0e05ca94..630f8ba5d902 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityClient.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityClient.cpp @@ -111,42 +111,6 @@ ChimeSDKIdentityClient::ChimeSDKIdentityClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKIdentityClient::ChimeSDKIdentityClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKIdentityClient::ChimeSDKIdentityClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ChimeSDKIdentityClient::~ChimeSDKIdentityClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ChimeSDKIdentityClient::accessEndpointProvider() { return m_endpointProvider; } @@ -164,12 +128,7 @@ void ChimeSDKIdentityClient::init(const ChimeSDKIdentity::ChimeSDKIdentityClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "chime"); -} - -void ChimeSDKIdentityClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ChimeSDKIdentityClient::InvokeOperationOutcome ChimeSDKIdentityClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityClientConfiguration.cpp b/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityClientConfiguration.cpp new file mode 100644 index 000000000000..c096686f84b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ChimeSDKIdentity { + +void ChimeSDKIdentityClientConfiguration::LoadChimeSDKIdentitySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ChimeSDKIdentityClientConfiguration::ChimeSDKIdentityClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadChimeSDKIdentitySpecificConfig(this->profileName); +} + +ChimeSDKIdentityClientConfiguration::ChimeSDKIdentityClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadChimeSDKIdentitySpecificConfig(Aws::String(inputProfileName)); +} + +ChimeSDKIdentityClientConfiguration::ChimeSDKIdentityClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadChimeSDKIdentitySpecificConfig(this->profileName); +} + +ChimeSDKIdentityClientConfiguration::ChimeSDKIdentityClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadChimeSDKIdentitySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKIdentityClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ChimeSDKIdentity +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityEndpointProvider.cpp b/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityEndpointProvider.cpp index ea2a8594985b..b776517b5d00 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CHIMESDKIDENTITY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ChimeSDKIdentity { namespace Endpoint { ChimeSDKIdentityEndpointProvider::ChimeSDKIdentityEndpointProvider() : ChimeSDKIdentityDefaultEpProviderBase(Aws::ChimeSDKIdentity::ChimeSDKIdentityEndpointRules::GetRulesBlob(), Aws::ChimeSDKIdentity::ChimeSDKIdentityEndpointRules::RulesBlobSize) {} +void ChimeSDKIdentityBuiltInParameters::SetFromClientConfiguration(const ChimeSDKIdentityClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ChimeSDKIdentityBuiltInParameters::SetFromClientConfiguration(const ChimeSDKIdentityClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ChimeSDKIdentityBuiltInParameters::SetServiceSpecificParameters(const ChimeSDKIdentityClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ChimeSDKIdentity } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesClient.h b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesClient.h index a4bf86ba9f0b..015f632f2450 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesClient.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesClient.h @@ -62,27 +62,6 @@ class AWS_CHIMESDKMEDIAPIPELINES_API ChimeSDKMediaPipelinesClient const Aws::ChimeSDKMediaPipelines::ChimeSDKMediaPipelinesClientConfiguration& clientConfiguration = Aws::ChimeSDKMediaPipelines::ChimeSDKMediaPipelinesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ChimeSDKMediaPipelinesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ChimeSDKMediaPipelinesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ChimeSDKMediaPipelinesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ChimeSDKMediaPipelinesClient(); /** @@ -1001,7 +980,6 @@ class AWS_CHIMESDKMEDIAPIPELINES_API ChimeSDKMediaPipelinesClient return SubmitAsync(&ChimeSDKMediaPipelinesClient::UpdateMediaPipelineKinesisVideoStreamPool, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesClientConfiguration.h b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesClientConfiguration.h new file mode 100644 index 000000000000..a087096bdfac --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ChimeSDKMediaPipelines { +struct AWS_CHIMESDKMEDIAPIPELINES_API ChimeSDKMediaPipelinesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ChimeSDKMediaPipelinesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKMediaPipelinesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKMediaPipelinesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ChimeSDKMediaPipelinesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadChimeSDKMediaPipelinesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CHIMESDKMEDIAPIPELINES_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ChimeSDKMediaPipelinesClientConfiguration& config); +} // namespace ChimeSDKMediaPipelines +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesEndpointProvider.h b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesEndpointProvider.h index 7dd3341b8585..bb1521e08047 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ChimeSDKMediaPipelines { namespace Endpoint { +using ChimeSDKMediaPipelinesClientConfiguration = Aws::ChimeSDKMediaPipelines::ChimeSDKMediaPipelinesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ChimeSDKMediaPipelinesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ChimeSDKMediaPipelinesClientConfiguration = Aws::Client::GenericClientConfiguration; -using ChimeSDKMediaPipelinesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CHIMESDKMEDIAPIPELINES_API ChimeSDKMediaPipelinesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ChimeSDKMediaPipelinesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ChimeSDKMediaPipelinesClientConfiguration& config); + virtual void SetFromClientConfiguration(const ChimeSDKMediaPipelinesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ChimeSDKMediaPipelinesClientConfiguration& config); +}; /** * The type for the ChimeSDKMediaPipelines Client Endpoint Provider. @@ -36,6 +45,26 @@ using ChimeSDKMediaPipelinesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ChimeSDKMediaPipelines + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CHIMESDKMEDIAPIPELINES_EXTERN template class AWS_CHIMESDKMEDIAPIPELINES_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CHIMESDKMEDIAPIPELINES_EXTERN template class AWS_CHIMESDKMEDIAPIPELINES_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ChimeSDKMediaPipelines { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesServiceClientModel.h b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesServiceClientModel.h index 53673f0dae91..6f20c500e105 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesServiceClientModel.h @@ -75,7 +75,6 @@ class RetryStrategy; } // namespace Client namespace ChimeSDKMediaPipelines { -using ChimeSDKMediaPipelinesClientConfiguration = Aws::Client::GenericClientConfiguration; using ChimeSDKMediaPipelinesEndpointProviderBase = Aws::ChimeSDKMediaPipelines::Endpoint::ChimeSDKMediaPipelinesEndpointProviderBase; using ChimeSDKMediaPipelinesEndpointProvider = Aws::ChimeSDKMediaPipelines::Endpoint::ChimeSDKMediaPipelinesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesClient.cpp b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesClient.cpp index 08c866a1bc29..17658623d5f6 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesClient.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesClient.cpp @@ -114,42 +114,6 @@ ChimeSDKMediaPipelinesClient::ChimeSDKMediaPipelinesClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ChimeSDKMediaPipelinesClient::ChimeSDKMediaPipelinesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKMediaPipelinesClient::ChimeSDKMediaPipelinesClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKMediaPipelinesClient::ChimeSDKMediaPipelinesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ChimeSDKMediaPipelinesClient::~ChimeSDKMediaPipelinesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ChimeSDKMediaPipelinesClient::accessEndpointProvider() { @@ -169,12 +133,7 @@ void ChimeSDKMediaPipelinesClient::init(const ChimeSDKMediaPipelines::ChimeSDKMe AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "chime"); -} - -void ChimeSDKMediaPipelinesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ChimeSDKMediaPipelinesClient::InvokeOperationOutcome ChimeSDKMediaPipelinesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesClientConfiguration.cpp new file mode 100644 index 000000000000..ff7656a80b62 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ChimeSDKMediaPipelines { + +void ChimeSDKMediaPipelinesClientConfiguration::LoadChimeSDKMediaPipelinesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ChimeSDKMediaPipelinesClientConfiguration::ChimeSDKMediaPipelinesClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadChimeSDKMediaPipelinesSpecificConfig(this->profileName); +} + +ChimeSDKMediaPipelinesClientConfiguration::ChimeSDKMediaPipelinesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadChimeSDKMediaPipelinesSpecificConfig(Aws::String(inputProfileName)); +} + +ChimeSDKMediaPipelinesClientConfiguration::ChimeSDKMediaPipelinesClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadChimeSDKMediaPipelinesSpecificConfig(this->profileName); +} + +ChimeSDKMediaPipelinesClientConfiguration::ChimeSDKMediaPipelinesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadChimeSDKMediaPipelinesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKMediaPipelinesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ChimeSDKMediaPipelines +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesEndpointProvider.cpp index fba1e2e98a5b..f8d00673a5c7 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CHIMESDKMEDIAPIPELINES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ChimeSDKMediaPipelines { namespace Endpoint { ChimeSDKMediaPipelinesEndpointProvider::ChimeSDKMediaPipelinesEndpointProvider() : ChimeSDKMediaPipelinesDefaultEpProviderBase(Aws::ChimeSDKMediaPipelines::ChimeSDKMediaPipelinesEndpointRules::GetRulesBlob(), Aws::ChimeSDKMediaPipelines::ChimeSDKMediaPipelinesEndpointRules::RulesBlobSize) {} +void ChimeSDKMediaPipelinesBuiltInParameters::SetFromClientConfiguration(const ChimeSDKMediaPipelinesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ChimeSDKMediaPipelinesBuiltInParameters::SetFromClientConfiguration(const ChimeSDKMediaPipelinesClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ChimeSDKMediaPipelinesBuiltInParameters::SetServiceSpecificParameters(const ChimeSDKMediaPipelinesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ChimeSDKMediaPipelines } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsClient.h b/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsClient.h index 4b8850bd29e5..410af0886d04 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsClient.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsClient.h @@ -61,27 +61,6 @@ class AWS_CHIMESDKMEETINGS_API ChimeSDKMeetingsClient : public Aws::Client::AWSJ const Aws::ChimeSDKMeetings::ChimeSDKMeetingsClientConfiguration& clientConfiguration = Aws::ChimeSDKMeetings::ChimeSDKMeetingsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ChimeSDKMeetingsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ChimeSDKMeetingsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ChimeSDKMeetingsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ChimeSDKMeetingsClient(); /** @@ -686,7 +665,6 @@ class AWS_CHIMESDKMEETINGS_API ChimeSDKMeetingsClient : public Aws::Client::AWSJ return SubmitAsync(&ChimeSDKMeetingsClient::UpdateAttendeeCapabilities, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsClientConfiguration.h b/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsClientConfiguration.h new file mode 100644 index 000000000000..86d1e1c9ef00 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ChimeSDKMeetings { +struct AWS_CHIMESDKMEETINGS_API ChimeSDKMeetingsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ChimeSDKMeetingsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKMeetingsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKMeetingsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ChimeSDKMeetingsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadChimeSDKMeetingsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CHIMESDKMEETINGS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKMeetingsClientConfiguration& config); +} // namespace ChimeSDKMeetings +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsEndpointProvider.h b/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsEndpointProvider.h index 875c40a303e3..91a56516199c 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ChimeSDKMeetings { namespace Endpoint { +using ChimeSDKMeetingsClientConfiguration = Aws::ChimeSDKMeetings::ChimeSDKMeetingsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ChimeSDKMeetingsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ChimeSDKMeetingsClientConfiguration = Aws::Client::GenericClientConfiguration; -using ChimeSDKMeetingsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CHIMESDKMEETINGS_API ChimeSDKMeetingsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ChimeSDKMeetingsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ChimeSDKMeetingsClientConfiguration& config); + virtual void SetFromClientConfiguration(const ChimeSDKMeetingsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ChimeSDKMeetingsClientConfiguration& config); +}; /** * The type for the ChimeSDKMeetings Client Endpoint Provider. @@ -34,6 +43,24 @@ using ChimeSDKMeetingsEndpointProviderBase = using ChimeSDKMeetingsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ChimeSDKMeetings + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CHIMESDKMEETINGS_EXTERN template class AWS_CHIMESDKMEETINGS_API Aws::Endpoint::EndpointProviderBase< + ChimeSDKMeetings::Endpoint::ChimeSDKMeetingsClientConfiguration, ChimeSDKMeetings::Endpoint::ChimeSDKMeetingsBuiltInParameters, + ChimeSDKMeetings::Endpoint::ChimeSDKMeetingsClientContextParameters>; + +AWS_CHIMESDKMEETINGS_EXTERN template class AWS_CHIMESDKMEETINGS_API Aws::Endpoint::BDDEndpointProvider< + ChimeSDKMeetings::Endpoint::ChimeSDKMeetingsClientConfiguration, ChimeSDKMeetings::Endpoint::ChimeSDKMeetingsBuiltInParameters, + ChimeSDKMeetings::Endpoint::ChimeSDKMeetingsClientContextParameters>; +} // namespace Endpoint + +namespace ChimeSDKMeetings { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsServiceClientModel.h b/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsServiceClientModel.h index 04cccb46d5d7..b89686b055d9 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsServiceClientModel.h @@ -58,7 +58,6 @@ class RetryStrategy; } // namespace Client namespace ChimeSDKMeetings { -using ChimeSDKMeetingsClientConfiguration = Aws::Client::GenericClientConfiguration; using ChimeSDKMeetingsEndpointProviderBase = Aws::ChimeSDKMeetings::Endpoint::ChimeSDKMeetingsEndpointProviderBase; using ChimeSDKMeetingsEndpointProvider = Aws::ChimeSDKMeetings::Endpoint::ChimeSDKMeetingsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsClient.cpp b/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsClient.cpp index dbb9ac0baf2f..4147cb998140 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsClient.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsClient.cpp @@ -97,42 +97,6 @@ ChimeSDKMeetingsClient::ChimeSDKMeetingsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKMeetingsClient::ChimeSDKMeetingsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKMeetingsClient::ChimeSDKMeetingsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ChimeSDKMeetingsClient::~ChimeSDKMeetingsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ChimeSDKMeetingsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -150,12 +114,7 @@ void ChimeSDKMeetingsClient::init(const ChimeSDKMeetings::ChimeSDKMeetingsClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "chime"); -} - -void ChimeSDKMeetingsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ChimeSDKMeetingsClient::InvokeOperationOutcome ChimeSDKMeetingsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsClientConfiguration.cpp new file mode 100644 index 000000000000..43a117366c95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ChimeSDKMeetings { + +void ChimeSDKMeetingsClientConfiguration::LoadChimeSDKMeetingsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ChimeSDKMeetingsClientConfiguration::ChimeSDKMeetingsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadChimeSDKMeetingsSpecificConfig(this->profileName); +} + +ChimeSDKMeetingsClientConfiguration::ChimeSDKMeetingsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadChimeSDKMeetingsSpecificConfig(Aws::String(inputProfileName)); +} + +ChimeSDKMeetingsClientConfiguration::ChimeSDKMeetingsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadChimeSDKMeetingsSpecificConfig(this->profileName); +} + +ChimeSDKMeetingsClientConfiguration::ChimeSDKMeetingsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadChimeSDKMeetingsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKMeetingsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ChimeSDKMeetings +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsEndpointProvider.cpp index 7dca197781f4..bfb119c6c5db 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CHIMESDKMEETINGS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ChimeSDKMeetings { namespace Endpoint { ChimeSDKMeetingsEndpointProvider::ChimeSDKMeetingsEndpointProvider() : ChimeSDKMeetingsDefaultEpProviderBase(Aws::ChimeSDKMeetings::ChimeSDKMeetingsEndpointRules::GetRulesBlob(), Aws::ChimeSDKMeetings::ChimeSDKMeetingsEndpointRules::RulesBlobSize) {} +void ChimeSDKMeetingsBuiltInParameters::SetFromClientConfiguration(const ChimeSDKMeetingsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ChimeSDKMeetingsBuiltInParameters::SetFromClientConfiguration(const ChimeSDKMeetingsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ChimeSDKMeetingsBuiltInParameters::SetServiceSpecificParameters(const ChimeSDKMeetingsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ChimeSDKMeetings } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingClient.h b/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingClient.h index b654765be3cc..d49d7c7ad45a 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingClient.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingClient.h @@ -61,27 +61,6 @@ class AWS_CHIMESDKMESSAGING_API ChimeSDKMessagingClient : public Aws::Client::AW const Aws::ChimeSDKMessaging::ChimeSDKMessagingClientConfiguration& clientConfiguration = Aws::ChimeSDKMessaging::ChimeSDKMessagingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ChimeSDKMessagingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ChimeSDKMessagingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ChimeSDKMessagingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ChimeSDKMessagingClient(); /** @@ -1688,7 +1667,6 @@ class AWS_CHIMESDKMESSAGING_API ChimeSDKMessagingClient : public Aws::Client::AW return SubmitAsync(&ChimeSDKMessagingClient::UpdateChannelReadMarker, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingClientConfiguration.h b/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingClientConfiguration.h new file mode 100644 index 000000000000..7f2dd23dffb3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ChimeSDKMessaging { +struct AWS_CHIMESDKMESSAGING_API ChimeSDKMessagingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ChimeSDKMessagingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKMessagingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKMessagingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ChimeSDKMessagingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadChimeSDKMessagingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CHIMESDKMESSAGING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKMessagingClientConfiguration& config); +} // namespace ChimeSDKMessaging +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingEndpointProvider.h b/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingEndpointProvider.h index 7d3fae7cc94e..89272f0b5056 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ChimeSDKMessaging { namespace Endpoint { +using ChimeSDKMessagingClientConfiguration = Aws::ChimeSDKMessaging::ChimeSDKMessagingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ChimeSDKMessagingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ChimeSDKMessagingClientConfiguration = Aws::Client::GenericClientConfiguration; -using ChimeSDKMessagingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CHIMESDKMESSAGING_API ChimeSDKMessagingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ChimeSDKMessagingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ChimeSDKMessagingClientConfiguration& config); + virtual void SetFromClientConfiguration(const ChimeSDKMessagingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ChimeSDKMessagingClientConfiguration& config); +}; /** * The type for the ChimeSDKMessaging Client Endpoint Provider. @@ -34,6 +43,24 @@ using ChimeSDKMessagingEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace ChimeSDKMessaging + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CHIMESDKMESSAGING_EXTERN template class AWS_CHIMESDKMESSAGING_API Aws::Endpoint::EndpointProviderBase< + ChimeSDKMessaging::Endpoint::ChimeSDKMessagingClientConfiguration, ChimeSDKMessaging::Endpoint::ChimeSDKMessagingBuiltInParameters, + ChimeSDKMessaging::Endpoint::ChimeSDKMessagingClientContextParameters>; + +AWS_CHIMESDKMESSAGING_EXTERN template class AWS_CHIMESDKMESSAGING_API Aws::Endpoint::BDDEndpointProvider< + ChimeSDKMessaging::Endpoint::ChimeSDKMessagingClientConfiguration, ChimeSDKMessaging::Endpoint::ChimeSDKMessagingBuiltInParameters, + ChimeSDKMessaging::Endpoint::ChimeSDKMessagingClientContextParameters>; +} // namespace Endpoint + +namespace ChimeSDKMessaging { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingServiceClientModel.h b/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingServiceClientModel.h index de2b35716dd4..3fea85017425 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingServiceClientModel.h @@ -88,7 +88,6 @@ class RetryStrategy; } // namespace Client namespace ChimeSDKMessaging { -using ChimeSDKMessagingClientConfiguration = Aws::Client::GenericClientConfiguration; using ChimeSDKMessagingEndpointProviderBase = Aws::ChimeSDKMessaging::Endpoint::ChimeSDKMessagingEndpointProviderBase; using ChimeSDKMessagingEndpointProvider = Aws::ChimeSDKMessaging::Endpoint::ChimeSDKMessagingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingClient.cpp b/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingClient.cpp index ca91589429ae..efa07e3b3b6a 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingClient.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingClient.cpp @@ -132,42 +132,6 @@ ChimeSDKMessagingClient::ChimeSDKMessagingClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKMessagingClient::ChimeSDKMessagingClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKMessagingClient::ChimeSDKMessagingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ChimeSDKMessagingClient::~ChimeSDKMessagingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ChimeSDKMessagingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -185,12 +149,7 @@ void ChimeSDKMessagingClient::init(const ChimeSDKMessaging::ChimeSDKMessagingCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "chime"); -} - -void ChimeSDKMessagingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ChimeSDKMessagingClient::InvokeOperationOutcome ChimeSDKMessagingClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingClientConfiguration.cpp new file mode 100644 index 000000000000..83cf01d82bf5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ChimeSDKMessaging { + +void ChimeSDKMessagingClientConfiguration::LoadChimeSDKMessagingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ChimeSDKMessagingClientConfiguration::ChimeSDKMessagingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadChimeSDKMessagingSpecificConfig(this->profileName); +} + +ChimeSDKMessagingClientConfiguration::ChimeSDKMessagingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadChimeSDKMessagingSpecificConfig(Aws::String(inputProfileName)); +} + +ChimeSDKMessagingClientConfiguration::ChimeSDKMessagingClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadChimeSDKMessagingSpecificConfig(this->profileName); +} + +ChimeSDKMessagingClientConfiguration::ChimeSDKMessagingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadChimeSDKMessagingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKMessagingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ChimeSDKMessaging +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingEndpointProvider.cpp index 9d27a927fb90..adb7faa2f950 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CHIMESDKMESSAGING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ChimeSDKMessaging { namespace Endpoint { ChimeSDKMessagingEndpointProvider::ChimeSDKMessagingEndpointProvider() : ChimeSDKMessagingDefaultEpProviderBase(Aws::ChimeSDKMessaging::ChimeSDKMessagingEndpointRules::GetRulesBlob(), Aws::ChimeSDKMessaging::ChimeSDKMessagingEndpointRules::RulesBlobSize) {} +void ChimeSDKMessagingBuiltInParameters::SetFromClientConfiguration(const ChimeSDKMessagingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ChimeSDKMessagingBuiltInParameters::SetFromClientConfiguration(const ChimeSDKMessagingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ChimeSDKMessagingBuiltInParameters::SetServiceSpecificParameters(const ChimeSDKMessagingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ChimeSDKMessaging } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClient.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClient.h index dc98ff208e55..13c0822dc6d3 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClient.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClient.h @@ -60,27 +60,6 @@ class AWS_CHIMESDKVOICE_API ChimeSDKVoiceClient : public Aws::Client::AWSJsonCli const Aws::ChimeSDKVoice::ChimeSDKVoiceClientConfiguration& clientConfiguration = Aws::ChimeSDKVoice::ChimeSDKVoiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ChimeSDKVoiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ChimeSDKVoiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ChimeSDKVoiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ChimeSDKVoiceClient(); /** @@ -2628,7 +2607,6 @@ class AWS_CHIMESDKVOICE_API ChimeSDKVoiceClient : public Aws::Client::AWSJsonCli return SubmitAsync(&ChimeSDKVoiceClient::ValidateE911Address, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClientConfiguration.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClientConfiguration.h new file mode 100644 index 000000000000..152e2350226a --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ChimeSDKVoice { +struct AWS_CHIMESDKVOICE_API ChimeSDKVoiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ChimeSDKVoiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKVoiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeSDKVoiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ChimeSDKVoiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadChimeSDKVoiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CHIMESDKVOICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKVoiceClientConfiguration& config); +} // namespace ChimeSDKVoice +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceEndpointProvider.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceEndpointProvider.h index 119f6d6b74c0..8cdd8c9540d5 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ChimeSDKVoice { namespace Endpoint { +using ChimeSDKVoiceClientConfiguration = Aws::ChimeSDKVoice::ChimeSDKVoiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ChimeSDKVoiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ChimeSDKVoiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using ChimeSDKVoiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CHIMESDKVOICE_API ChimeSDKVoiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ChimeSDKVoiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ChimeSDKVoiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const ChimeSDKVoiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ChimeSDKVoiceClientConfiguration& config); +}; /** * The type for the ChimeSDKVoice Client Endpoint Provider. @@ -34,6 +43,24 @@ using ChimeSDKVoiceEndpointProviderBase = using ChimeSDKVoiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ChimeSDKVoice + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CHIMESDKVOICE_EXTERN template class AWS_CHIMESDKVOICE_API Aws::Endpoint::EndpointProviderBase< + ChimeSDKVoice::Endpoint::ChimeSDKVoiceClientConfiguration, ChimeSDKVoice::Endpoint::ChimeSDKVoiceBuiltInParameters, + ChimeSDKVoice::Endpoint::ChimeSDKVoiceClientContextParameters>; + +AWS_CHIMESDKVOICE_EXTERN template class AWS_CHIMESDKVOICE_API Aws::Endpoint::BDDEndpointProvider< + ChimeSDKVoice::Endpoint::ChimeSDKVoiceClientConfiguration, ChimeSDKVoice::Endpoint::ChimeSDKVoiceBuiltInParameters, + ChimeSDKVoice::Endpoint::ChimeSDKVoiceClientContextParameters>; +} // namespace Endpoint + +namespace ChimeSDKVoice { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceServiceClientModel.h b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceServiceClientModel.h index e9fc7fe086cf..5f2b26d630ac 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceServiceClientModel.h @@ -124,7 +124,6 @@ class RetryStrategy; } // namespace Client namespace ChimeSDKVoice { -using ChimeSDKVoiceClientConfiguration = Aws::Client::GenericClientConfiguration; using ChimeSDKVoiceEndpointProviderBase = Aws::ChimeSDKVoice::Endpoint::ChimeSDKVoiceEndpointProviderBase; using ChimeSDKVoiceEndpointProvider = Aws::ChimeSDKVoice::Endpoint::ChimeSDKVoiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClient.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClient.cpp index 4eef399e57c4..3d4fdde762bf 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClient.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClient.cpp @@ -164,41 +164,6 @@ ChimeSDKVoiceClient::ChimeSDKVoiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKVoiceClient::ChimeSDKVoiceClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeSDKVoiceClient::ChimeSDKVoiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ChimeSDKVoiceClient::~ChimeSDKVoiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ChimeSDKVoiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -216,12 +181,7 @@ void ChimeSDKVoiceClient::init(const ChimeSDKVoice::ChimeSDKVoiceClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "chime"); -} - -void ChimeSDKVoiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ChimeSDKVoiceClient::InvokeOperationOutcome ChimeSDKVoiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClientConfiguration.cpp new file mode 100644 index 000000000000..221274017080 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ChimeSDKVoice { + +void ChimeSDKVoiceClientConfiguration::LoadChimeSDKVoiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ChimeSDKVoiceClientConfiguration::ChimeSDKVoiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadChimeSDKVoiceSpecificConfig(this->profileName); +} + +ChimeSDKVoiceClientConfiguration::ChimeSDKVoiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadChimeSDKVoiceSpecificConfig(Aws::String(inputProfileName)); +} + +ChimeSDKVoiceClientConfiguration::ChimeSDKVoiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadChimeSDKVoiceSpecificConfig(this->profileName); +} + +ChimeSDKVoiceClientConfiguration::ChimeSDKVoiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadChimeSDKVoiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeSDKVoiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ChimeSDKVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceEndpointProvider.cpp index 92f560f27672..4458346eb225 100644 --- a/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CHIMESDKVOICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ChimeSDKVoice { namespace Endpoint { ChimeSDKVoiceEndpointProvider::ChimeSDKVoiceEndpointProvider() : ChimeSDKVoiceDefaultEpProviderBase(Aws::ChimeSDKVoice::ChimeSDKVoiceEndpointRules::GetRulesBlob(), Aws::ChimeSDKVoice::ChimeSDKVoiceEndpointRules::RulesBlobSize) {} +void ChimeSDKVoiceBuiltInParameters::SetFromClientConfiguration(const ChimeSDKVoiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ChimeSDKVoiceBuiltInParameters::SetFromClientConfiguration(const ChimeSDKVoiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ChimeSDKVoiceBuiltInParameters::SetServiceSpecificParameters(const ChimeSDKVoiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ChimeSDKVoice } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeClient.h b/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeClient.h index c3bc38dce584..622dfb5eda71 100644 --- a/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeClient.h +++ b/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeClient.h @@ -93,27 +93,6 @@ class AWS_CHIME_API ChimeClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Chime::ChimeClientConfiguration& clientConfiguration = Aws::Chime::ChimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ChimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ChimeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ChimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ChimeClient(); /** @@ -1915,7 +1894,6 @@ class AWS_CHIME_API ChimeClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ChimeClient::UpdateUserSettings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeClientConfiguration.h b/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeClientConfiguration.h new file mode 100644 index 000000000000..10b285cd6a39 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Chime { +struct AWS_CHIME_API ChimeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ChimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ChimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ChimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadChimeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CHIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeClientConfiguration& config); +} // namespace Chime +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeEndpointProvider.h b/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeEndpointProvider.h index 0d33a7ce07db..43dc2797f905 100644 --- a/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Chime { namespace Endpoint { +using ChimeClientConfiguration = Aws::Chime::ChimeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ChimeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ChimeClientConfiguration = Aws::Client::GenericClientConfiguration; -using ChimeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CHIME_API ChimeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ChimeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ChimeClientConfiguration& config); + virtual void SetFromClientConfiguration(const ChimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ChimeClientConfiguration& config); +}; /** * The type for the Chime Client Endpoint Provider. @@ -32,6 +41,22 @@ using ChimeEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Chime + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CHIME_EXTERN template class AWS_CHIME_API Aws::Endpoint::EndpointProviderBase< + Chime::Endpoint::ChimeClientConfiguration, Chime::Endpoint::ChimeBuiltInParameters, Chime::Endpoint::ChimeClientContextParameters>; + +AWS_CHIME_EXTERN template class AWS_CHIME_API Aws::Endpoint::BDDEndpointProvider< + Chime::Endpoint::ChimeClientConfiguration, Chime::Endpoint::ChimeBuiltInParameters, Chime::Endpoint::ChimeClientContextParameters>; +} // namespace Endpoint + +namespace Chime { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeServiceClientModel.h b/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeServiceClientModel.h index 438df6365179..6d13ebc83b2f 100644 --- a/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeServiceClientModel.h @@ -109,7 +109,6 @@ class RetryStrategy; } // namespace Client namespace Chime { -using ChimeClientConfiguration = Aws::Client::GenericClientConfiguration; using ChimeEndpointProviderBase = Aws::Chime::Endpoint::ChimeEndpointProviderBase; using ChimeEndpointProvider = Aws::Chime::Endpoint::ChimeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-chime/source/ChimeClient.cpp b/generated/src/aws-cpp-sdk-chime/source/ChimeClient.cpp index 420328636eb3..927e339fddf5 100644 --- a/generated/src/aws-cpp-sdk-chime/source/ChimeClient.cpp +++ b/generated/src/aws-cpp-sdk-chime/source/ChimeClient.cpp @@ -139,41 +139,6 @@ ChimeClient::ChimeClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ChimeClient::ChimeClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeClient::ChimeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ChimeClient::ChimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ChimeClient::~ChimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ChimeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -191,12 +156,7 @@ void ChimeClient::init(const Chime::ChimeClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "chime"); -} - -void ChimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ChimeClient::InvokeOperationOutcome ChimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-chime/source/ChimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-chime/source/ChimeClientConfiguration.cpp new file mode 100644 index 000000000000..bbbb047e0cd1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-chime/source/ChimeClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Chime { + +void ChimeClientConfiguration::LoadChimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ChimeClientConfiguration::ChimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadChimeSpecificConfig(this->profileName); +} + +ChimeClientConfiguration::ChimeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadChimeSpecificConfig(Aws::String(inputProfileName)); +} + +ChimeClientConfiguration::ChimeClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadChimeSpecificConfig(this->profileName); +} + +ChimeClientConfiguration::ChimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadChimeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ChimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Chime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-chime/source/ChimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-chime/source/ChimeEndpointProvider.cpp index 9733f7088e61..21c91d675678 100644 --- a/generated/src/aws-cpp-sdk-chime/source/ChimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-chime/source/ChimeEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_CHIME_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Chime { namespace Endpoint { ChimeEndpointProvider::ChimeEndpointProvider() : ChimeDefaultEpProviderBase(Aws::Chime::ChimeEndpointRules::GetRulesBlob(), Aws::Chime::ChimeEndpointRules::RulesBlobSize) {} +void ChimeBuiltInParameters::SetFromClientConfiguration(const ChimeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ChimeBuiltInParameters::SetFromClientConfiguration(const ChimeClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ChimeBuiltInParameters::SetServiceSpecificParameters(const ChimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Chime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsClient.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsClient.h index b618abfe0ec1..7f845d20ec60 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsClient.h +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsClient.h @@ -66,27 +66,6 @@ class AWS_CLEANROOMS_API CleanRoomsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::CleanRooms::CleanRoomsClientConfiguration& clientConfiguration = Aws::CleanRooms::CleanRoomsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CleanRoomsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CleanRoomsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CleanRoomsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CleanRoomsClient(); /** @@ -3048,7 +3027,6 @@ class AWS_CLEANROOMS_API CleanRoomsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&CleanRoomsClient::UpdateProtectedQuery, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsClientConfiguration.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsClientConfiguration.h new file mode 100644 index 000000000000..dc9850f2354a --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CleanRooms { +struct AWS_CLEANROOMS_API CleanRoomsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CleanRoomsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CleanRoomsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CleanRoomsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CleanRoomsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCleanRoomsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLEANROOMS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CleanRoomsClientConfiguration& config); +} // namespace CleanRooms +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsEndpointProvider.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsEndpointProvider.h index 9653313d475d..b756c50bb82e 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CleanRooms { namespace Endpoint { +using CleanRoomsClientConfiguration = Aws::CleanRooms::CleanRoomsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CleanRoomsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CleanRoomsClientConfiguration = Aws::Client::GenericClientConfiguration; -using CleanRoomsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLEANROOMS_API CleanRoomsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CleanRoomsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CleanRoomsClientConfiguration& config); + virtual void SetFromClientConfiguration(const CleanRoomsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CleanRoomsClientConfiguration& config); +}; /** * The type for the CleanRooms Client Endpoint Provider. @@ -34,6 +43,24 @@ using CleanRoomsEndpointProviderBase = using CleanRoomsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CleanRooms + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLEANROOMS_EXTERN template class AWS_CLEANROOMS_API Aws::Endpoint::EndpointProviderBase< + CleanRooms::Endpoint::CleanRoomsClientConfiguration, CleanRooms::Endpoint::CleanRoomsBuiltInParameters, + CleanRooms::Endpoint::CleanRoomsClientContextParameters>; + +AWS_CLEANROOMS_EXTERN template class AWS_CLEANROOMS_API Aws::Endpoint::BDDEndpointProvider< + CleanRooms::Endpoint::CleanRoomsClientConfiguration, CleanRooms::Endpoint::CleanRoomsBuiltInParameters, + CleanRooms::Endpoint::CleanRoomsClientContextParameters>; +} // namespace Endpoint + +namespace CleanRooms { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsServiceClientModel.h b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsServiceClientModel.h index 081f03f4b233..2c609d45f533 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsServiceClientModel.h @@ -152,7 +152,6 @@ class RetryStrategy; } // namespace Client namespace CleanRooms { -using CleanRoomsClientConfiguration = Aws::Client::GenericClientConfiguration; using CleanRoomsEndpointProviderBase = Aws::CleanRooms::Endpoint::CleanRoomsEndpointProviderBase; using CleanRoomsEndpointProvider = Aws::CleanRooms::Endpoint::CleanRoomsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsClient.cpp b/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsClient.cpp index 018e70b73ef3..31b76a58af58 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsClient.cpp +++ b/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsClient.cpp @@ -180,41 +180,6 @@ CleanRoomsClient::CleanRoomsClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CleanRoomsClient::CleanRoomsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CleanRoomsClient::CleanRoomsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CleanRoomsClient::CleanRoomsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CleanRoomsClient::~CleanRoomsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CleanRoomsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -232,12 +197,7 @@ void CleanRoomsClient::init(const CleanRooms::CleanRoomsClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cleanrooms"); -} - -void CleanRoomsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CleanRoomsClient::InvokeOperationOutcome CleanRoomsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsClientConfiguration.cpp new file mode 100644 index 000000000000..e14f8e8f7acc --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CleanRooms { + +void CleanRoomsClientConfiguration::LoadCleanRoomsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CleanRoomsClientConfiguration::CleanRoomsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCleanRoomsSpecificConfig(this->profileName); +} + +CleanRoomsClientConfiguration::CleanRoomsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCleanRoomsSpecificConfig(Aws::String(inputProfileName)); +} + +CleanRoomsClientConfiguration::CleanRoomsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCleanRoomsSpecificConfig(this->profileName); +} + +CleanRoomsClientConfiguration::CleanRoomsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCleanRoomsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CleanRoomsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CleanRooms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsEndpointProvider.cpp index 98726cdacb31..1022370dabfb 100644 --- a/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CLEANROOMS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CleanRooms { namespace Endpoint { CleanRoomsEndpointProvider::CleanRoomsEndpointProvider() : CleanRoomsDefaultEpProviderBase(Aws::CleanRooms::CleanRoomsEndpointRules::GetRulesBlob(), Aws::CleanRooms::CleanRoomsEndpointRules::RulesBlobSize) {} +void CleanRoomsBuiltInParameters::SetFromClientConfiguration(const CleanRoomsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CleanRoomsBuiltInParameters::SetFromClientConfiguration(const CleanRoomsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CleanRoomsBuiltInParameters::SetServiceSpecificParameters(const CleanRoomsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CleanRooms } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLClient.h b/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLClient.h index a073f5997f50..768b933e829d 100644 --- a/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLClient.h +++ b/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLClient.h @@ -68,27 +68,6 @@ class AWS_CLEANROOMSML_API CleanRoomsMLClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::CleanRoomsML::CleanRoomsMLClientConfiguration& clientConfiguration = Aws::CleanRoomsML::CleanRoomsMLClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CleanRoomsMLClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CleanRoomsMLClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CleanRoomsMLClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CleanRoomsMLClient(); /** @@ -1796,7 +1775,6 @@ class AWS_CLEANROOMSML_API CleanRoomsMLClient : public Aws::Client::AWSJsonClien return SubmitAsync(&CleanRoomsMLClient::UpdateConfiguredAudienceModel, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLClientConfiguration.h b/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLClientConfiguration.h new file mode 100644 index 000000000000..ab2d30d42735 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CleanRoomsML { +struct AWS_CLEANROOMSML_API CleanRoomsMLClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CleanRoomsMLClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CleanRoomsMLClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CleanRoomsMLClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CleanRoomsMLClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCleanRoomsMLSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLEANROOMSML_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CleanRoomsMLClientConfiguration& config); +} // namespace CleanRoomsML +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLEndpointProvider.h b/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLEndpointProvider.h index b87eb52e9a8f..94554d5d9ff2 100644 --- a/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CleanRoomsML { namespace Endpoint { +using CleanRoomsMLClientConfiguration = Aws::CleanRoomsML::CleanRoomsMLClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CleanRoomsMLClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CleanRoomsMLClientConfiguration = Aws::Client::GenericClientConfiguration; -using CleanRoomsMLBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLEANROOMSML_API CleanRoomsMLBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CleanRoomsMLBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CleanRoomsMLClientConfiguration& config); + virtual void SetFromClientConfiguration(const CleanRoomsMLClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CleanRoomsMLClientConfiguration& config); +}; /** * The type for the CleanRoomsML Client Endpoint Provider. @@ -34,6 +43,24 @@ using CleanRoomsMLEndpointProviderBase = using CleanRoomsMLDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CleanRoomsML + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLEANROOMSML_EXTERN template class AWS_CLEANROOMSML_API Aws::Endpoint::EndpointProviderBase< + CleanRoomsML::Endpoint::CleanRoomsMLClientConfiguration, CleanRoomsML::Endpoint::CleanRoomsMLBuiltInParameters, + CleanRoomsML::Endpoint::CleanRoomsMLClientContextParameters>; + +AWS_CLEANROOMSML_EXTERN template class AWS_CLEANROOMSML_API Aws::Endpoint::BDDEndpointProvider< + CleanRoomsML::Endpoint::CleanRoomsMLClientConfiguration, CleanRoomsML::Endpoint::CleanRoomsMLBuiltInParameters, + CleanRoomsML::Endpoint::CleanRoomsMLClientContextParameters>; +} // namespace Endpoint + +namespace CleanRoomsML { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLServiceClientModel.h b/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLServiceClientModel.h index c3bc3dfbeda6..7fd8b1ec2ef2 100644 --- a/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLServiceClientModel.h @@ -97,7 +97,6 @@ class RetryStrategy; } // namespace Client namespace CleanRoomsML { -using CleanRoomsMLClientConfiguration = Aws::Client::GenericClientConfiguration; using CleanRoomsMLEndpointProviderBase = Aws::CleanRoomsML::Endpoint::CleanRoomsMLEndpointProviderBase; using CleanRoomsMLEndpointProvider = Aws::CleanRoomsML::Endpoint::CleanRoomsMLEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLClient.cpp b/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLClient.cpp index 586ebf0d854d..ab4fe846407d 100644 --- a/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLClient.cpp +++ b/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLClient.cpp @@ -137,41 +137,6 @@ CleanRoomsMLClient::CleanRoomsMLClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CleanRoomsMLClient::CleanRoomsMLClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CleanRoomsMLClient::CleanRoomsMLClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CleanRoomsMLClient::~CleanRoomsMLClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CleanRoomsMLClient::accessEndpointProvider() { return m_endpointProvider; } @@ -189,12 +154,7 @@ void CleanRoomsMLClient::init(const CleanRoomsML::CleanRoomsMLClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cleanrooms-ml"); -} - -void CleanRoomsMLClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CleanRoomsMLClient::InvokeOperationOutcome CleanRoomsMLClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLClientConfiguration.cpp new file mode 100644 index 000000000000..12c98e413104 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CleanRoomsML { + +void CleanRoomsMLClientConfiguration::LoadCleanRoomsMLSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CleanRoomsMLClientConfiguration::CleanRoomsMLClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCleanRoomsMLSpecificConfig(this->profileName); +} + +CleanRoomsMLClientConfiguration::CleanRoomsMLClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCleanRoomsMLSpecificConfig(Aws::String(inputProfileName)); +} + +CleanRoomsMLClientConfiguration::CleanRoomsMLClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCleanRoomsMLSpecificConfig(this->profileName); +} + +CleanRoomsMLClientConfiguration::CleanRoomsMLClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCleanRoomsMLSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CleanRoomsMLClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CleanRoomsML +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLEndpointProvider.cpp index 2345c23b7823..d2eebb8c84e4 100644 --- a/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLEANROOMSML_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CleanRoomsML { namespace Endpoint { CleanRoomsMLEndpointProvider::CleanRoomsMLEndpointProvider() : CleanRoomsMLDefaultEpProviderBase(Aws::CleanRoomsML::CleanRoomsMLEndpointRules::GetRulesBlob(), Aws::CleanRoomsML::CleanRoomsMLEndpointRules::RulesBlobSize) {} +void CleanRoomsMLBuiltInParameters::SetFromClientConfiguration(const CleanRoomsMLClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CleanRoomsMLBuiltInParameters::SetFromClientConfiguration(const CleanRoomsMLClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CleanRoomsMLBuiltInParameters::SetServiceSpecificParameters(const CleanRoomsMLClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CleanRoomsML } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9Client.h b/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9Client.h index 35519cddf485..5cdf2e528b99 100644 --- a/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9Client.h +++ b/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9Client.h @@ -80,27 +80,6 @@ class AWS_CLOUD9_API Cloud9Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Cloud9::Cloud9ClientConfiguration& clientConfiguration = Aws::Cloud9::Cloud9ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Cloud9Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Cloud9Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Cloud9Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Cloud9Client(); /** @@ -515,7 +494,6 @@ class AWS_CLOUD9_API Cloud9Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&Cloud9Client::UpdateEnvironmentMembership, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9ClientConfiguration.h b/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9ClientConfiguration.h new file mode 100644 index 000000000000..ee03e7318378 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Cloud9 { +struct AWS_CLOUD9_API Cloud9ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Cloud9ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Cloud9ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Cloud9ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Cloud9ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloud9SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUD9_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Cloud9ClientConfiguration& config); +} // namespace Cloud9 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9EndpointProvider.h b/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9EndpointProvider.h index 8071a9516628..0133a6719db8 100644 --- a/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9EndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Cloud9 { namespace Endpoint { +using Cloud9ClientConfiguration = Aws::Cloud9::Cloud9ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Cloud9ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Cloud9ClientConfiguration = Aws::Client::GenericClientConfiguration; -using Cloud9BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUD9_API Cloud9BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Cloud9BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Cloud9ClientConfiguration& config); + virtual void SetFromClientConfiguration(const Cloud9ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Cloud9ClientConfiguration& config); +}; /** * The type for the Cloud9 Client Endpoint Provider. @@ -32,6 +41,24 @@ using Cloud9EndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Cloud9 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUD9_EXTERN template class AWS_CLOUD9_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CLOUD9_EXTERN template class AWS_CLOUD9_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Cloud9 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9ServiceClientModel.h b/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9ServiceClientModel.h index 46f9fd913cbb..d1f17dff7b00 100644 --- a/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9ServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace Cloud9 { -using Cloud9ClientConfiguration = Aws::Client::GenericClientConfiguration; using Cloud9EndpointProviderBase = Aws::Cloud9::Endpoint::Cloud9EndpointProviderBase; using Cloud9EndpointProvider = Aws::Cloud9::Endpoint::Cloud9EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloud9/source/Cloud9Client.cpp b/generated/src/aws-cpp-sdk-cloud9/source/Cloud9Client.cpp index c8e27723a4a7..cab759687996 100644 --- a/generated/src/aws-cpp-sdk-cloud9/source/Cloud9Client.cpp +++ b/generated/src/aws-cpp-sdk-cloud9/source/Cloud9Client.cpp @@ -90,41 +90,6 @@ Cloud9Client::Cloud9Client(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -Cloud9Client::Cloud9Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Cloud9Client::Cloud9Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Cloud9Client::Cloud9Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Cloud9Client::~Cloud9Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& Cloud9Client::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +107,7 @@ void Cloud9Client::init(const Cloud9::Cloud9ClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloud9"); -} - -void Cloud9Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Cloud9Client::InvokeOperationOutcome Cloud9Client::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-cloud9/source/Cloud9ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloud9/source/Cloud9ClientConfiguration.cpp new file mode 100644 index 000000000000..99e230722fae --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloud9/source/Cloud9ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Cloud9 { + +void Cloud9ClientConfiguration::LoadCloud9SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Cloud9ClientConfiguration::Cloud9ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloud9SpecificConfig(this->profileName); +} + +Cloud9ClientConfiguration::Cloud9ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloud9SpecificConfig(Aws::String(inputProfileName)); +} + +Cloud9ClientConfiguration::Cloud9ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloud9SpecificConfig(this->profileName); +} + +Cloud9ClientConfiguration::Cloud9ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloud9SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Cloud9ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Cloud9 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloud9/source/Cloud9EndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloud9/source/Cloud9EndpointProvider.cpp index 4d41973079e2..c60496a6f2f6 100644 --- a/generated/src/aws-cpp-sdk-cloud9/source/Cloud9EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloud9/source/Cloud9EndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_CLOUD9_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Cloud9 { namespace Endpoint { Cloud9EndpointProvider::Cloud9EndpointProvider() : Cloud9DefaultEpProviderBase(Aws::Cloud9::Cloud9EndpointRules::GetRulesBlob(), Aws::Cloud9::Cloud9EndpointRules::RulesBlobSize) {} +void Cloud9BuiltInParameters::SetFromClientConfiguration(const Cloud9ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Cloud9BuiltInParameters::SetFromClientConfiguration(const Cloud9ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Cloud9BuiltInParameters::SetServiceSpecificParameters(const Cloud9ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Cloud9 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiClient.h b/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiClient.h index 90e98133f25d..0c54d8404574 100644 --- a/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiClient.h +++ b/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiClient.h @@ -58,27 +58,6 @@ class AWS_CLOUDCONTROLAPI_API CloudControlApiClient : public Aws::Client::AWSJso const Aws::CloudControlApi::CloudControlApiClientConfiguration& clientConfiguration = Aws::CloudControlApi::CloudControlApiClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudControlApiClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudControlApiClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudControlApiClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudControlApiClient(); /** @@ -344,7 +323,6 @@ class AWS_CLOUDCONTROLAPI_API CloudControlApiClient : public Aws::Client::AWSJso return SubmitAsync(&CloudControlApiClient::UpdateResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiClientConfiguration.h new file mode 100644 index 000000000000..f2dbff4a918a --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudControlApi { +struct AWS_CLOUDCONTROLAPI_API CloudControlApiClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudControlApiClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudControlApiClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudControlApiClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudControlApiClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudControlApiSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDCONTROLAPI_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudControlApiClientConfiguration& config); +} // namespace CloudControlApi +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiEndpointProvider.h index f33277867e7d..d349fddde556 100644 --- a/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudControlApi { namespace Endpoint { +using CloudControlApiClientConfiguration = Aws::CloudControlApi::CloudControlApiClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudControlApiClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudControlApiClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudControlApiBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDCONTROLAPI_API CloudControlApiBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudControlApiBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudControlApiClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudControlApiClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudControlApiClientConfiguration& config); +}; /** * The type for the CloudControlApi Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudControlApiEndpointProviderBase = using CloudControlApiDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudControlApi + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDCONTROLAPI_EXTERN template class AWS_CLOUDCONTROLAPI_API Aws::Endpoint::EndpointProviderBase< + CloudControlApi::Endpoint::CloudControlApiClientConfiguration, CloudControlApi::Endpoint::CloudControlApiBuiltInParameters, + CloudControlApi::Endpoint::CloudControlApiClientContextParameters>; + +AWS_CLOUDCONTROLAPI_EXTERN template class AWS_CLOUDCONTROLAPI_API Aws::Endpoint::BDDEndpointProvider< + CloudControlApi::Endpoint::CloudControlApiClientConfiguration, CloudControlApi::Endpoint::CloudControlApiBuiltInParameters, + CloudControlApi::Endpoint::CloudControlApiClientContextParameters>; +} // namespace Endpoint + +namespace CloudControlApi { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiServiceClientModel.h index c57f7ae6c301..984eed0cfad8 100644 --- a/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiServiceClientModel.h @@ -55,7 +55,6 @@ class RetryStrategy; } // namespace Client namespace CloudControlApi { -using CloudControlApiClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudControlApiEndpointProviderBase = Aws::CloudControlApi::Endpoint::CloudControlApiEndpointProviderBase; using CloudControlApiEndpointProvider = Aws::CloudControlApi::Endpoint::CloudControlApiEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiClient.cpp b/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiClient.cpp index 6a739c51f2cb..92f224bf83de 100644 --- a/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiClient.cpp @@ -89,41 +89,6 @@ CloudControlApiClient::CloudControlApiClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudControlApiClient::CloudControlApiClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudControlApiClient::CloudControlApiClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudControlApiClient::~CloudControlApiClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudControlApiClient::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +106,7 @@ void CloudControlApiClient::init(const CloudControlApi::CloudControlApiClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudcontrolapi"); -} - -void CloudControlApiClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudControlApiClient::InvokeOperationOutcome CloudControlApiClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiClientConfiguration.cpp new file mode 100644 index 000000000000..1dc89f856cd2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudControlApi { + +void CloudControlApiClientConfiguration::LoadCloudControlApiSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudControlApiClientConfiguration::CloudControlApiClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudControlApiSpecificConfig(this->profileName); +} + +CloudControlApiClientConfiguration::CloudControlApiClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudControlApiSpecificConfig(Aws::String(inputProfileName)); +} + +CloudControlApiClientConfiguration::CloudControlApiClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudControlApiSpecificConfig(this->profileName); +} + +CloudControlApiClientConfiguration::CloudControlApiClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudControlApiSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudControlApiClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudControlApi +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiEndpointProvider.cpp index b00a55bed523..45685cd9ad57 100644 --- a/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDCONTROLAPI_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudControlApi { namespace Endpoint { CloudControlApiEndpointProvider::CloudControlApiEndpointProvider() : CloudControlApiDefaultEpProviderBase(Aws::CloudControlApi::CloudControlApiEndpointRules::GetRulesBlob(), Aws::CloudControlApi::CloudControlApiEndpointRules::RulesBlobSize) {} +void CloudControlApiBuiltInParameters::SetFromClientConfiguration(const CloudControlApiClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudControlApiBuiltInParameters::SetFromClientConfiguration(const CloudControlApiClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudControlApiBuiltInParameters::SetServiceSpecificParameters(const CloudControlApiClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudControlApi } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryClient.h b/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryClient.h index c8edb3cdb9b6..228aa5c42518 100644 --- a/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryClient.h +++ b/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryClient.h @@ -71,27 +71,6 @@ class AWS_CLOUDDIRECTORY_API CloudDirectoryClient : public Aws::Client::AWSJsonC const Aws::CloudDirectory::CloudDirectoryClientConfiguration& clientConfiguration = Aws::CloudDirectory::CloudDirectoryClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudDirectoryClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudDirectoryClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudDirectoryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudDirectoryClient(); /** @@ -1931,7 +1910,6 @@ class AWS_CLOUDDIRECTORY_API CloudDirectoryClient : public Aws::Client::AWSJsonC return SubmitAsync(&CloudDirectoryClient::UpgradePublishedSchema, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryClientConfiguration.h b/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryClientConfiguration.h new file mode 100644 index 000000000000..a38e03f7dea3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudDirectory { +struct AWS_CLOUDDIRECTORY_API CloudDirectoryClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudDirectoryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudDirectoryClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudDirectoryClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudDirectoryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudDirectorySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDDIRECTORY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudDirectoryClientConfiguration& config); +} // namespace CloudDirectory +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryEndpointProvider.h b/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryEndpointProvider.h index 466532634fb0..d36919fb1b87 100644 --- a/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudDirectory { namespace Endpoint { +using CloudDirectoryClientConfiguration = Aws::CloudDirectory::CloudDirectoryClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudDirectoryClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudDirectoryClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudDirectoryBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDDIRECTORY_API CloudDirectoryBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudDirectoryBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudDirectoryClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudDirectoryClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudDirectoryClientConfiguration& config); +}; /** * The type for the CloudDirectory Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudDirectoryEndpointProviderBase = using CloudDirectoryDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudDirectory + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDDIRECTORY_EXTERN template class AWS_CLOUDDIRECTORY_API Aws::Endpoint::EndpointProviderBase< + CloudDirectory::Endpoint::CloudDirectoryClientConfiguration, CloudDirectory::Endpoint::CloudDirectoryBuiltInParameters, + CloudDirectory::Endpoint::CloudDirectoryClientContextParameters>; + +AWS_CLOUDDIRECTORY_EXTERN template class AWS_CLOUDDIRECTORY_API Aws::Endpoint::BDDEndpointProvider< + CloudDirectory::Endpoint::CloudDirectoryClientConfiguration, CloudDirectory::Endpoint::CloudDirectoryBuiltInParameters, + CloudDirectory::Endpoint::CloudDirectoryClientContextParameters>; +} // namespace Endpoint + +namespace CloudDirectory { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryServiceClientModel.h b/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryServiceClientModel.h index 53845387d087..560a1050f704 100644 --- a/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryServiceClientModel.h @@ -116,7 +116,6 @@ class RetryStrategy; } // namespace Client namespace CloudDirectory { -using CloudDirectoryClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudDirectoryEndpointProviderBase = Aws::CloudDirectory::Endpoint::CloudDirectoryEndpointProviderBase; using CloudDirectoryEndpointProvider = Aws::CloudDirectory::Endpoint::CloudDirectoryEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryClient.cpp b/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryClient.cpp index 6d0dee76d8c5..6f560940b9d7 100644 --- a/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryClient.cpp +++ b/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryClient.cpp @@ -144,41 +144,6 @@ CloudDirectoryClient::CloudDirectoryClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudDirectoryClient::CloudDirectoryClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudDirectoryClient::CloudDirectoryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudDirectoryClient::~CloudDirectoryClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudDirectoryClient::accessEndpointProvider() { return m_endpointProvider; } @@ -196,12 +161,7 @@ void CloudDirectoryClient::init(const CloudDirectory::CloudDirectoryClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "clouddirectory"); -} - -void CloudDirectoryClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudDirectoryClient::InvokeOperationOutcome CloudDirectoryClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryClientConfiguration.cpp b/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryClientConfiguration.cpp new file mode 100644 index 000000000000..fa877f4f5df1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudDirectory { + +void CloudDirectoryClientConfiguration::LoadCloudDirectorySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudDirectoryClientConfiguration::CloudDirectoryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudDirectorySpecificConfig(this->profileName); +} + +CloudDirectoryClientConfiguration::CloudDirectoryClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudDirectorySpecificConfig(Aws::String(inputProfileName)); +} + +CloudDirectoryClientConfiguration::CloudDirectoryClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudDirectorySpecificConfig(this->profileName); +} + +CloudDirectoryClientConfiguration::CloudDirectoryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudDirectorySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudDirectoryClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudDirectory +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryEndpointProvider.cpp b/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryEndpointProvider.cpp index 5410f3d153e8..19659f44c384 100644 --- a/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDDIRECTORY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudDirectory { namespace Endpoint { CloudDirectoryEndpointProvider::CloudDirectoryEndpointProvider() : CloudDirectoryDefaultEpProviderBase(Aws::CloudDirectory::CloudDirectoryEndpointRules::GetRulesBlob(), Aws::CloudDirectory::CloudDirectoryEndpointRules::RulesBlobSize) {} +void CloudDirectoryBuiltInParameters::SetFromClientConfiguration(const CloudDirectoryClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudDirectoryBuiltInParameters::SetFromClientConfiguration(const CloudDirectoryClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudDirectoryBuiltInParameters::SetServiceSpecificParameters(const CloudDirectoryClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudDirectory } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationClient.h b/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationClient.h index 0b496e41c58f..d6dc5647092f 100644 --- a/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationClient.h +++ b/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationClient.h @@ -73,27 +73,6 @@ class AWS_CLOUDFORMATION_API CloudFormationClient : public Aws::Client::AWSXMLCl const Aws::CloudFormation::CloudFormationClientConfiguration& clientConfiguration = Aws::CloudFormation::CloudFormationClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudFormationClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudFormationClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudFormationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudFormationClient(); /** @@ -3090,7 +3069,6 @@ class AWS_CLOUDFORMATION_API CloudFormationClient : public Aws::Client::AWSXMLCl return SubmitAsync(&CloudFormationClient::ValidateTemplate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationClientConfiguration.h new file mode 100644 index 000000000000..ca12bd6580e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudFormation { +struct AWS_CLOUDFORMATION_API CloudFormationClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudFormationClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudFormationClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudFormationClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudFormationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudFormationSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDFORMATION_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudFormationClientConfiguration& config); +} // namespace CloudFormation +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationEndpointProvider.h index 724b39bd0fe3..21946ca222db 100644 --- a/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudFormation { namespace Endpoint { +using CloudFormationClientConfiguration = Aws::CloudFormation::CloudFormationClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudFormationClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudFormationClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudFormationBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDFORMATION_API CloudFormationBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudFormationBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudFormationClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudFormationClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudFormationClientConfiguration& config); +}; /** * The type for the CloudFormation Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudFormationEndpointProviderBase = using CloudFormationDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudFormation + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDFORMATION_EXTERN template class AWS_CLOUDFORMATION_API Aws::Endpoint::EndpointProviderBase< + CloudFormation::Endpoint::CloudFormationClientConfiguration, CloudFormation::Endpoint::CloudFormationBuiltInParameters, + CloudFormation::Endpoint::CloudFormationClientContextParameters>; + +AWS_CLOUDFORMATION_EXTERN template class AWS_CLOUDFORMATION_API Aws::Endpoint::BDDEndpointProvider< + CloudFormation::Endpoint::CloudFormationClientConfiguration, CloudFormation::Endpoint::CloudFormationBuiltInParameters, + CloudFormation::Endpoint::CloudFormationClientContextParameters>; +} // namespace Endpoint + +namespace CloudFormation { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationServiceClientModel.h index a69d8aca48f0..ac2dd57576be 100644 --- a/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationServiceClientModel.h @@ -163,7 +163,6 @@ class RetryStrategy; } // namespace Client namespace CloudFormation { -using CloudFormationClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudFormationEndpointProviderBase = Aws::CloudFormation::Endpoint::CloudFormationEndpointProviderBase; using CloudFormationEndpointProvider = Aws::CloudFormation::Endpoint::CloudFormationEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationClient.cpp b/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationClient.cpp index 55c5e1ae0e41..e9d8494319f8 100644 --- a/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationClient.cpp @@ -168,41 +168,6 @@ CloudFormationClient::CloudFormationClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudFormationClient::CloudFormationClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudFormationClient::CloudFormationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudFormationClient::~CloudFormationClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudFormationClient::accessEndpointProvider() { return m_endpointProvider; } @@ -220,12 +185,7 @@ void CloudFormationClient::init(const CloudFormation::CloudFormationClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudformation"); -} - -void CloudFormationClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String CloudFormationClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationClientConfiguration.cpp new file mode 100644 index 000000000000..a1c8a48889e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudFormation { + +void CloudFormationClientConfiguration::LoadCloudFormationSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudFormationClientConfiguration::CloudFormationClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudFormationSpecificConfig(this->profileName); +} + +CloudFormationClientConfiguration::CloudFormationClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudFormationSpecificConfig(Aws::String(inputProfileName)); +} + +CloudFormationClientConfiguration::CloudFormationClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudFormationSpecificConfig(this->profileName); +} + +CloudFormationClientConfiguration::CloudFormationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudFormationSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudFormationClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationEndpointProvider.cpp index 50198551acd4..1c9e8275a7b7 100644 --- a/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDFORMATION_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudFormation { namespace Endpoint { CloudFormationEndpointProvider::CloudFormationEndpointProvider() : CloudFormationDefaultEpProviderBase(Aws::CloudFormation::CloudFormationEndpointRules::GetRulesBlob(), Aws::CloudFormation::CloudFormationEndpointRules::RulesBlobSize) {} +void CloudFormationBuiltInParameters::SetFromClientConfiguration(const CloudFormationClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudFormationBuiltInParameters::SetFromClientConfiguration(const CloudFormationClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudFormationBuiltInParameters::SetServiceSpecificParameters(const CloudFormationClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudFormation } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreClient.h b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreClient.h index 8b9595950529..6014b911965c 100644 --- a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreClient.h +++ b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreClient.h @@ -58,27 +58,6 @@ class AWS_CLOUDFRONTKEYVALUESTORE_API CloudFrontKeyValueStoreClient const Aws::CloudFrontKeyValueStore::CloudFrontKeyValueStoreClientConfiguration& clientConfiguration = Aws::CloudFrontKeyValueStore::CloudFrontKeyValueStoreClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudFrontKeyValueStoreClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudFrontKeyValueStoreClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudFrontKeyValueStoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudFrontKeyValueStoreClient(); /** @@ -236,7 +215,6 @@ class AWS_CLOUDFRONTKEYVALUESTORE_API CloudFrontKeyValueStoreClient return SubmitAsync(&CloudFrontKeyValueStoreClient::UpdateKeys, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreClientConfiguration.h new file mode 100644 index 000000000000..9755c9fdc536 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudFrontKeyValueStore { +struct AWS_CLOUDFRONTKEYVALUESTORE_API CloudFrontKeyValueStoreClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudFrontKeyValueStoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudFrontKeyValueStoreClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudFrontKeyValueStoreClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudFrontKeyValueStoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + + private: + void LoadCloudFrontKeyValueStoreSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDFRONTKEYVALUESTORE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const CloudFrontKeyValueStoreClientConfiguration& config); +} // namespace CloudFrontKeyValueStore +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreEndpointProvider.h index 2f7046c4c487..a32064b593b3 100644 --- a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudFrontKeyValueStore { namespace Endpoint { +using CloudFrontKeyValueStoreClientConfiguration = Aws::CloudFrontKeyValueStore::CloudFrontKeyValueStoreClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudFrontKeyValueStoreClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudFrontKeyValueStoreClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudFrontKeyValueStoreBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDFRONTKEYVALUESTORE_API CloudFrontKeyValueStoreBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudFrontKeyValueStoreBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudFrontKeyValueStoreClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudFrontKeyValueStoreClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudFrontKeyValueStoreClientConfiguration& config); +}; /** * The type for the CloudFrontKeyValueStore Client Endpoint Provider. @@ -36,6 +45,26 @@ using CloudFrontKeyValueStoreDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudFrontKeyValueStore + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDFRONTKEYVALUESTORE_EXTERN template class AWS_CLOUDFRONTKEYVALUESTORE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CLOUDFRONTKEYVALUESTORE_EXTERN template class AWS_CLOUDFRONTKEYVALUESTORE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace CloudFrontKeyValueStore { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreServiceClientModel.h index 3fc95cc3a0e1..2e95e363e7ee 100644 --- a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace CloudFrontKeyValueStore { -using CloudFrontKeyValueStoreClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudFrontKeyValueStoreEndpointProviderBase = Aws::CloudFrontKeyValueStore::Endpoint::CloudFrontKeyValueStoreEndpointProviderBase; using CloudFrontKeyValueStoreEndpointProvider = Aws::CloudFrontKeyValueStore::Endpoint::CloudFrontKeyValueStoreEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreClient.cpp b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreClient.cpp index 0db08e1150cf..c799c4902a2e 100644 --- a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreClient.cpp @@ -91,44 +91,6 @@ CloudFrontKeyValueStoreClient::CloudFrontKeyValueStoreClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CloudFrontKeyValueStoreClient::CloudFrontKeyValueStoreClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudFrontKeyValueStoreClient::CloudFrontKeyValueStoreClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudFrontKeyValueStoreClient::CloudFrontKeyValueStoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudFrontKeyValueStoreClient::~CloudFrontKeyValueStoreClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudFrontKeyValueStoreClient::accessEndpointProvider() { @@ -148,12 +110,7 @@ void CloudFrontKeyValueStoreClient::init(const CloudFrontKeyValueStore::CloudFro AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudfront-keyvaluestore"); -} - -void CloudFrontKeyValueStoreClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudFrontKeyValueStoreClient::InvokeOperationOutcome CloudFrontKeyValueStoreClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreClientConfiguration.cpp new file mode 100644 index 000000000000..00b9e53e3fcf --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudFrontKeyValueStore { + +void CloudFrontKeyValueStoreClientConfiguration::LoadCloudFrontKeyValueStoreSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudFrontKeyValueStoreClientConfiguration::CloudFrontKeyValueStoreClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudFrontKeyValueStoreSpecificConfig(this->profileName); +} + +CloudFrontKeyValueStoreClientConfiguration::CloudFrontKeyValueStoreClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudFrontKeyValueStoreSpecificConfig(Aws::String(inputProfileName)); +} + +CloudFrontKeyValueStoreClientConfiguration::CloudFrontKeyValueStoreClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudFrontKeyValueStoreSpecificConfig(this->profileName); +} + +CloudFrontKeyValueStoreClientConfiguration::CloudFrontKeyValueStoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudFrontKeyValueStoreSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudFrontKeyValueStoreClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + +} // namespace CloudFrontKeyValueStore +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreEndpointProvider.cpp index 1c36d37a4239..a2b2f0a77504 100644 --- a/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_CLOUDFRONTKEYVALUESTORE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudFrontKeyValueStore { namespace Endpoint { CloudFrontKeyValueStoreEndpointProvider::CloudFrontKeyValueStoreEndpointProvider() : CloudFrontKeyValueStoreDefaultEpProviderBase(Aws::CloudFrontKeyValueStore::CloudFrontKeyValueStoreEndpointRules::GetRulesBlob(), Aws::CloudFrontKeyValueStore::CloudFrontKeyValueStoreEndpointRules::RulesBlobSize) {} +void CloudFrontKeyValueStoreBuiltInParameters::SetFromClientConfiguration(const CloudFrontKeyValueStoreClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudFrontKeyValueStoreBuiltInParameters::SetFromClientConfiguration(const CloudFrontKeyValueStoreClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudFrontKeyValueStoreBuiltInParameters::SetServiceSpecificParameters(const CloudFrontKeyValueStoreClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace CloudFrontKeyValueStore } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontClient.h b/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontClient.h index ca9fe1adfaa6..0656e598b98f 100644 --- a/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontClient.h +++ b/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontClient.h @@ -61,27 +61,6 @@ class AWS_CLOUDFRONT_API CloudFrontClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::CloudFront::CloudFrontClientConfiguration& clientConfiguration = Aws::CloudFront::CloudFrontClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudFrontClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudFrontClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudFrontClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudFrontClient(); /** @@ -5587,7 +5566,6 @@ class AWS_CLOUDFRONT_API CloudFrontClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&CloudFrontClient::VerifyDnsConfiguration2020_05_31, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontClientConfiguration.h new file mode 100644 index 000000000000..efe3841d7302 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudFront { +struct AWS_CLOUDFRONT_API CloudFrontClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudFrontClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudFrontClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudFrontClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudFrontClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudFrontSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDFRONT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudFrontClientConfiguration& config); +} // namespace CloudFront +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontEndpointProvider.h index 730fdccd7c75..8297b26251b2 100644 --- a/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudFront { namespace Endpoint { +using CloudFrontClientConfiguration = Aws::CloudFront::CloudFrontClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudFrontClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudFrontClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudFrontBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDFRONT_API CloudFrontBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudFrontBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudFrontClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudFrontClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudFrontClientConfiguration& config); +}; /** * The type for the CloudFront Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudFrontEndpointProviderBase = using CloudFrontDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudFront + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDFRONT_EXTERN template class AWS_CLOUDFRONT_API Aws::Endpoint::EndpointProviderBase< + CloudFront::Endpoint::CloudFrontClientConfiguration, CloudFront::Endpoint::CloudFrontBuiltInParameters, + CloudFront::Endpoint::CloudFrontClientContextParameters>; + +AWS_CLOUDFRONT_EXTERN template class AWS_CLOUDFRONT_API Aws::Endpoint::BDDEndpointProvider< + CloudFront::Endpoint::CloudFrontClientConfiguration, CloudFront::Endpoint::CloudFrontBuiltInParameters, + CloudFront::Endpoint::CloudFrontClientContextParameters>; +} // namespace Endpoint + +namespace CloudFront { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontServiceClientModel.h index f5297b18ac1d..dafe26eb5206 100644 --- a/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontServiceClientModel.h @@ -216,7 +216,6 @@ class RetryStrategy; } // namespace Client namespace CloudFront { -using CloudFrontClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudFrontEndpointProviderBase = Aws::CloudFront::Endpoint::CloudFrontEndpointProviderBase; using CloudFrontEndpointProvider = Aws::CloudFront::Endpoint::CloudFrontEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontClient.cpp b/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontClient.cpp index f90b999af5a1..62927bac8e37 100644 --- a/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontClient.cpp @@ -244,41 +244,6 @@ CloudFrontClient::CloudFrontClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CloudFrontClient::CloudFrontClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudFrontClient::CloudFrontClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudFrontClient::CloudFrontClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudFrontClient::~CloudFrontClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudFrontClient::accessEndpointProvider() { return m_endpointProvider; } @@ -296,12 +261,7 @@ void CloudFrontClient::init(const CloudFront::CloudFrontClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudfront"); -} - -void CloudFrontClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudFrontClient::InvokeOperationOutcome CloudFrontClient::InvokeServiceOperation( diff --git a/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontClientConfiguration.cpp new file mode 100644 index 000000000000..be5164fb3700 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudFront { + +void CloudFrontClientConfiguration::LoadCloudFrontSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudFrontClientConfiguration::CloudFrontClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudFrontSpecificConfig(this->profileName); +} + +CloudFrontClientConfiguration::CloudFrontClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudFrontSpecificConfig(Aws::String(inputProfileName)); +} + +CloudFrontClientConfiguration::CloudFrontClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudFrontSpecificConfig(this->profileName); +} + +CloudFrontClientConfiguration::CloudFrontClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudFrontSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudFrontClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudFront +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontEndpointProvider.cpp index a1e63544d116..625f2cb30bde 100644 --- a/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CLOUDFRONT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudFront { namespace Endpoint { CloudFrontEndpointProvider::CloudFrontEndpointProvider() : CloudFrontDefaultEpProviderBase(Aws::CloudFront::CloudFrontEndpointRules::GetRulesBlob(), Aws::CloudFront::CloudFrontEndpointRules::RulesBlobSize) {} +void CloudFrontBuiltInParameters::SetFromClientConfiguration(const CloudFrontClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudFrontBuiltInParameters::SetFromClientConfiguration(const CloudFrontClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudFrontBuiltInParameters::SetServiceSpecificParameters(const CloudFrontClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudFront } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMClient.h b/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMClient.h index 9598ec736f6d..784513731010 100644 --- a/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMClient.h +++ b/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMClient.h @@ -65,30 +65,8 @@ class AWS_CLOUDHSM_API CloudHSMClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::CloudHSM::CloudHSMClientConfiguration& clientConfiguration = Aws::CloudHSM::CloudHSMClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudHSMClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudHSMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudHSMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudHSMClient(); - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMClientConfiguration.h new file mode 100644 index 000000000000..eba08fdc3679 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudHSM { +struct AWS_CLOUDHSM_API CloudHSMClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudHSMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudHSMClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudHSMClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudHSMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudHSMSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDHSM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudHSMClientConfiguration& config); +} // namespace CloudHSM +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMEndpointProvider.h index a4698299d7ec..6c995e200c08 100644 --- a/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudHSM { namespace Endpoint { +using CloudHSMClientConfiguration = Aws::CloudHSM::CloudHSMClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudHSMClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudHSMClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudHSMBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDHSM_API CloudHSMBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudHSMBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudHSMClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudHSMClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudHSMClientConfiguration& config); +}; /** * The type for the CloudHSM Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudHSMEndpointProviderBase = using CloudHSMDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudHSM + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDHSM_EXTERN template class AWS_CLOUDHSM_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CLOUDHSM_EXTERN template class AWS_CLOUDHSM_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace CloudHSM { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMServiceClientModel.h index 3e040720090d..a71cba67ee83 100644 --- a/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMServiceClientModel.h @@ -46,7 +46,6 @@ class RetryStrategy; } // namespace Client namespace CloudHSM { -using CloudHSMClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudHSMEndpointProviderBase = Aws::CloudHSM::Endpoint::CloudHSMEndpointProviderBase; using CloudHSMEndpointProvider = Aws::CloudHSM::Endpoint::CloudHSMEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMClient.cpp b/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMClient.cpp index 1571c06a4f81..f6885ad81b51 100644 --- a/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMClient.cpp @@ -77,41 +77,6 @@ CloudHSMClient::CloudHSMClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CloudHSMClient::CloudHSMClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudHSMClient::CloudHSMClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudHSMClient::CloudHSMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudHSMClient::~CloudHSMClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudHSMClient::accessEndpointProvider() { return m_endpointProvider; } @@ -129,12 +94,7 @@ void CloudHSMClient::init(const CloudHSM::CloudHSMClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudhsm"); -} - -void CloudHSMClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudHSMClient::InvokeOperationOutcome CloudHSMClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMClientConfiguration.cpp new file mode 100644 index 000000000000..59aab22c5a0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudHSM { + +void CloudHSMClientConfiguration::LoadCloudHSMSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudHSMClientConfiguration::CloudHSMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudHSMSpecificConfig(this->profileName); +} + +CloudHSMClientConfiguration::CloudHSMClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudHSMSpecificConfig(Aws::String(inputProfileName)); +} + +CloudHSMClientConfiguration::CloudHSMClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudHSMSpecificConfig(this->profileName); +} + +CloudHSMClientConfiguration::CloudHSMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudHSMSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudHSMClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudHSM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMEndpointProvider.cpp index 6f4c8f6ccbd3..604fad839c12 100644 --- a/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CLOUDHSM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudHSM { namespace Endpoint { CloudHSMEndpointProvider::CloudHSMEndpointProvider() : CloudHSMDefaultEpProviderBase(Aws::CloudHSM::CloudHSMEndpointRules::GetRulesBlob(), Aws::CloudHSM::CloudHSMEndpointRules::RulesBlobSize) {} +void CloudHSMBuiltInParameters::SetFromClientConfiguration(const CloudHSMClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudHSMBuiltInParameters::SetFromClientConfiguration(const CloudHSMClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudHSMBuiltInParameters::SetServiceSpecificParameters(const CloudHSMClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudHSM } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2Client.h b/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2Client.h index 1cbba1eb0041..8cb5aac0ddab 100644 --- a/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2Client.h +++ b/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2Client.h @@ -58,27 +58,6 @@ class AWS_CLOUDHSMV2_API CloudHSMV2Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::CloudHSMV2::CloudHSMV2ClientConfiguration& clientConfiguration = Aws::CloudHSMV2::CloudHSMV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudHSMV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudHSMV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudHSMV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudHSMV2Client(); /** @@ -638,7 +617,6 @@ class AWS_CLOUDHSMV2_API CloudHSMV2Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&CloudHSMV2Client::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2ClientConfiguration.h new file mode 100644 index 000000000000..39bbb898ca14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudHSMV2 { +struct AWS_CLOUDHSMV2_API CloudHSMV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudHSMV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudHSMV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudHSMV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudHSMV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudHSMV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDHSMV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudHSMV2ClientConfiguration& config); +} // namespace CloudHSMV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2EndpointProvider.h b/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2EndpointProvider.h index 1c002df5f537..7ed6976ff9fb 100644 --- a/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2EndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudHSMV2 { namespace Endpoint { +using CloudHSMV2ClientConfiguration = Aws::CloudHSMV2::CloudHSMV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudHSMV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudHSMV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudHSMV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDHSMV2_API CloudHSMV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudHSMV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudHSMV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudHSMV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudHSMV2ClientConfiguration& config); +}; /** * The type for the CloudHSMV2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudHSMV2EndpointProviderBase = using CloudHSMV2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudHSMV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDHSMV2_EXTERN template class AWS_CLOUDHSMV2_API Aws::Endpoint::EndpointProviderBase< + CloudHSMV2::Endpoint::CloudHSMV2ClientConfiguration, CloudHSMV2::Endpoint::CloudHSMV2BuiltInParameters, + CloudHSMV2::Endpoint::CloudHSMV2ClientContextParameters>; + +AWS_CLOUDHSMV2_EXTERN template class AWS_CLOUDHSMV2_API Aws::Endpoint::BDDEndpointProvider< + CloudHSMV2::Endpoint::CloudHSMV2ClientConfiguration, CloudHSMV2::Endpoint::CloudHSMV2BuiltInParameters, + CloudHSMV2::Endpoint::CloudHSMV2ClientContextParameters>; +} // namespace Endpoint + +namespace CloudHSMV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2ServiceClientModel.h index 1c8a0d267949..61f03c058bba 100644 --- a/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2ServiceClientModel.h @@ -69,7 +69,6 @@ class RetryStrategy; } // namespace Client namespace CloudHSMV2 { -using CloudHSMV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudHSMV2EndpointProviderBase = Aws::CloudHSMV2::Endpoint::CloudHSMV2EndpointProviderBase; using CloudHSMV2EndpointProvider = Aws::CloudHSMV2::Endpoint::CloudHSMV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2Client.cpp b/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2Client.cpp index d4f0bec76637..4f9373010306 100644 --- a/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2Client.cpp +++ b/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2Client.cpp @@ -95,41 +95,6 @@ CloudHSMV2Client::CloudHSMV2Client(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CloudHSMV2Client::CloudHSMV2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudHSMV2Client::CloudHSMV2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudHSMV2Client::CloudHSMV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudHSMV2Client::~CloudHSMV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudHSMV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -147,12 +112,7 @@ void CloudHSMV2Client::init(const CloudHSMV2::CloudHSMV2ClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudhsm"); -} - -void CloudHSMV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudHSMV2Client::InvokeOperationOutcome CloudHSMV2Client::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2ClientConfiguration.cpp new file mode 100644 index 000000000000..66e5dd9e9360 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudHSMV2 { + +void CloudHSMV2ClientConfiguration::LoadCloudHSMV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudHSMV2ClientConfiguration::CloudHSMV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudHSMV2SpecificConfig(this->profileName); +} + +CloudHSMV2ClientConfiguration::CloudHSMV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudHSMV2SpecificConfig(Aws::String(inputProfileName)); +} + +CloudHSMV2ClientConfiguration::CloudHSMV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudHSMV2SpecificConfig(this->profileName); +} + +CloudHSMV2ClientConfiguration::CloudHSMV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudHSMV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudHSMV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudHSMV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2EndpointProvider.cpp index fcef48b88f77..185adbc87bb4 100644 --- a/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2EndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CLOUDHSMV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudHSMV2 { namespace Endpoint { CloudHSMV2EndpointProvider::CloudHSMV2EndpointProvider() : CloudHSMV2DefaultEpProviderBase(Aws::CloudHSMV2::CloudHSMV2EndpointRules::GetRulesBlob(), Aws::CloudHSMV2::CloudHSMV2EndpointRules::RulesBlobSize) {} +void CloudHSMV2BuiltInParameters::SetFromClientConfiguration(const CloudHSMV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudHSMV2BuiltInParameters::SetFromClientConfiguration(const CloudHSMV2ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudHSMV2BuiltInParameters::SetServiceSpecificParameters(const CloudHSMV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudHSMV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchClient.h b/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchClient.h index 9c7e6a110a06..97eadfb4e685 100644 --- a/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchClient.h +++ b/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchClient.h @@ -66,27 +66,6 @@ class AWS_CLOUDSEARCH_API CloudSearchClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::CloudSearch::CloudSearchClientConfiguration& clientConfiguration = Aws::CloudSearch::CloudSearchClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudSearchClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudSearchClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudSearchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudSearchClient(); /** @@ -921,7 +900,6 @@ class AWS_CLOUDSEARCH_API CloudSearchClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&CloudSearchClient::UpdateServiceAccessPolicies, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchClientConfiguration.h new file mode 100644 index 000000000000..8195ef3550b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudSearch { +struct AWS_CLOUDSEARCH_API CloudSearchClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudSearchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudSearchClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudSearchClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudSearchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudSearchSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDSEARCH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudSearchClientConfiguration& config); +} // namespace CloudSearch +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchEndpointProvider.h index 8b0406cde646..2ed5dcf98b38 100644 --- a/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudSearch { namespace Endpoint { +using CloudSearchClientConfiguration = Aws::CloudSearch::CloudSearchClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudSearchClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudSearchClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudSearchBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDSEARCH_API CloudSearchBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudSearchBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudSearchClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudSearchClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudSearchClientConfiguration& config); +}; /** * The type for the CloudSearch Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudSearchEndpointProviderBase = using CloudSearchDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudSearch + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDSEARCH_EXTERN template class AWS_CLOUDSEARCH_API Aws::Endpoint::EndpointProviderBase< + CloudSearch::Endpoint::CloudSearchClientConfiguration, CloudSearch::Endpoint::CloudSearchBuiltInParameters, + CloudSearch::Endpoint::CloudSearchClientContextParameters>; + +AWS_CLOUDSEARCH_EXTERN template class AWS_CLOUDSEARCH_API Aws::Endpoint::BDDEndpointProvider< + CloudSearch::Endpoint::CloudSearchClientConfiguration, CloudSearch::Endpoint::CloudSearchBuiltInParameters, + CloudSearch::Endpoint::CloudSearchClientContextParameters>; +} // namespace Endpoint + +namespace CloudSearch { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchServiceClientModel.h index 56f804a1e190..8c817f6fbff0 100644 --- a/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchServiceClientModel.h @@ -74,7 +74,6 @@ class RetryStrategy; } // namespace Client namespace CloudSearch { -using CloudSearchClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudSearchEndpointProviderBase = Aws::CloudSearch::Endpoint::CloudSearchEndpointProviderBase; using CloudSearchEndpointProvider = Aws::CloudSearch::Endpoint::CloudSearchEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchClient.cpp b/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchClient.cpp index dc07f08d151d..ae36fbc74103 100644 --- a/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchClient.cpp @@ -103,41 +103,6 @@ CloudSearchClient::CloudSearchClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudSearchClient::CloudSearchClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudSearchClient::CloudSearchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudSearchClient::~CloudSearchClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudSearchClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void CloudSearchClient::init(const CloudSearch::CloudSearchClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudsearch"); -} - -void CloudSearchClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String CloudSearchClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchClientConfiguration.cpp new file mode 100644 index 000000000000..742f54081f60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudSearch { + +void CloudSearchClientConfiguration::LoadCloudSearchSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudSearchClientConfiguration::CloudSearchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudSearchSpecificConfig(this->profileName); +} + +CloudSearchClientConfiguration::CloudSearchClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudSearchSpecificConfig(Aws::String(inputProfileName)); +} + +CloudSearchClientConfiguration::CloudSearchClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudSearchSpecificConfig(this->profileName); +} + +CloudSearchClientConfiguration::CloudSearchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudSearchSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudSearchClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudSearch +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchEndpointProvider.cpp index c21656c2c89f..bdf01e2f2bc3 100644 --- a/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDSEARCH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudSearch { namespace Endpoint { CloudSearchEndpointProvider::CloudSearchEndpointProvider() : CloudSearchDefaultEpProviderBase(Aws::CloudSearch::CloudSearchEndpointRules::GetRulesBlob(), Aws::CloudSearch::CloudSearchEndpointRules::RulesBlobSize) {} +void CloudSearchBuiltInParameters::SetFromClientConfiguration(const CloudSearchClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudSearchBuiltInParameters::SetFromClientConfiguration(const CloudSearchClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudSearchBuiltInParameters::SetServiceSpecificParameters(const CloudSearchClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudSearch } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainClient.h b/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainClient.h index 6a5bb2eed838..d0555f249227 100644 --- a/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainClient.h +++ b/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainClient.h @@ -65,27 +65,6 @@ class AWS_CLOUDSEARCHDOMAIN_API CloudSearchDomainClient : public Aws::Client::AW const Aws::CloudSearchDomain::CloudSearchDomainClientConfiguration& clientConfiguration = Aws::CloudSearchDomain::CloudSearchDomainClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudSearchDomainClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudSearchDomainClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudSearchDomainClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudSearchDomainClient(); /** @@ -218,7 +197,6 @@ class AWS_CLOUDSEARCHDOMAIN_API CloudSearchDomainClient : public Aws::Client::AW return SubmitAsync(&CloudSearchDomainClient::UploadDocuments, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainClientConfiguration.h new file mode 100644 index 000000000000..f0ef2f5b4b79 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudSearchDomain { +struct AWS_CLOUDSEARCHDOMAIN_API CloudSearchDomainClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudSearchDomainClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudSearchDomainClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudSearchDomainClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudSearchDomainClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadCloudSearchDomainSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDSEARCHDOMAIN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudSearchDomainClientConfiguration& config); +} // namespace CloudSearchDomain +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainEndpointProvider.h index 283e74fecf5d..61c347a8e2df 100644 --- a/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudSearchDomain { namespace Endpoint { +using CloudSearchDomainClientConfiguration = Aws::CloudSearchDomain::CloudSearchDomainClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudSearchDomainClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudSearchDomainClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudSearchDomainBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDSEARCHDOMAIN_API CloudSearchDomainBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudSearchDomainBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudSearchDomainClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudSearchDomainClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudSearchDomainClientConfiguration& config); +}; /** * The type for the CloudSearchDomain Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudSearchDomainEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace CloudSearchDomain + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDSEARCHDOMAIN_EXTERN template class AWS_CLOUDSEARCHDOMAIN_API Aws::Endpoint::EndpointProviderBase< + CloudSearchDomain::Endpoint::CloudSearchDomainClientConfiguration, CloudSearchDomain::Endpoint::CloudSearchDomainBuiltInParameters, + CloudSearchDomain::Endpoint::CloudSearchDomainClientContextParameters>; + +AWS_CLOUDSEARCHDOMAIN_EXTERN template class AWS_CLOUDSEARCHDOMAIN_API Aws::Endpoint::BDDEndpointProvider< + CloudSearchDomain::Endpoint::CloudSearchDomainClientConfiguration, CloudSearchDomain::Endpoint::CloudSearchDomainBuiltInParameters, + CloudSearchDomain::Endpoint::CloudSearchDomainClientContextParameters>; +} // namespace Endpoint + +namespace CloudSearchDomain { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainServiceClientModel.h index 8a98b7e3eda4..5b31881afd93 100644 --- a/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainServiceClientModel.h @@ -49,7 +49,6 @@ class RetryStrategy; } // namespace Client namespace CloudSearchDomain { -using CloudSearchDomainClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudSearchDomainEndpointProviderBase = Aws::CloudSearchDomain::Endpoint::CloudSearchDomainEndpointProviderBase; using CloudSearchDomainEndpointProvider = Aws::CloudSearchDomain::Endpoint::CloudSearchDomainEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainClient.cpp b/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainClient.cpp index f76cd64428dd..4b2697702abd 100644 --- a/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainClient.cpp @@ -86,44 +86,6 @@ CloudSearchDomainClient::CloudSearchDomainClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudSearchDomainClient::CloudSearchDomainClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudSearchDomainClient::CloudSearchDomainClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudSearchDomainClient::~CloudSearchDomainClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudSearchDomainClient::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +103,7 @@ void CloudSearchDomainClient::init(const CloudSearchDomain::CloudSearchDomainCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudsearch"); -} - -void CloudSearchDomainClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudSearchDomainClient::InvokeOperationOutcome CloudSearchDomainClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainClientConfiguration.cpp new file mode 100644 index 000000000000..d1d3f4de0f81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudSearchDomain { + +void CloudSearchDomainClientConfiguration::LoadCloudSearchDomainSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudSearchDomainClientConfiguration::CloudSearchDomainClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudSearchDomainSpecificConfig(this->profileName); +} + +CloudSearchDomainClientConfiguration::CloudSearchDomainClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudSearchDomainSpecificConfig(Aws::String(inputProfileName)); +} + +CloudSearchDomainClientConfiguration::CloudSearchDomainClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudSearchDomainSpecificConfig(this->profileName); +} + +CloudSearchDomainClientConfiguration::CloudSearchDomainClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudSearchDomainSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudSearchDomainClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace CloudSearchDomain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainEndpointProvider.cpp index fd6ca11c2b2a..219a39d7f3e2 100644 --- a/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDSEARCHDOMAIN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudSearchDomain { namespace Endpoint { CloudSearchDomainEndpointProvider::CloudSearchDomainEndpointProvider() : CloudSearchDomainDefaultEpProviderBase(Aws::CloudSearchDomain::CloudSearchDomainEndpointRules::GetRulesBlob(), Aws::CloudSearchDomain::CloudSearchDomainEndpointRules::RulesBlobSize) {} +void CloudSearchDomainBuiltInParameters::SetFromClientConfiguration(const CloudSearchDomainClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudSearchDomainBuiltInParameters::SetFromClientConfiguration(const CloudSearchDomainClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudSearchDomainBuiltInParameters::SetServiceSpecificParameters(const CloudSearchDomainClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudSearchDomain } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataClient.h b/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataClient.h index 2f64e2d2241a..03bccabb8e07 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataClient.h +++ b/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataClient.h @@ -63,27 +63,6 @@ class AWS_CLOUDTRAILDATA_API CloudTrailDataClient : public Aws::Client::AWSJsonC const Aws::CloudTrailData::CloudTrailDataClientConfiguration& clientConfiguration = Aws::CloudTrailData::CloudTrailDataClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudTrailDataClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudTrailDataClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudTrailDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudTrailDataClient(); /** @@ -115,7 +94,6 @@ class AWS_CLOUDTRAILDATA_API CloudTrailDataClient : public Aws::Client::AWSJsonC return SubmitAsync(&CloudTrailDataClient::PutAuditEvents, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataClientConfiguration.h new file mode 100644 index 000000000000..b1f7a8168e8e --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudTrailData { +struct AWS_CLOUDTRAILDATA_API CloudTrailDataClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudTrailDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudTrailDataClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudTrailDataClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudTrailDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudTrailDataSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDTRAILDATA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudTrailDataClientConfiguration& config); +} // namespace CloudTrailData +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataEndpointProvider.h index 9177684e41df..3e44266d3c02 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudTrailData { namespace Endpoint { +using CloudTrailDataClientConfiguration = Aws::CloudTrailData::CloudTrailDataClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudTrailDataClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudTrailDataClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudTrailDataBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDTRAILDATA_API CloudTrailDataBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudTrailDataBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudTrailDataClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudTrailDataClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudTrailDataClientConfiguration& config); +}; /** * The type for the CloudTrailData Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudTrailDataEndpointProviderBase = using CloudTrailDataDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudTrailData + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDTRAILDATA_EXTERN template class AWS_CLOUDTRAILDATA_API Aws::Endpoint::EndpointProviderBase< + CloudTrailData::Endpoint::CloudTrailDataClientConfiguration, CloudTrailData::Endpoint::CloudTrailDataBuiltInParameters, + CloudTrailData::Endpoint::CloudTrailDataClientContextParameters>; + +AWS_CLOUDTRAILDATA_EXTERN template class AWS_CLOUDTRAILDATA_API Aws::Endpoint::BDDEndpointProvider< + CloudTrailData::Endpoint::CloudTrailDataClientConfiguration, CloudTrailData::Endpoint::CloudTrailDataBuiltInParameters, + CloudTrailData::Endpoint::CloudTrailDataClientContextParameters>; +} // namespace Endpoint + +namespace CloudTrailData { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataServiceClientModel.h index 88677c9ac4ba..ea1bcf6a809f 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace CloudTrailData { -using CloudTrailDataClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudTrailDataEndpointProviderBase = Aws::CloudTrailData::Endpoint::CloudTrailDataEndpointProviderBase; using CloudTrailDataEndpointProvider = Aws::CloudTrailData::Endpoint::CloudTrailDataEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataClient.cpp b/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataClient.cpp index 2c6216b64338..b1e83f0ad04d 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataClient.cpp @@ -79,41 +79,6 @@ CloudTrailDataClient::CloudTrailDataClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudTrailDataClient::CloudTrailDataClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudTrailDataClient::CloudTrailDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudTrailDataClient::~CloudTrailDataClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudTrailDataClient::accessEndpointProvider() { return m_endpointProvider; } @@ -131,12 +96,7 @@ void CloudTrailDataClient::init(const CloudTrailData::CloudTrailDataClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudtrail-data"); -} - -void CloudTrailDataClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudTrailDataClient::InvokeOperationOutcome CloudTrailDataClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataClientConfiguration.cpp new file mode 100644 index 000000000000..00469ac29a1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudTrailData { + +void CloudTrailDataClientConfiguration::LoadCloudTrailDataSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudTrailDataClientConfiguration::CloudTrailDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudTrailDataSpecificConfig(this->profileName); +} + +CloudTrailDataClientConfiguration::CloudTrailDataClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudTrailDataSpecificConfig(Aws::String(inputProfileName)); +} + +CloudTrailDataClientConfiguration::CloudTrailDataClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudTrailDataSpecificConfig(this->profileName); +} + +CloudTrailDataClientConfiguration::CloudTrailDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudTrailDataSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudTrailDataClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudTrailData +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataEndpointProvider.cpp index 2f62b0ea76ed..71dc6444d710 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDTRAILDATA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudTrailData { namespace Endpoint { CloudTrailDataEndpointProvider::CloudTrailDataEndpointProvider() : CloudTrailDataDefaultEpProviderBase(Aws::CloudTrailData::CloudTrailDataEndpointRules::GetRulesBlob(), Aws::CloudTrailData::CloudTrailDataEndpointRules::RulesBlobSize) {} +void CloudTrailDataBuiltInParameters::SetFromClientConfiguration(const CloudTrailDataClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudTrailDataBuiltInParameters::SetFromClientConfiguration(const CloudTrailDataClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudTrailDataBuiltInParameters::SetServiceSpecificParameters(const CloudTrailDataClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudTrailData } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClient.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClient.h index fa9ec8ae8ff2..6a17aad83736 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClient.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClient.h @@ -73,27 +73,6 @@ class AWS_CLOUDTRAIL_API CloudTrailClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::CloudTrail::CloudTrailClientConfiguration& clientConfiguration = Aws::CloudTrail::CloudTrailClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudTrailClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudTrailClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudTrailClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudTrailClient(); /** @@ -2259,7 +2238,6 @@ class AWS_CLOUDTRAIL_API CloudTrailClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&CloudTrailClient::UpdateTrail, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClientConfiguration.h new file mode 100644 index 000000000000..d59ef935e0d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudTrail { +struct AWS_CLOUDTRAIL_API CloudTrailClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudTrailClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudTrailClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudTrailClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudTrailClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudTrailSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDTRAIL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudTrailClientConfiguration& config); +} // namespace CloudTrail +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailEndpointProvider.h index 6ea8a67aa792..847e078b1fac 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudTrail { namespace Endpoint { +using CloudTrailClientConfiguration = Aws::CloudTrail::CloudTrailClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudTrailClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudTrailClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudTrailBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDTRAIL_API CloudTrailBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudTrailBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudTrailClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudTrailClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudTrailClientConfiguration& config); +}; /** * The type for the CloudTrail Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudTrailEndpointProviderBase = using CloudTrailDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudTrail + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDTRAIL_EXTERN template class AWS_CLOUDTRAIL_API Aws::Endpoint::EndpointProviderBase< + CloudTrail::Endpoint::CloudTrailClientConfiguration, CloudTrail::Endpoint::CloudTrailBuiltInParameters, + CloudTrail::Endpoint::CloudTrailClientContextParameters>; + +AWS_CLOUDTRAIL_EXTERN template class AWS_CLOUDTRAIL_API Aws::Endpoint::BDDEndpointProvider< + CloudTrail::Endpoint::CloudTrailClientConfiguration, CloudTrail::Endpoint::CloudTrailBuiltInParameters, + CloudTrail::Endpoint::CloudTrailClientContextParameters>; +} // namespace Endpoint + +namespace CloudTrail { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailServiceClientModel.h index 5a55c5c619ce..35e64a4a5ddc 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailServiceClientModel.h @@ -120,7 +120,6 @@ class RetryStrategy; } // namespace Client namespace CloudTrail { -using CloudTrailClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudTrailEndpointProviderBase = Aws::CloudTrail::Endpoint::CloudTrailEndpointProviderBase; using CloudTrailEndpointProvider = Aws::CloudTrail::Endpoint::CloudTrailEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp index 8329a1ba5480..69c3503d7869 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClient.cpp @@ -137,41 +137,6 @@ CloudTrailClient::CloudTrailClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CloudTrailClient::CloudTrailClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudTrailClient::CloudTrailClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudTrailClient::CloudTrailClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudTrailClient::~CloudTrailClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudTrailClient::accessEndpointProvider() { return m_endpointProvider; } @@ -189,12 +154,7 @@ void CloudTrailClient::init(const CloudTrail::CloudTrailClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudtrail"); -} - -void CloudTrailClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudTrailClient::InvokeOperationOutcome CloudTrailClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClientConfiguration.cpp new file mode 100644 index 000000000000..81038e378efc --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudTrail { + +void CloudTrailClientConfiguration::LoadCloudTrailSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudTrailClientConfiguration::CloudTrailClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudTrailSpecificConfig(this->profileName); +} + +CloudTrailClientConfiguration::CloudTrailClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudTrailSpecificConfig(Aws::String(inputProfileName)); +} + +CloudTrailClientConfiguration::CloudTrailClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudTrailSpecificConfig(this->profileName); +} + +CloudTrailClientConfiguration::CloudTrailClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudTrailSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudTrailClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudTrail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailEndpointProvider.cpp index b0026c004a5d..ce5fd63020ad 100644 --- a/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CLOUDTRAIL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudTrail { namespace Endpoint { CloudTrailEndpointProvider::CloudTrailEndpointProvider() : CloudTrailDefaultEpProviderBase(Aws::CloudTrail::CloudTrailEndpointRules::GetRulesBlob(), Aws::CloudTrail::CloudTrailEndpointRules::RulesBlobSize) {} +void CloudTrailBuiltInParameters::SetFromClientConfiguration(const CloudTrailClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudTrailBuiltInParameters::SetFromClientConfiguration(const CloudTrailClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudTrailBuiltInParameters::SetServiceSpecificParameters(const CloudTrailClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudTrail } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniClient.h b/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniClient.h index b2b57f3a98ef..77321290b4f7 100644 --- a/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniClient.h +++ b/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniClient.h @@ -59,27 +59,6 @@ class AWS_CLOUDWATCHOMNI_API CloudWatchOmniClient : public Aws::Client::AWSRpcV2 const Aws::CloudWatchOmni::CloudWatchOmniClientConfiguration& clientConfiguration = Aws::CloudWatchOmni::CloudWatchOmniClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudWatchOmniClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudWatchOmniClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudWatchOmniClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudWatchOmniClient(); /** @@ -1798,7 +1777,6 @@ class AWS_CLOUDWATCHOMNI_API CloudWatchOmniClient : public Aws::Client::AWSRpcV2 return SubmitAsync(&CloudWatchOmniClient::UpdateView, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniClientConfiguration.h b/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniClientConfiguration.h new file mode 100644 index 000000000000..98e384cceb35 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudWatchOmni { +struct AWS_CLOUDWATCHOMNI_API CloudWatchOmniClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudWatchOmniClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchOmniClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchOmniClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudWatchOmniClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadCloudWatchOmniSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDWATCHOMNI_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchOmniClientConfiguration& config); +} // namespace CloudWatchOmni +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniEndpointProvider.h b/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniEndpointProvider.h index 426dc2965ebf..35fdf58365d6 100644 --- a/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CloudWatchOmni { namespace Endpoint { +using CloudWatchOmniClientConfiguration = Aws::CloudWatchOmni::CloudWatchOmniClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudWatchOmniClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudWatchOmniClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudWatchOmniBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDWATCHOMNI_API CloudWatchOmniBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudWatchOmniBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudWatchOmniClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudWatchOmniClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudWatchOmniClientConfiguration& config); +}; /** * The type for the CloudWatchOmni Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudWatchOmniEndpointProviderBase = using CloudWatchOmniDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudWatchOmni + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDWATCHOMNI_EXTERN template class AWS_CLOUDWATCHOMNI_API Aws::Endpoint::EndpointProviderBase< + CloudWatchOmni::Endpoint::CloudWatchOmniClientConfiguration, CloudWatchOmni::Endpoint::CloudWatchOmniBuiltInParameters, + CloudWatchOmni::Endpoint::CloudWatchOmniClientContextParameters>; + +AWS_CLOUDWATCHOMNI_EXTERN template class AWS_CLOUDWATCHOMNI_API Aws::Endpoint::BDDEndpointProvider< + CloudWatchOmni::Endpoint::CloudWatchOmniClientConfiguration, CloudWatchOmni::Endpoint::CloudWatchOmniBuiltInParameters, + CloudWatchOmni::Endpoint::CloudWatchOmniClientContextParameters>; +} // namespace Endpoint + +namespace CloudWatchOmni { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniServiceClientModel.h b/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniServiceClientModel.h index 3877da383c76..521eca80ae72 100644 --- a/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniServiceClientModel.h @@ -118,7 +118,6 @@ class RetryStrategy; } // namespace Client namespace CloudWatchOmni { -using CloudWatchOmniClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudWatchOmniEndpointProviderBase = Aws::CloudWatchOmni::Endpoint::CloudWatchOmniEndpointProviderBase; using CloudWatchOmniEndpointProvider = Aws::CloudWatchOmni::Endpoint::CloudWatchOmniEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniClient.cpp b/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniClient.cpp index ea41a16f22d9..597020e9f933 100644 --- a/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniClient.cpp +++ b/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniClient.cpp @@ -139,41 +139,6 @@ CloudWatchOmniClient::CloudWatchOmniClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchOmniClient::CloudWatchOmniClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchOmniClient::CloudWatchOmniClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudWatchOmniClient::~CloudWatchOmniClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudWatchOmniClient::accessEndpointProvider() { return m_endpointProvider; } @@ -191,12 +156,7 @@ void CloudWatchOmniClient::init(const CloudWatchOmni::CloudWatchOmniClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cloudwatch"); -} - -void CloudWatchOmniClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudWatchOmniClient::InvokeOperationOutcome CloudWatchOmniClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniClientConfiguration.cpp new file mode 100644 index 000000000000..05e252a97e44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudWatchOmni { + +void CloudWatchOmniClientConfiguration::LoadCloudWatchOmniSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudWatchOmniClientConfiguration::CloudWatchOmniClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudWatchOmniSpecificConfig(this->profileName); +} + +CloudWatchOmniClientConfiguration::CloudWatchOmniClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudWatchOmniSpecificConfig(Aws::String(inputProfileName)); +} + +CloudWatchOmniClientConfiguration::CloudWatchOmniClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudWatchOmniSpecificConfig(this->profileName); +} + +CloudWatchOmniClientConfiguration::CloudWatchOmniClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudWatchOmniSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchOmniClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudWatchOmni +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniEndpointProvider.cpp index db3bc2df8243..6fd3ad86d3d8 100644 --- a/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_CLOUDWATCHOMNI_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudWatchOmni { namespace Endpoint { CloudWatchOmniEndpointProvider::CloudWatchOmniEndpointProvider() : CloudWatchOmniDefaultEpProviderBase(Aws::CloudWatchOmni::CloudWatchOmniEndpointRules::GetRulesBlob(), Aws::CloudWatchOmni::CloudWatchOmniEndpointRules::RulesBlobSize) {} +void CloudWatchOmniBuiltInParameters::SetFromClientConfiguration(const CloudWatchOmniClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudWatchOmniBuiltInParameters::SetFromClientConfiguration(const CloudWatchOmniClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudWatchOmniBuiltInParameters::SetServiceSpecificParameters(const CloudWatchOmniClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace CloudWatchOmni } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactClient.h b/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactClient.h index 17aac67f0e37..4d8897896228 100644 --- a/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactClient.h +++ b/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactClient.h @@ -209,27 +209,6 @@ class AWS_CODEARTIFACT_API CodeArtifactClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::CodeArtifact::CodeArtifactClientConfiguration& clientConfiguration = Aws::CodeArtifact::CodeArtifactClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeArtifactClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeArtifactClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeArtifactClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeArtifactClient(); /** @@ -1735,7 +1714,6 @@ class AWS_CODEARTIFACT_API CodeArtifactClient : public Aws::Client::AWSJsonClien return SubmitAsync(&CodeArtifactClient::UpdateRepository, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactClientConfiguration.h b/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactClientConfiguration.h new file mode 100644 index 000000000000..7118d65489ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeArtifact { +struct AWS_CODEARTIFACT_API CodeArtifactClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeArtifactClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeArtifactClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeArtifactClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeArtifactClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadCodeArtifactSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODEARTIFACT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeArtifactClientConfiguration& config); +} // namespace CodeArtifact +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactEndpointProvider.h b/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactEndpointProvider.h index 83ff03e24526..b959112b60bf 100644 --- a/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeArtifact { namespace Endpoint { +using CodeArtifactClientConfiguration = Aws::CodeArtifact::CodeArtifactClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeArtifactClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeArtifactClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeArtifactBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODEARTIFACT_API CodeArtifactBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeArtifactBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeArtifactClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeArtifactClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeArtifactClientConfiguration& config); +}; /** * The type for the CodeArtifact Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeArtifactEndpointProviderBase = using CodeArtifactDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeArtifact + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODEARTIFACT_EXTERN template class AWS_CODEARTIFACT_API Aws::Endpoint::EndpointProviderBase< + CodeArtifact::Endpoint::CodeArtifactClientConfiguration, CodeArtifact::Endpoint::CodeArtifactBuiltInParameters, + CodeArtifact::Endpoint::CodeArtifactClientContextParameters>; + +AWS_CODEARTIFACT_EXTERN template class AWS_CODEARTIFACT_API Aws::Endpoint::BDDEndpointProvider< + CodeArtifact::Endpoint::CodeArtifactClientConfiguration, CodeArtifact::Endpoint::CodeArtifactBuiltInParameters, + CodeArtifact::Endpoint::CodeArtifactClientContextParameters>; +} // namespace Endpoint + +namespace CodeArtifact { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactServiceClientModel.h b/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactServiceClientModel.h index e8f45f0f9b0a..c3ca1e3fe960 100644 --- a/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactServiceClientModel.h @@ -96,7 +96,6 @@ class RetryStrategy; } // namespace Client namespace CodeArtifact { -using CodeArtifactClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeArtifactEndpointProviderBase = Aws::CodeArtifact::Endpoint::CodeArtifactEndpointProviderBase; using CodeArtifactEndpointProvider = Aws::CodeArtifact::Endpoint::CodeArtifactEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactClient.cpp b/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactClient.cpp index 04c0e2c1e399..1aecb840ad05 100644 --- a/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactClient.cpp +++ b/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactClient.cpp @@ -128,43 +128,6 @@ CodeArtifactClient::CodeArtifactClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeArtifactClient::CodeArtifactClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeArtifactClient::CodeArtifactClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeArtifactClient::~CodeArtifactClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeArtifactClient::accessEndpointProvider() { return m_endpointProvider; } @@ -182,12 +145,7 @@ void CodeArtifactClient::init(const CodeArtifact::CodeArtifactClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codeartifact"); -} - -void CodeArtifactClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeArtifactClient::InvokeOperationOutcome CodeArtifactClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactClientConfiguration.cpp new file mode 100644 index 000000000000..5ecd76af3f3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeArtifact { + +void CodeArtifactClientConfiguration::LoadCodeArtifactSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeArtifactClientConfiguration::CodeArtifactClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeArtifactSpecificConfig(this->profileName); +} + +CodeArtifactClientConfiguration::CodeArtifactClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeArtifactSpecificConfig(Aws::String(inputProfileName)); +} + +CodeArtifactClientConfiguration::CodeArtifactClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeArtifactSpecificConfig(this->profileName); +} + +CodeArtifactClientConfiguration::CodeArtifactClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeArtifactSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeArtifactClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace CodeArtifact +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactEndpointProvider.cpp index dff6a948a785..20e2669cb4f9 100644 --- a/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CODEARTIFACT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeArtifact { namespace Endpoint { CodeArtifactEndpointProvider::CodeArtifactEndpointProvider() : CodeArtifactDefaultEpProviderBase(Aws::CodeArtifact::CodeArtifactEndpointRules::GetRulesBlob(), Aws::CodeArtifact::CodeArtifactEndpointRules::RulesBlobSize) {} +void CodeArtifactBuiltInParameters::SetFromClientConfiguration(const CodeArtifactClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeArtifactBuiltInParameters::SetFromClientConfiguration(const CodeArtifactClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeArtifactBuiltInParameters::SetServiceSpecificParameters(const CodeArtifactClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeArtifact } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildClient.h b/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildClient.h index 93d88fb666be..5deff3c04c6a 100644 --- a/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildClient.h +++ b/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildClient.h @@ -62,27 +62,6 @@ class AWS_CODEBUILD_API CodeBuildClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::CodeBuild::CodeBuildClientConfiguration& clientConfiguration = Aws::CodeBuild::CodeBuildClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeBuildClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeBuildClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeBuildClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeBuildClient(); /** @@ -1701,7 +1680,6 @@ class AWS_CODEBUILD_API CodeBuildClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&CodeBuildClient::UpdateWebhook, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildClientConfiguration.h b/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildClientConfiguration.h new file mode 100644 index 000000000000..505ec182a227 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeBuild { +struct AWS_CODEBUILD_API CodeBuildClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeBuildClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeBuildClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeBuildClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeBuildClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodeBuildSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODEBUILD_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeBuildClientConfiguration& config); +} // namespace CodeBuild +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildEndpointProvider.h b/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildEndpointProvider.h index f644a3b6183b..0d4a51c287b0 100644 --- a/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeBuild { namespace Endpoint { +using CodeBuildClientConfiguration = Aws::CodeBuild::CodeBuildClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeBuildClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeBuildClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeBuildBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODEBUILD_API CodeBuildBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeBuildBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeBuildClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeBuildClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeBuildClientConfiguration& config); +}; /** * The type for the CodeBuild Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeBuildEndpointProviderBase = using CodeBuildDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeBuild + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODEBUILD_EXTERN template class AWS_CODEBUILD_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CODEBUILD_EXTERN template class AWS_CODEBUILD_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace CodeBuild { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildServiceClientModel.h b/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildServiceClientModel.h index b0cdec1a033d..e72c4b6f358b 100644 --- a/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildServiceClientModel.h @@ -120,7 +120,6 @@ class RetryStrategy; } // namespace Client namespace CodeBuild { -using CodeBuildClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeBuildEndpointProviderBase = Aws::CodeBuild::Endpoint::CodeBuildEndpointProviderBase; using CodeBuildEndpointProvider = Aws::CodeBuild::Endpoint::CodeBuildEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildClient.cpp b/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildClient.cpp index 7e4397055436..c89dc1a7cbca 100644 --- a/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildClient.cpp +++ b/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildClient.cpp @@ -136,41 +136,6 @@ CodeBuildClient::CodeBuildClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CodeBuildClient::CodeBuildClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeBuildClient::CodeBuildClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeBuildClient::CodeBuildClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeBuildClient::~CodeBuildClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeBuildClient::accessEndpointProvider() { return m_endpointProvider; } @@ -188,12 +153,7 @@ void CodeBuildClient::init(const CodeBuild::CodeBuildClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codebuild"); -} - -void CodeBuildClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeBuildClient::InvokeOperationOutcome CodeBuildClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildClientConfiguration.cpp new file mode 100644 index 000000000000..9ec98fcd1e92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeBuild { + +void CodeBuildClientConfiguration::LoadCodeBuildSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeBuildClientConfiguration::CodeBuildClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeBuildSpecificConfig(this->profileName); +} + +CodeBuildClientConfiguration::CodeBuildClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeBuildSpecificConfig(Aws::String(inputProfileName)); +} + +CodeBuildClientConfiguration::CodeBuildClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeBuildSpecificConfig(this->profileName); +} + +CodeBuildClientConfiguration::CodeBuildClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeBuildSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeBuildClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeBuild +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildEndpointProvider.cpp index b912f796fa23..09370fcdd05a 100644 --- a/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codebuild/source/CodeBuildEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CODEBUILD_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeBuild { namespace Endpoint { CodeBuildEndpointProvider::CodeBuildEndpointProvider() : CodeBuildDefaultEpProviderBase(Aws::CodeBuild::CodeBuildEndpointRules::GetRulesBlob(), Aws::CodeBuild::CodeBuildEndpointRules::RulesBlobSize) {} +void CodeBuildBuiltInParameters::SetFromClientConfiguration(const CodeBuildClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeBuildBuiltInParameters::SetFromClientConfiguration(const CodeBuildClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeBuildBuiltInParameters::SetServiceSpecificParameters(const CodeBuildClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeBuild } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClient.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClient.h index 992bc812f1f8..31c5226fd031 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClient.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClient.h @@ -104,14 +104,6 @@ class AWS_CODECATALYST_API CodeCatalystClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::CodeCatalyst::CodeCatalystClientConfiguration& clientConfiguration = Aws::CodeCatalyst::CodeCatalystClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use BearerTokenAuthSignerProvider, with default http client factory, and optional client config. - */ - CodeCatalystClient(const Aws::Auth::BearerTokenAuthSignerProvider& bearerTokenProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeCatalystClient(); /** @@ -1168,7 +1160,6 @@ class AWS_CODECATALYST_API CodeCatalystClient : public Aws::Client::AWSJsonClien return SubmitAsync(&CodeCatalystClient::VerifySession, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClientConfiguration.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClientConfiguration.h new file mode 100644 index 000000000000..eefc66b970f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeCatalyst { +struct AWS_CODECATALYST_API CodeCatalystClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeCatalystClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeCatalystClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeCatalystClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeCatalystClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadCodeCatalystSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODECATALYST_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeCatalystClientConfiguration& config); +} // namespace CodeCatalyst +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystEndpointProvider.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystEndpointProvider.h index 0e9e3bcf0bd5..dbf95bf39435 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeCatalyst { namespace Endpoint { +using CodeCatalystClientConfiguration = Aws::CodeCatalyst::CodeCatalystClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeCatalystClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeCatalystClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeCatalystBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODECATALYST_API CodeCatalystBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeCatalystBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeCatalystClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeCatalystClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeCatalystClientConfiguration& config); +}; /** * The type for the CodeCatalyst Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeCatalystEndpointProviderBase = using CodeCatalystDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeCatalyst + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODECATALYST_EXTERN template class AWS_CODECATALYST_API Aws::Endpoint::EndpointProviderBase< + CodeCatalyst::Endpoint::CodeCatalystClientConfiguration, CodeCatalyst::Endpoint::CodeCatalystBuiltInParameters, + CodeCatalyst::Endpoint::CodeCatalystClientContextParameters>; + +AWS_CODECATALYST_EXTERN template class AWS_CODECATALYST_API Aws::Endpoint::BDDEndpointProvider< + CodeCatalyst::Endpoint::CodeCatalystClientConfiguration, CodeCatalyst::Endpoint::CodeCatalystBuiltInParameters, + CodeCatalyst::Endpoint::CodeCatalystClientContextParameters>; +} // namespace Endpoint + +namespace CodeCatalyst { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystServiceClientModel.h b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystServiceClientModel.h index 0ec82192e13c..c005a4565617 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystServiceClientModel.h @@ -87,7 +87,6 @@ class RetryStrategy; } // namespace Client namespace CodeCatalyst { -using CodeCatalystClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeCatalystEndpointProviderBase = Aws::CodeCatalyst::Endpoint::CodeCatalystEndpointProviderBase; using CodeCatalystEndpointProvider = Aws::CodeCatalyst::Endpoint::CodeCatalystEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClient.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClient.cpp index 9a69d837ae33..d08b097f376a 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClient.cpp +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClient.cpp @@ -91,17 +91,6 @@ CodeCatalystClient::CodeCatalystClient(const Aws::Auth::BearerTokenAuthSignerPro init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CodeCatalystClient::CodeCatalystClient(const Aws::Auth::BearerTokenAuthSignerProvider& bearerTokenProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, Aws::MakeShared(ALLOCATION_TAG, bearerTokenProvider), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeCatalystClient::~CodeCatalystClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeCatalystClient::accessEndpointProvider() { return m_endpointProvider; } @@ -119,12 +108,7 @@ void CodeCatalystClient::init(const CodeCatalyst::CodeCatalystClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codecatalyst"); -} - -void CodeCatalystClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeCatalystClient::InvokeOperationOutcome CodeCatalystClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClientConfiguration.cpp new file mode 100644 index 000000000000..8e4fa2d653e5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeCatalyst { + +void CodeCatalystClientConfiguration::LoadCodeCatalystSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeCatalystClientConfiguration::CodeCatalystClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeCatalystSpecificConfig(this->profileName); +} + +CodeCatalystClientConfiguration::CodeCatalystClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeCatalystSpecificConfig(Aws::String(inputProfileName)); +} + +CodeCatalystClientConfiguration::CodeCatalystClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeCatalystSpecificConfig(this->profileName); +} + +CodeCatalystClientConfiguration::CodeCatalystClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeCatalystSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeCatalystClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeCatalyst +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystEndpointProvider.cpp index 784dc4301d35..bcbc402db79f 100644 --- a/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_CODECATALYST_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeCatalyst { namespace Endpoint { CodeCatalystEndpointProvider::CodeCatalystEndpointProvider() : CodeCatalystDefaultEpProviderBase(Aws::CodeCatalyst::CodeCatalystEndpointRules::GetRulesBlob(), Aws::CodeCatalyst::CodeCatalystEndpointRules::RulesBlobSize) {} +void CodeCatalystBuiltInParameters::SetFromClientConfiguration(const CodeCatalystClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeCatalystBuiltInParameters::SetFromClientConfiguration(const CodeCatalystClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeCatalystBuiltInParameters::SetServiceSpecificParameters(const CodeCatalystClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace CodeCatalyst } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitClient.h b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitClient.h index 7a46bdca03da..dc6c0f1f0b03 100644 --- a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitClient.h +++ b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitClient.h @@ -218,27 +218,6 @@ class AWS_CODECOMMIT_API CodeCommitClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::CodeCommit::CodeCommitClientConfiguration& clientConfiguration = Aws::CodeCommit::CodeCommitClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeCommitClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeCommitClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeCommitClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeCommitClient(); /** @@ -2593,7 +2572,6 @@ class AWS_CODECOMMIT_API CodeCommitClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&CodeCommitClient::UpdateRepositoryName, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitClientConfiguration.h b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitClientConfiguration.h new file mode 100644 index 000000000000..65e51cc8984d --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeCommit { +struct AWS_CODECOMMIT_API CodeCommitClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeCommitClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeCommitClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeCommitClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeCommitClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodeCommitSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODECOMMIT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeCommitClientConfiguration& config); +} // namespace CodeCommit +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitEndpointProvider.h b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitEndpointProvider.h index 7fbdda79cdae..951def236f61 100644 --- a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeCommit { namespace Endpoint { +using CodeCommitClientConfiguration = Aws::CodeCommit::CodeCommitClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeCommitClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeCommitClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeCommitBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODECOMMIT_API CodeCommitBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeCommitBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeCommitClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeCommitClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeCommitClientConfiguration& config); +}; /** * The type for the CodeCommit Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeCommitEndpointProviderBase = using CodeCommitDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeCommit + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODECOMMIT_EXTERN template class AWS_CODECOMMIT_API Aws::Endpoint::EndpointProviderBase< + CodeCommit::Endpoint::CodeCommitClientConfiguration, CodeCommit::Endpoint::CodeCommitBuiltInParameters, + CodeCommit::Endpoint::CodeCommitClientContextParameters>; + +AWS_CODECOMMIT_EXTERN template class AWS_CODECOMMIT_API Aws::Endpoint::BDDEndpointProvider< + CodeCommit::Endpoint::CodeCommitClientConfiguration, CodeCommit::Endpoint::CodeCommitBuiltInParameters, + CodeCommit::Endpoint::CodeCommitClientContextParameters>; +} // namespace Endpoint + +namespace CodeCommit { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitServiceClientModel.h b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitServiceClientModel.h index c0ef65242e78..01861de08329 100644 --- a/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitServiceClientModel.h @@ -119,7 +119,6 @@ class RetryStrategy; } // namespace Client namespace CodeCommit { -using CodeCommitClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeCommitEndpointProviderBase = Aws::CodeCommit::Endpoint::CodeCommitEndpointProviderBase; using CodeCommitEndpointProvider = Aws::CodeCommit::Endpoint::CodeCommitEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitClient.cpp b/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitClient.cpp index e9db856aee72..ec8d103baa08 100644 --- a/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitClient.cpp +++ b/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitClient.cpp @@ -157,41 +157,6 @@ CodeCommitClient::CodeCommitClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CodeCommitClient::CodeCommitClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeCommitClient::CodeCommitClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeCommitClient::CodeCommitClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeCommitClient::~CodeCommitClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeCommitClient::accessEndpointProvider() { return m_endpointProvider; } @@ -209,12 +174,7 @@ void CodeCommitClient::init(const CodeCommit::CodeCommitClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codecommit"); -} - -void CodeCommitClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeCommitClient::InvokeOperationOutcome CodeCommitClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitClientConfiguration.cpp new file mode 100644 index 000000000000..76ecb2aeff23 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeCommit { + +void CodeCommitClientConfiguration::LoadCodeCommitSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeCommitClientConfiguration::CodeCommitClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeCommitSpecificConfig(this->profileName); +} + +CodeCommitClientConfiguration::CodeCommitClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeCommitSpecificConfig(Aws::String(inputProfileName)); +} + +CodeCommitClientConfiguration::CodeCommitClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeCommitSpecificConfig(this->profileName); +} + +CodeCommitClientConfiguration::CodeCommitClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeCommitSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeCommitClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeCommit +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitEndpointProvider.cpp index da1ad56af3c4..ef6ce0205a32 100644 --- a/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codecommit/source/CodeCommitEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CODECOMMIT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeCommit { namespace Endpoint { CodeCommitEndpointProvider::CodeCommitEndpointProvider() : CodeCommitDefaultEpProviderBase(Aws::CodeCommit::CodeCommitEndpointRules::GetRulesBlob(), Aws::CodeCommit::CodeCommitEndpointRules::RulesBlobSize) {} +void CodeCommitBuiltInParameters::SetFromClientConfiguration(const CodeCommitClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeCommitBuiltInParameters::SetFromClientConfiguration(const CodeCommitClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeCommitBuiltInParameters::SetServiceSpecificParameters(const CodeCommitClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeCommit } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsClient.h b/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsClient.h index e067841a8ab8..f28e208e03ae 100644 --- a/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsClient.h +++ b/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsClient.h @@ -95,27 +95,6 @@ class AWS_CODECONNECTIONS_API CodeConnectionsClient : public Aws::Client::AWSRpc const Aws::CodeConnections::CodeConnectionsClientConfiguration& clientConfiguration = Aws::CodeConnections::CodeConnectionsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeConnectionsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeConnectionsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeConnectionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeConnectionsClient(); /** @@ -864,7 +843,6 @@ class AWS_CODECONNECTIONS_API CodeConnectionsClient : public Aws::Client::AWSRpc return SubmitAsync(&CodeConnectionsClient::UpdateSyncConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsClientConfiguration.h b/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsClientConfiguration.h new file mode 100644 index 000000000000..90e94ba6657f --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeConnections { +struct AWS_CODECONNECTIONS_API CodeConnectionsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeConnectionsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeConnectionsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeConnectionsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeConnectionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodeConnectionsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODECONNECTIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeConnectionsClientConfiguration& config); +} // namespace CodeConnections +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsEndpointProvider.h b/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsEndpointProvider.h index c4782287f2c0..32799401b40c 100644 --- a/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeConnections { namespace Endpoint { +using CodeConnectionsClientConfiguration = Aws::CodeConnections::CodeConnectionsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeConnectionsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeConnectionsClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeConnectionsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODECONNECTIONS_API CodeConnectionsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeConnectionsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeConnectionsClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeConnectionsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeConnectionsClientConfiguration& config); +}; /** * The type for the CodeConnections Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeConnectionsEndpointProviderBase = using CodeConnectionsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeConnections + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODECONNECTIONS_EXTERN template class AWS_CODECONNECTIONS_API Aws::Endpoint::EndpointProviderBase< + CodeConnections::Endpoint::CodeConnectionsClientConfiguration, CodeConnections::Endpoint::CodeConnectionsBuiltInParameters, + CodeConnections::Endpoint::CodeConnectionsClientContextParameters>; + +AWS_CODECONNECTIONS_EXTERN template class AWS_CODECONNECTIONS_API Aws::Endpoint::BDDEndpointProvider< + CodeConnections::Endpoint::CodeConnectionsClientConfiguration, CodeConnections::Endpoint::CodeConnectionsBuiltInParameters, + CodeConnections::Endpoint::CodeConnectionsClientContextParameters>; +} // namespace Endpoint + +namespace CodeConnections { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsServiceClientModel.h b/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsServiceClientModel.h index a407234786ae..b686f58ac74f 100644 --- a/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace CodeConnections { -using CodeConnectionsClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeConnectionsEndpointProviderBase = Aws::CodeConnections::Endpoint::CodeConnectionsEndpointProviderBase; using CodeConnectionsEndpointProvider = Aws::CodeConnections::Endpoint::CodeConnectionsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsClient.cpp b/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsClient.cpp index dee37e3e7520..ca5ae5f35cd9 100644 --- a/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsClient.cpp +++ b/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsClient.cpp @@ -108,41 +108,6 @@ CodeConnectionsClient::CodeConnectionsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeConnectionsClient::CodeConnectionsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeConnectionsClient::CodeConnectionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeConnectionsClient::~CodeConnectionsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeConnectionsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -160,12 +125,7 @@ void CodeConnectionsClient::init(const CodeConnections::CodeConnectionsClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codeconnections"); -} - -void CodeConnectionsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeConnectionsClient::InvokeOperationOutcome CodeConnectionsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsClientConfiguration.cpp new file mode 100644 index 000000000000..baa4a73abe5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeConnections { + +void CodeConnectionsClientConfiguration::LoadCodeConnectionsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeConnectionsClientConfiguration::CodeConnectionsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeConnectionsSpecificConfig(this->profileName); +} + +CodeConnectionsClientConfiguration::CodeConnectionsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeConnectionsSpecificConfig(Aws::String(inputProfileName)); +} + +CodeConnectionsClientConfiguration::CodeConnectionsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeConnectionsSpecificConfig(this->profileName); +} + +CodeConnectionsClientConfiguration::CodeConnectionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeConnectionsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeConnectionsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeConnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsEndpointProvider.cpp index b9b7d5e9ffe6..864be03f34f4 100644 --- a/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CODECONNECTIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeConnections { namespace Endpoint { CodeConnectionsEndpointProvider::CodeConnectionsEndpointProvider() : CodeConnectionsDefaultEpProviderBase(Aws::CodeConnections::CodeConnectionsEndpointRules::GetRulesBlob(), Aws::CodeConnections::CodeConnectionsEndpointRules::RulesBlobSize) {} +void CodeConnectionsBuiltInParameters::SetFromClientConfiguration(const CodeConnectionsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeConnectionsBuiltInParameters::SetFromClientConfiguration(const CodeConnectionsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeConnectionsBuiltInParameters::SetServiceSpecificParameters(const CodeConnectionsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeConnections } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployClient.h b/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployClient.h index 8b54192fdcd1..c5ade8d3f45f 100644 --- a/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployClient.h +++ b/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployClient.h @@ -109,27 +109,6 @@ class AWS_CODEDEPLOY_API CodeDeployClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::CodeDeploy::CodeDeployClientConfiguration& clientConfiguration = Aws::CodeDeploy::CodeDeployClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeDeployClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeDeployClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeDeployClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeDeployClient(); /** @@ -1360,7 +1339,6 @@ class AWS_CODEDEPLOY_API CodeDeployClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&CodeDeployClient::UpdateDeploymentGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployClientConfiguration.h b/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployClientConfiguration.h new file mode 100644 index 000000000000..d2f90286b10b --- /dev/null +++ b/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeDeploy { +struct AWS_CODEDEPLOY_API CodeDeployClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeDeployClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeDeployClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeDeployClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeDeployClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodeDeploySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODEDEPLOY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeDeployClientConfiguration& config); +} // namespace CodeDeploy +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployEndpointProvider.h b/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployEndpointProvider.h index 8e70cd5ce6fc..d781b904a363 100644 --- a/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeDeploy { namespace Endpoint { +using CodeDeployClientConfiguration = Aws::CodeDeploy::CodeDeployClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeDeployClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeDeployClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeDeployBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODEDEPLOY_API CodeDeployBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeDeployBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeDeployClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeDeployClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeDeployClientConfiguration& config); +}; /** * The type for the CodeDeploy Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeDeployEndpointProviderBase = using CodeDeployDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeDeploy + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODEDEPLOY_EXTERN template class AWS_CODEDEPLOY_API Aws::Endpoint::EndpointProviderBase< + CodeDeploy::Endpoint::CodeDeployClientConfiguration, CodeDeploy::Endpoint::CodeDeployBuiltInParameters, + CodeDeploy::Endpoint::CodeDeployClientContextParameters>; + +AWS_CODEDEPLOY_EXTERN template class AWS_CODEDEPLOY_API Aws::Endpoint::BDDEndpointProvider< + CodeDeploy::Endpoint::CodeDeployClientConfiguration, CodeDeploy::Endpoint::CodeDeployBuiltInParameters, + CodeDeploy::Endpoint::CodeDeployClientContextParameters>; +} // namespace Endpoint + +namespace CodeDeploy { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployServiceClientModel.h b/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployServiceClientModel.h index bc8c4e70c6a1..0f43a27e2b6a 100644 --- a/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployServiceClientModel.h @@ -91,7 +91,6 @@ class RetryStrategy; } // namespace Client namespace CodeDeploy { -using CodeDeployClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeDeployEndpointProviderBase = Aws::CodeDeploy::Endpoint::CodeDeployEndpointProviderBase; using CodeDeployEndpointProvider = Aws::CodeDeploy::Endpoint::CodeDeployEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployClient.cpp b/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployClient.cpp index 8be193b7b88d..d3e3eb0b78ec 100644 --- a/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployClient.cpp +++ b/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployClient.cpp @@ -120,41 +120,6 @@ CodeDeployClient::CodeDeployClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CodeDeployClient::CodeDeployClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeDeployClient::CodeDeployClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeDeployClient::CodeDeployClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeDeployClient::~CodeDeployClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeDeployClient::accessEndpointProvider() { return m_endpointProvider; } @@ -172,12 +137,7 @@ void CodeDeployClient::init(const CodeDeploy::CodeDeployClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codedeploy"); -} - -void CodeDeployClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeDeployClient::InvokeOperationOutcome CodeDeployClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployClientConfiguration.cpp new file mode 100644 index 000000000000..afba33f258df --- /dev/null +++ b/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeDeploy { + +void CodeDeployClientConfiguration::LoadCodeDeploySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeDeployClientConfiguration::CodeDeployClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeDeploySpecificConfig(this->profileName); +} + +CodeDeployClientConfiguration::CodeDeployClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeDeploySpecificConfig(Aws::String(inputProfileName)); +} + +CodeDeployClientConfiguration::CodeDeployClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeDeploySpecificConfig(this->profileName); +} + +CodeDeployClientConfiguration::CodeDeployClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeDeploySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeDeployClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeDeploy +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployEndpointProvider.cpp index 22a1dec1158e..a854f4df907a 100644 --- a/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CODEDEPLOY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeDeploy { namespace Endpoint { CodeDeployEndpointProvider::CodeDeployEndpointProvider() : CodeDeployDefaultEpProviderBase(Aws::CodeDeploy::CodeDeployEndpointRules::GetRulesBlob(), Aws::CodeDeploy::CodeDeployEndpointRules::RulesBlobSize) {} +void CodeDeployBuiltInParameters::SetFromClientConfiguration(const CodeDeployClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeDeployBuiltInParameters::SetFromClientConfiguration(const CodeDeployClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeDeployBuiltInParameters::SetServiceSpecificParameters(const CodeDeployClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeDeploy } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerClient.h b/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerClient.h index cf21407e2e47..e67129c342e2 100644 --- a/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerClient.h +++ b/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerClient.h @@ -71,27 +71,6 @@ class AWS_CODEGURUREVIEWER_API CodeGuruReviewerClient : public Aws::Client::AWSJ const Aws::CodeGuruReviewer::CodeGuruReviewerClientConfiguration& clientConfiguration = Aws::CodeGuruReviewer::CodeGuruReviewerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeGuruReviewerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeGuruReviewerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeGuruReviewerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeGuruReviewerClient(); /** @@ -521,7 +500,6 @@ class AWS_CODEGURUREVIEWER_API CodeGuruReviewerClient : public Aws::Client::AWSJ return SubmitAsync(&CodeGuruReviewerClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerClientConfiguration.h b/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerClientConfiguration.h new file mode 100644 index 000000000000..c09a8d11e43b --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeGuruReviewer { +struct AWS_CODEGURUREVIEWER_API CodeGuruReviewerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeGuruReviewerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeGuruReviewerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeGuruReviewerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeGuruReviewerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodeGuruReviewerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODEGURUREVIEWER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeGuruReviewerClientConfiguration& config); +} // namespace CodeGuruReviewer +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerEndpointProvider.h b/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerEndpointProvider.h index c5f533abe8ab..904404f6ec0a 100644 --- a/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeGuruReviewer { namespace Endpoint { +using CodeGuruReviewerClientConfiguration = Aws::CodeGuruReviewer::CodeGuruReviewerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeGuruReviewerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeGuruReviewerClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeGuruReviewerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODEGURUREVIEWER_API CodeGuruReviewerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeGuruReviewerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeGuruReviewerClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeGuruReviewerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeGuruReviewerClientConfiguration& config); +}; /** * The type for the CodeGuruReviewer Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeGuruReviewerEndpointProviderBase = using CodeGuruReviewerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeGuruReviewer + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODEGURUREVIEWER_EXTERN template class AWS_CODEGURUREVIEWER_API Aws::Endpoint::EndpointProviderBase< + CodeGuruReviewer::Endpoint::CodeGuruReviewerClientConfiguration, CodeGuruReviewer::Endpoint::CodeGuruReviewerBuiltInParameters, + CodeGuruReviewer::Endpoint::CodeGuruReviewerClientContextParameters>; + +AWS_CODEGURUREVIEWER_EXTERN template class AWS_CODEGURUREVIEWER_API Aws::Endpoint::BDDEndpointProvider< + CodeGuruReviewer::Endpoint::CodeGuruReviewerClientConfiguration, CodeGuruReviewer::Endpoint::CodeGuruReviewerBuiltInParameters, + CodeGuruReviewer::Endpoint::CodeGuruReviewerClientContextParameters>; +} // namespace Endpoint + +namespace CodeGuruReviewer { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerServiceClientModel.h b/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerServiceClientModel.h index 466a3f060dc2..a2f46cb13c3f 100644 --- a/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace CodeGuruReviewer { -using CodeGuruReviewerClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeGuruReviewerEndpointProviderBase = Aws::CodeGuruReviewer::Endpoint::CodeGuruReviewerEndpointProviderBase; using CodeGuruReviewerEndpointProvider = Aws::CodeGuruReviewer::Endpoint::CodeGuruReviewerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerClient.cpp b/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerClient.cpp index 3f5b20a1bd0c..c4a3293c6011 100644 --- a/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerClient.cpp +++ b/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerClient.cpp @@ -95,42 +95,6 @@ CodeGuruReviewerClient::CodeGuruReviewerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeGuruReviewerClient::CodeGuruReviewerClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeGuruReviewerClient::CodeGuruReviewerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeGuruReviewerClient::~CodeGuruReviewerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeGuruReviewerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +112,7 @@ void CodeGuruReviewerClient::init(const CodeGuruReviewer::CodeGuruReviewerClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codeguru-reviewer"); -} - -void CodeGuruReviewerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeGuruReviewerClient::InvokeOperationOutcome CodeGuruReviewerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerClientConfiguration.cpp new file mode 100644 index 000000000000..cb01cdcdde3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeGuruReviewer { + +void CodeGuruReviewerClientConfiguration::LoadCodeGuruReviewerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeGuruReviewerClientConfiguration::CodeGuruReviewerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeGuruReviewerSpecificConfig(this->profileName); +} + +CodeGuruReviewerClientConfiguration::CodeGuruReviewerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeGuruReviewerSpecificConfig(Aws::String(inputProfileName)); +} + +CodeGuruReviewerClientConfiguration::CodeGuruReviewerClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeGuruReviewerSpecificConfig(this->profileName); +} + +CodeGuruReviewerClientConfiguration::CodeGuruReviewerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeGuruReviewerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeGuruReviewerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeGuruReviewer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerEndpointProvider.cpp index 94daa17eb448..10fdc42ce93c 100644 --- a/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CODEGURUREVIEWER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeGuruReviewer { namespace Endpoint { CodeGuruReviewerEndpointProvider::CodeGuruReviewerEndpointProvider() : CodeGuruReviewerDefaultEpProviderBase(Aws::CodeGuruReviewer::CodeGuruReviewerEndpointRules::GetRulesBlob(), Aws::CodeGuruReviewer::CodeGuruReviewerEndpointRules::RulesBlobSize) {} +void CodeGuruReviewerBuiltInParameters::SetFromClientConfiguration(const CodeGuruReviewerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeGuruReviewerBuiltInParameters::SetFromClientConfiguration(const CodeGuruReviewerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeGuruReviewerBuiltInParameters::SetServiceSpecificParameters(const CodeGuruReviewerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeGuruReviewer } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityClient.h b/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityClient.h index 8b5c193c6c1c..84e5a1cdee81 100644 --- a/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityClient.h +++ b/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityClient.h @@ -69,27 +69,6 @@ class AWS_CODEGURUSECURITY_API CodeGuruSecurityClient : public Aws::Client::AWSJ const Aws::CodeGuruSecurity::CodeGuruSecurityClientConfiguration& clientConfiguration = Aws::CodeGuruSecurity::CodeGuruSecurityClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeGuruSecurityClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeGuruSecurityClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeGuruSecurityClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeGuruSecurityClient(); /** @@ -445,7 +424,6 @@ class AWS_CODEGURUSECURITY_API CodeGuruSecurityClient : public Aws::Client::AWSJ return SubmitAsync(&CodeGuruSecurityClient::UpdateAccountConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityClientConfiguration.h b/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityClientConfiguration.h new file mode 100644 index 000000000000..ce06b6a4fed0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeGuruSecurity { +struct AWS_CODEGURUSECURITY_API CodeGuruSecurityClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeGuruSecurityClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeGuruSecurityClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeGuruSecurityClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeGuruSecurityClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodeGuruSecuritySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODEGURUSECURITY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeGuruSecurityClientConfiguration& config); +} // namespace CodeGuruSecurity +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityEndpointProvider.h b/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityEndpointProvider.h index eef6cad19323..f520c1f60b96 100644 --- a/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeGuruSecurity { namespace Endpoint { +using CodeGuruSecurityClientConfiguration = Aws::CodeGuruSecurity::CodeGuruSecurityClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeGuruSecurityClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeGuruSecurityClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeGuruSecurityBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODEGURUSECURITY_API CodeGuruSecurityBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeGuruSecurityBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeGuruSecurityClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeGuruSecurityClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeGuruSecurityClientConfiguration& config); +}; /** * The type for the CodeGuruSecurity Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeGuruSecurityEndpointProviderBase = using CodeGuruSecurityDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeGuruSecurity + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODEGURUSECURITY_EXTERN template class AWS_CODEGURUSECURITY_API Aws::Endpoint::EndpointProviderBase< + CodeGuruSecurity::Endpoint::CodeGuruSecurityClientConfiguration, CodeGuruSecurity::Endpoint::CodeGuruSecurityBuiltInParameters, + CodeGuruSecurity::Endpoint::CodeGuruSecurityClientContextParameters>; + +AWS_CODEGURUSECURITY_EXTERN template class AWS_CODEGURUSECURITY_API Aws::Endpoint::BDDEndpointProvider< + CodeGuruSecurity::Endpoint::CodeGuruSecurityClientConfiguration, CodeGuruSecurity::Endpoint::CodeGuruSecurityBuiltInParameters, + CodeGuruSecurity::Endpoint::CodeGuruSecurityClientContextParameters>; +} // namespace Endpoint + +namespace CodeGuruSecurity { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityServiceClientModel.h b/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityServiceClientModel.h index 7d2d7dea2fba..d5dcdb4c22b1 100644 --- a/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace CodeGuruSecurity { -using CodeGuruSecurityClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeGuruSecurityEndpointProviderBase = Aws::CodeGuruSecurity::Endpoint::CodeGuruSecurityEndpointProviderBase; using CodeGuruSecurityEndpointProvider = Aws::CodeGuruSecurity::Endpoint::CodeGuruSecurityEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityClient.cpp b/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityClient.cpp index 8b3c95768fd3..ce4b29c7e375 100644 --- a/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityClient.cpp +++ b/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityClient.cpp @@ -94,42 +94,6 @@ CodeGuruSecurityClient::CodeGuruSecurityClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeGuruSecurityClient::CodeGuruSecurityClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeGuruSecurityClient::CodeGuruSecurityClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeGuruSecurityClient::~CodeGuruSecurityClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeGuruSecurityClient::accessEndpointProvider() { return m_endpointProvider; } @@ -147,12 +111,7 @@ void CodeGuruSecurityClient::init(const CodeGuruSecurity::CodeGuruSecurityClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codeguru-security"); -} - -void CodeGuruSecurityClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeGuruSecurityClient::InvokeOperationOutcome CodeGuruSecurityClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityClientConfiguration.cpp new file mode 100644 index 000000000000..a7bd1719a3c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeGuruSecurity { + +void CodeGuruSecurityClientConfiguration::LoadCodeGuruSecuritySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeGuruSecurityClientConfiguration::CodeGuruSecurityClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeGuruSecuritySpecificConfig(this->profileName); +} + +CodeGuruSecurityClientConfiguration::CodeGuruSecurityClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeGuruSecuritySpecificConfig(Aws::String(inputProfileName)); +} + +CodeGuruSecurityClientConfiguration::CodeGuruSecurityClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeGuruSecuritySpecificConfig(this->profileName); +} + +CodeGuruSecurityClientConfiguration::CodeGuruSecurityClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeGuruSecuritySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeGuruSecurityClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeGuruSecurity +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityEndpointProvider.cpp index f91487b8dc87..d4a373b742eb 100644 --- a/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CODEGURUSECURITY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeGuruSecurity { namespace Endpoint { CodeGuruSecurityEndpointProvider::CodeGuruSecurityEndpointProvider() : CodeGuruSecurityDefaultEpProviderBase(Aws::CodeGuruSecurity::CodeGuruSecurityEndpointRules::GetRulesBlob(), Aws::CodeGuruSecurity::CodeGuruSecurityEndpointRules::RulesBlobSize) {} +void CodeGuruSecurityBuiltInParameters::SetFromClientConfiguration(const CodeGuruSecurityClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeGuruSecurityBuiltInParameters::SetFromClientConfiguration(const CodeGuruSecurityClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeGuruSecurityBuiltInParameters::SetServiceSpecificParameters(const CodeGuruSecurityClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeGuruSecurity } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerClient.h b/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerClient.h index 18972ef9fbcf..10519c90de8e 100644 --- a/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerClient.h +++ b/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerClient.h @@ -72,27 +72,6 @@ class AWS_CODEGURUPROFILER_API CodeGuruProfilerClient : public Aws::Client::AWSJ const Aws::CodeGuruProfiler::CodeGuruProfilerClientConfiguration& clientConfiguration = Aws::CodeGuruProfiler::CodeGuruProfilerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeGuruProfilerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeGuruProfilerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeGuruProfilerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeGuruProfilerClient(); /** @@ -801,7 +780,6 @@ class AWS_CODEGURUPROFILER_API CodeGuruProfilerClient : public Aws::Client::AWSJ return SubmitAsync(&CodeGuruProfilerClient::UpdateProfilingGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerClientConfiguration.h b/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerClientConfiguration.h new file mode 100644 index 000000000000..f74c750b1023 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeGuruProfiler { +struct AWS_CODEGURUPROFILER_API CodeGuruProfilerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeGuruProfilerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeGuruProfilerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeGuruProfilerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeGuruProfilerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadCodeGuruProfilerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODEGURUPROFILER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeGuruProfilerClientConfiguration& config); +} // namespace CodeGuruProfiler +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerEndpointProvider.h b/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerEndpointProvider.h index 75f6d867bc0b..ee4c2e46084f 100644 --- a/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeGuruProfiler { namespace Endpoint { +using CodeGuruProfilerClientConfiguration = Aws::CodeGuruProfiler::CodeGuruProfilerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeGuruProfilerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeGuruProfilerClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeGuruProfilerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODEGURUPROFILER_API CodeGuruProfilerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeGuruProfilerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeGuruProfilerClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeGuruProfilerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeGuruProfilerClientConfiguration& config); +}; /** * The type for the CodeGuruProfiler Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodeGuruProfilerEndpointProviderBase = using CodeGuruProfilerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeGuruProfiler + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODEGURUPROFILER_EXTERN template class AWS_CODEGURUPROFILER_API Aws::Endpoint::EndpointProviderBase< + CodeGuruProfiler::Endpoint::CodeGuruProfilerClientConfiguration, CodeGuruProfiler::Endpoint::CodeGuruProfilerBuiltInParameters, + CodeGuruProfiler::Endpoint::CodeGuruProfilerClientContextParameters>; + +AWS_CODEGURUPROFILER_EXTERN template class AWS_CODEGURUPROFILER_API Aws::Endpoint::BDDEndpointProvider< + CodeGuruProfiler::Endpoint::CodeGuruProfilerClientConfiguration, CodeGuruProfiler::Endpoint::CodeGuruProfilerBuiltInParameters, + CodeGuruProfiler::Endpoint::CodeGuruProfilerClientContextParameters>; +} // namespace Endpoint + +namespace CodeGuruProfiler { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerServiceClientModel.h b/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerServiceClientModel.h index 2764b5ae782e..c2348f8676ef 100644 --- a/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace CodeGuruProfiler { -using CodeGuruProfilerClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeGuruProfilerEndpointProviderBase = Aws::CodeGuruProfiler::Endpoint::CodeGuruProfilerEndpointProviderBase; using CodeGuruProfilerEndpointProvider = Aws::CodeGuruProfiler::Endpoint::CodeGuruProfilerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerClient.cpp b/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerClient.cpp index 84dec0a4b086..76d6980b40a3 100644 --- a/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerClient.cpp +++ b/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerClient.cpp @@ -106,44 +106,6 @@ CodeGuruProfilerClient::CodeGuruProfilerClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeGuruProfilerClient::CodeGuruProfilerClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeGuruProfilerClient::CodeGuruProfilerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeGuruProfilerClient::~CodeGuruProfilerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeGuruProfilerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -161,12 +123,7 @@ void CodeGuruProfilerClient::init(const CodeGuruProfiler::CodeGuruProfilerClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codeguru-profiler"); -} - -void CodeGuruProfilerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeGuruProfilerClient::InvokeOperationOutcome CodeGuruProfilerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerClientConfiguration.cpp new file mode 100644 index 000000000000..604ea0c54673 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeGuruProfiler { + +void CodeGuruProfilerClientConfiguration::LoadCodeGuruProfilerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeGuruProfilerClientConfiguration::CodeGuruProfilerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeGuruProfilerSpecificConfig(this->profileName); +} + +CodeGuruProfilerClientConfiguration::CodeGuruProfilerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeGuruProfilerSpecificConfig(Aws::String(inputProfileName)); +} + +CodeGuruProfilerClientConfiguration::CodeGuruProfilerClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeGuruProfilerSpecificConfig(this->profileName); +} + +CodeGuruProfilerClientConfiguration::CodeGuruProfilerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeGuruProfilerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeGuruProfilerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace CodeGuruProfiler +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerEndpointProvider.cpp index 3da1572b234e..8d3e7458d008 100644 --- a/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CODEGURUPROFILER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeGuruProfiler { namespace Endpoint { CodeGuruProfilerEndpointProvider::CodeGuruProfilerEndpointProvider() : CodeGuruProfilerDefaultEpProviderBase(Aws::CodeGuruProfiler::CodeGuruProfilerEndpointRules::GetRulesBlob(), Aws::CodeGuruProfiler::CodeGuruProfilerEndpointRules::RulesBlobSize) {} +void CodeGuruProfilerBuiltInParameters::SetFromClientConfiguration(const CodeGuruProfilerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeGuruProfilerBuiltInParameters::SetFromClientConfiguration(const CodeGuruProfilerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeGuruProfilerBuiltInParameters::SetServiceSpecificParameters(const CodeGuruProfilerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeGuruProfiler } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClient.h b/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClient.h index e01da9b3149b..cf0aa43c9812 100644 --- a/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClient.h +++ b/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClient.h @@ -134,27 +134,6 @@ class AWS_CODEPIPELINE_API CodePipelineClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::CodePipeline::CodePipelineClientConfiguration& clientConfiguration = Aws::CodePipeline::CodePipelineClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodePipelineClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodePipelineClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodePipelineClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodePipelineClient(); /** @@ -1438,7 +1417,6 @@ class AWS_CODEPIPELINE_API CodePipelineClient : public Aws::Client::AWSJsonClien return SubmitAsync(&CodePipelineClient::UpdatePipeline, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClientConfiguration.h b/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClientConfiguration.h new file mode 100644 index 000000000000..5623529eaa75 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodePipeline { +struct AWS_CODEPIPELINE_API CodePipelineClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodePipelineClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodePipelineClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodePipelineClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodePipelineClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodePipelineSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODEPIPELINE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodePipelineClientConfiguration& config); +} // namespace CodePipeline +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineEndpointProvider.h b/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineEndpointProvider.h index da2d7b0714dd..789aa939fae6 100644 --- a/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodePipeline { namespace Endpoint { +using CodePipelineClientConfiguration = Aws::CodePipeline::CodePipelineClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodePipelineClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodePipelineClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodePipelineBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODEPIPELINE_API CodePipelineBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodePipelineBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodePipelineClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodePipelineClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodePipelineClientConfiguration& config); +}; /** * The type for the CodePipeline Client Endpoint Provider. @@ -34,6 +43,24 @@ using CodePipelineEndpointProviderBase = using CodePipelineDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodePipeline + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODEPIPELINE_EXTERN template class AWS_CODEPIPELINE_API Aws::Endpoint::EndpointProviderBase< + CodePipeline::Endpoint::CodePipelineClientConfiguration, CodePipeline::Endpoint::CodePipelineBuiltInParameters, + CodePipeline::Endpoint::CodePipelineClientContextParameters>; + +AWS_CODEPIPELINE_EXTERN template class AWS_CODEPIPELINE_API Aws::Endpoint::BDDEndpointProvider< + CodePipeline::Endpoint::CodePipelineClientConfiguration, CodePipeline::Endpoint::CodePipelineBuiltInParameters, + CodePipeline::Endpoint::CodePipelineClientContextParameters>; +} // namespace Endpoint + +namespace CodePipeline { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineServiceClientModel.h b/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineServiceClientModel.h index 27ab5f30b179..1fbdb99e7102 100644 --- a/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineServiceClientModel.h @@ -87,7 +87,6 @@ class RetryStrategy; } // namespace Client namespace CodePipeline { -using CodePipelineClientConfiguration = Aws::Client::GenericClientConfiguration; using CodePipelineEndpointProviderBase = Aws::CodePipeline::Endpoint::CodePipelineEndpointProviderBase; using CodePipelineEndpointProvider = Aws::CodePipeline::Endpoint::CodePipelineEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineClient.cpp b/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineClient.cpp index fdad5c300eab..c410e5e7feb0 100644 --- a/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineClient.cpp +++ b/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineClient.cpp @@ -122,41 +122,6 @@ CodePipelineClient::CodePipelineClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodePipelineClient::CodePipelineClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodePipelineClient::CodePipelineClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodePipelineClient::~CodePipelineClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodePipelineClient::accessEndpointProvider() { return m_endpointProvider; } @@ -174,12 +139,7 @@ void CodePipelineClient::init(const CodePipeline::CodePipelineClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codepipeline"); -} - -void CodePipelineClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodePipelineClient::InvokeOperationOutcome CodePipelineClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineClientConfiguration.cpp new file mode 100644 index 000000000000..e09f8902b789 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodePipeline { + +void CodePipelineClientConfiguration::LoadCodePipelineSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodePipelineClientConfiguration::CodePipelineClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodePipelineSpecificConfig(this->profileName); +} + +CodePipelineClientConfiguration::CodePipelineClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodePipelineSpecificConfig(Aws::String(inputProfileName)); +} + +CodePipelineClientConfiguration::CodePipelineClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodePipelineSpecificConfig(this->profileName); +} + +CodePipelineClientConfiguration::CodePipelineClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodePipelineSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodePipelineClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodePipeline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineEndpointProvider.cpp index 8c3016d3c542..66fc1ffb3c05 100644 --- a/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CODEPIPELINE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodePipeline { namespace Endpoint { CodePipelineEndpointProvider::CodePipelineEndpointProvider() : CodePipelineDefaultEpProviderBase(Aws::CodePipeline::CodePipelineEndpointRules::GetRulesBlob(), Aws::CodePipeline::CodePipelineEndpointRules::RulesBlobSize) {} +void CodePipelineBuiltInParameters::SetFromClientConfiguration(const CodePipelineClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodePipelineBuiltInParameters::SetFromClientConfiguration(const CodePipelineClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodePipelineBuiltInParameters::SetServiceSpecificParameters(const CodePipelineClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodePipeline } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClient.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClient.h index 44df708f2290..4a70d6a6215e 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClient.h +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClient.h @@ -96,27 +96,6 @@ class AWS_CODESTARCONNECTIONS_API CodeStarconnectionsClient : public Aws::Client const Aws::CodeStarconnections::CodeStarconnectionsClientConfiguration& clientConfiguration = Aws::CodeStarconnections::CodeStarconnectionsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeStarconnectionsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeStarconnectionsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeStarconnectionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeStarconnectionsClient(); /** @@ -865,7 +844,6 @@ class AWS_CODESTARCONNECTIONS_API CodeStarconnectionsClient : public Aws::Client return SubmitAsync(&CodeStarconnectionsClient::UpdateSyncConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClientConfiguration.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClientConfiguration.h new file mode 100644 index 000000000000..e0316c92fd2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeStarconnections { +struct AWS_CODESTARCONNECTIONS_API CodeStarconnectionsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeStarconnectionsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeStarconnectionsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeStarconnectionsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeStarconnectionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodeStarconnectionsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODESTARCONNECTIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeStarconnectionsClientConfiguration& config); +} // namespace CodeStarconnections +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsEndpointProvider.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsEndpointProvider.h index 3c9d6e215a28..0646f28359bb 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeStarconnections { namespace Endpoint { +using CodeStarconnectionsClientConfiguration = Aws::CodeStarconnections::CodeStarconnectionsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeStarconnectionsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeStarconnectionsClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeStarconnectionsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODESTARCONNECTIONS_API CodeStarconnectionsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeStarconnectionsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeStarconnectionsClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeStarconnectionsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeStarconnectionsClientConfiguration& config); +}; /** * The type for the CodeStarconnections Client Endpoint Provider. @@ -36,6 +45,26 @@ using CodeStarconnectionsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeStarconnections + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODESTARCONNECTIONS_EXTERN template class AWS_CODESTARCONNECTIONS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CODESTARCONNECTIONS_EXTERN template class AWS_CODESTARCONNECTIONS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace CodeStarconnections { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsServiceClientModel.h b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsServiceClientModel.h index 29051c194778..9dffcfa5e8b8 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace CodeStarconnections { -using CodeStarconnectionsClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeStarconnectionsEndpointProviderBase = Aws::CodeStarconnections::Endpoint::CodeStarconnectionsEndpointProviderBase; using CodeStarconnectionsEndpointProvider = Aws::CodeStarconnections::Endpoint::CodeStarconnectionsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClient.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClient.cpp index d1ba259f1ff9..6221fbcf7767 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClient.cpp +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClient.cpp @@ -108,42 +108,6 @@ CodeStarconnectionsClient::CodeStarconnectionsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeStarconnectionsClient::CodeStarconnectionsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeStarconnectionsClient::CodeStarconnectionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeStarconnectionsClient::~CodeStarconnectionsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeStarconnectionsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -161,12 +125,7 @@ void CodeStarconnectionsClient::init(const CodeStarconnections::CodeStarconnecti AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codestar-connections"); -} - -void CodeStarconnectionsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeStarconnectionsClient::InvokeOperationOutcome CodeStarconnectionsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClientConfiguration.cpp new file mode 100644 index 000000000000..a7c6c7fac0c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeStarconnections { + +void CodeStarconnectionsClientConfiguration::LoadCodeStarconnectionsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeStarconnectionsClientConfiguration::CodeStarconnectionsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeStarconnectionsSpecificConfig(this->profileName); +} + +CodeStarconnectionsClientConfiguration::CodeStarconnectionsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeStarconnectionsSpecificConfig(Aws::String(inputProfileName)); +} + +CodeStarconnectionsClientConfiguration::CodeStarconnectionsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeStarconnectionsSpecificConfig(this->profileName); +} + +CodeStarconnectionsClientConfiguration::CodeStarconnectionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeStarconnectionsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeStarconnectionsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeStarconnections +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsEndpointProvider.cpp index 7387e8b37319..fea5ce3df2fe 100644 --- a/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CODESTARCONNECTIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeStarconnections { namespace Endpoint { CodeStarconnectionsEndpointProvider::CodeStarconnectionsEndpointProvider() : CodeStarconnectionsDefaultEpProviderBase(Aws::CodeStarconnections::CodeStarconnectionsEndpointRules::GetRulesBlob(), Aws::CodeStarconnections::CodeStarconnectionsEndpointRules::RulesBlobSize) {} +void CodeStarconnectionsBuiltInParameters::SetFromClientConfiguration(const CodeStarconnectionsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeStarconnectionsBuiltInParameters::SetFromClientConfiguration(const CodeStarconnectionsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeStarconnectionsBuiltInParameters::SetServiceSpecificParameters(const CodeStarconnectionsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeStarconnections } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsClient.h b/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsClient.h index 0fda59f7fcc8..376f071eccda 100644 --- a/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsClient.h +++ b/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsClient.h @@ -84,27 +84,6 @@ class AWS_CODESTARNOTIFICATIONS_API CodeStarNotificationsClient const Aws::CodeStarNotifications::CodeStarNotificationsClientConfiguration& clientConfiguration = Aws::CodeStarNotifications::CodeStarNotificationsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CodeStarNotificationsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CodeStarNotificationsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CodeStarNotificationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CodeStarNotificationsClient(); /** @@ -466,7 +445,6 @@ class AWS_CODESTARNOTIFICATIONS_API CodeStarNotificationsClient return SubmitAsync(&CodeStarNotificationsClient::UpdateNotificationRule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsClientConfiguration.h b/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsClientConfiguration.h new file mode 100644 index 000000000000..2ada03568b19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CodeStarNotifications { +struct AWS_CODESTARNOTIFICATIONS_API CodeStarNotificationsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CodeStarNotificationsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeStarNotificationsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CodeStarNotificationsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CodeStarNotificationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCodeStarNotificationsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CODESTARNOTIFICATIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const CodeStarNotificationsClientConfiguration& config); +} // namespace CodeStarNotifications +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsEndpointProvider.h b/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsEndpointProvider.h index ada4ef26d86f..345583b28437 100644 --- a/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CodeStarNotifications { namespace Endpoint { +using CodeStarNotificationsClientConfiguration = Aws::CodeStarNotifications::CodeStarNotificationsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CodeStarNotificationsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CodeStarNotificationsClientConfiguration = Aws::Client::GenericClientConfiguration; -using CodeStarNotificationsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CODESTARNOTIFICATIONS_API CodeStarNotificationsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CodeStarNotificationsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CodeStarNotificationsClientConfiguration& config); + virtual void SetFromClientConfiguration(const CodeStarNotificationsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CodeStarNotificationsClientConfiguration& config); +}; /** * The type for the CodeStarNotifications Client Endpoint Provider. @@ -36,6 +45,26 @@ using CodeStarNotificationsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CodeStarNotifications + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CODESTARNOTIFICATIONS_EXTERN template class AWS_CODESTARNOTIFICATIONS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CODESTARNOTIFICATIONS_EXTERN template class AWS_CODESTARNOTIFICATIONS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace CodeStarNotifications { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsServiceClientModel.h b/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsServiceClientModel.h index 4100737643e5..f32b4acee35d 100644 --- a/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsServiceClientModel.h @@ -62,7 +62,6 @@ class RetryStrategy; } // namespace Client namespace CodeStarNotifications { -using CodeStarNotificationsClientConfiguration = Aws::Client::GenericClientConfiguration; using CodeStarNotificationsEndpointProviderBase = Aws::CodeStarNotifications::Endpoint::CodeStarNotificationsEndpointProviderBase; using CodeStarNotificationsEndpointProvider = Aws::CodeStarNotifications::Endpoint::CodeStarNotificationsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsClient.cpp b/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsClient.cpp index a93c522281de..1fbde093f574 100644 --- a/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsClient.cpp +++ b/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsClient.cpp @@ -96,42 +96,6 @@ CodeStarNotificationsClient::CodeStarNotificationsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CodeStarNotificationsClient::CodeStarNotificationsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeStarNotificationsClient::CodeStarNotificationsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CodeStarNotificationsClient::CodeStarNotificationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CodeStarNotificationsClient::~CodeStarNotificationsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CodeStarNotificationsClient::accessEndpointProvider() { @@ -151,12 +115,7 @@ void CodeStarNotificationsClient::init(const CodeStarNotifications::CodeStarNoti AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "codestar-notifications"); -} - -void CodeStarNotificationsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CodeStarNotificationsClient::InvokeOperationOutcome CodeStarNotificationsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsClientConfiguration.cpp new file mode 100644 index 000000000000..d959f309c96a --- /dev/null +++ b/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CodeStarNotifications { + +void CodeStarNotificationsClientConfiguration::LoadCodeStarNotificationsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CodeStarNotificationsClientConfiguration::CodeStarNotificationsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCodeStarNotificationsSpecificConfig(this->profileName); +} + +CodeStarNotificationsClientConfiguration::CodeStarNotificationsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCodeStarNotificationsSpecificConfig(Aws::String(inputProfileName)); +} + +CodeStarNotificationsClientConfiguration::CodeStarNotificationsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCodeStarNotificationsSpecificConfig(this->profileName); +} + +CodeStarNotificationsClientConfiguration::CodeStarNotificationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCodeStarNotificationsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CodeStarNotificationsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CodeStarNotifications +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsEndpointProvider.cpp index 58f268abd2e5..df52f3ef145a 100644 --- a/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CODESTARNOTIFICATIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CodeStarNotifications { namespace Endpoint { CodeStarNotificationsEndpointProvider::CodeStarNotificationsEndpointProvider() : CodeStarNotificationsDefaultEpProviderBase(Aws::CodeStarNotifications::CodeStarNotificationsEndpointRules::GetRulesBlob(), Aws::CodeStarNotifications::CodeStarNotificationsEndpointRules::RulesBlobSize) {} +void CodeStarNotificationsBuiltInParameters::SetFromClientConfiguration(const CodeStarNotificationsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CodeStarNotificationsBuiltInParameters::SetFromClientConfiguration(const CodeStarNotificationsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CodeStarNotificationsBuiltInParameters::SetServiceSpecificParameters(const CodeStarNotificationsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CodeStarNotifications } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityClient.h b/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityClient.h index c0571409713a..3cf75935afc3 100644 --- a/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityClient.h +++ b/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityClient.h @@ -71,27 +71,6 @@ class AWS_COGNITOIDENTITY_API CognitoIdentityClient : public Aws::Client::AWSJso const Aws::CognitoIdentity::CognitoIdentityClientConfiguration& clientConfiguration = Aws::CognitoIdentity::CognitoIdentityClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CognitoIdentityClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CognitoIdentityClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CognitoIdentityClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CognitoIdentityClient(); /** @@ -815,7 +794,6 @@ class AWS_COGNITOIDENTITY_API CognitoIdentityClient : public Aws::Client::AWSJso return SubmitAsync(&CognitoIdentityClient::UpdateIdentityPool, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityClientConfiguration.h b/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityClientConfiguration.h new file mode 100644 index 000000000000..3bfffd4b5b31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CognitoIdentity { +struct AWS_COGNITOIDENTITY_API CognitoIdentityClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CognitoIdentityClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CognitoIdentityClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CognitoIdentityClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CognitoIdentityClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCognitoIdentitySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COGNITOIDENTITY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CognitoIdentityClientConfiguration& config); +} // namespace CognitoIdentity +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityEndpointProvider.h b/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityEndpointProvider.h index 64cad0ceda7d..c5cbd036d47f 100644 --- a/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CognitoIdentity { namespace Endpoint { +using CognitoIdentityClientConfiguration = Aws::CognitoIdentity::CognitoIdentityClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CognitoIdentityClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CognitoIdentityClientConfiguration = Aws::Client::GenericClientConfiguration; -using CognitoIdentityBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COGNITOIDENTITY_API CognitoIdentityBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CognitoIdentityBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CognitoIdentityClientConfiguration& config); + virtual void SetFromClientConfiguration(const CognitoIdentityClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CognitoIdentityClientConfiguration& config); +}; /** * The type for the CognitoIdentity Client Endpoint Provider. @@ -34,6 +43,24 @@ using CognitoIdentityEndpointProviderBase = using CognitoIdentityDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CognitoIdentity + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COGNITOIDENTITY_EXTERN template class AWS_COGNITOIDENTITY_API Aws::Endpoint::EndpointProviderBase< + CognitoIdentity::Endpoint::CognitoIdentityClientConfiguration, CognitoIdentity::Endpoint::CognitoIdentityBuiltInParameters, + CognitoIdentity::Endpoint::CognitoIdentityClientContextParameters>; + +AWS_COGNITOIDENTITY_EXTERN template class AWS_COGNITOIDENTITY_API Aws::Endpoint::BDDEndpointProvider< + CognitoIdentity::Endpoint::CognitoIdentityClientConfiguration, CognitoIdentity::Endpoint::CognitoIdentityBuiltInParameters, + CognitoIdentity::Endpoint::CognitoIdentityClientContextParameters>; +} // namespace Endpoint + +namespace CognitoIdentity { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityServiceClientModel.h b/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityServiceClientModel.h index 823ade4d0ba8..bd73b9cee419 100644 --- a/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityServiceClientModel.h @@ -66,7 +66,6 @@ class RetryStrategy; } // namespace Client namespace CognitoIdentity { -using CognitoIdentityClientConfiguration = Aws::Client::GenericClientConfiguration; using CognitoIdentityEndpointProviderBase = Aws::CognitoIdentity::Endpoint::CognitoIdentityEndpointProviderBase; using CognitoIdentityEndpointProvider = Aws::CognitoIdentity::Endpoint::CognitoIdentityEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityClient.cpp b/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityClient.cpp index 71c5b0c688e7..8e0f4a200975 100644 --- a/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityClient.cpp +++ b/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityClient.cpp @@ -104,41 +104,6 @@ CognitoIdentityClient::CognitoIdentityClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CognitoIdentityClient::CognitoIdentityClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CognitoIdentityClient::CognitoIdentityClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CognitoIdentityClient::~CognitoIdentityClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CognitoIdentityClient::accessEndpointProvider() { return m_endpointProvider; } @@ -156,12 +121,7 @@ void CognitoIdentityClient::init(const CognitoIdentity::CognitoIdentityClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cognito-identity"); -} - -void CognitoIdentityClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CognitoIdentityClient::InvokeOperationOutcome CognitoIdentityClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod, diff --git a/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityClientConfiguration.cpp new file mode 100644 index 000000000000..f5383ac5ed69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CognitoIdentity { + +void CognitoIdentityClientConfiguration::LoadCognitoIdentitySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CognitoIdentityClientConfiguration::CognitoIdentityClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCognitoIdentitySpecificConfig(this->profileName); +} + +CognitoIdentityClientConfiguration::CognitoIdentityClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCognitoIdentitySpecificConfig(Aws::String(inputProfileName)); +} + +CognitoIdentityClientConfiguration::CognitoIdentityClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCognitoIdentitySpecificConfig(this->profileName); +} + +CognitoIdentityClientConfiguration::CognitoIdentityClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCognitoIdentitySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CognitoIdentityClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CognitoIdentity +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityEndpointProvider.cpp index 325050df65ad..b39bc697fc14 100644 --- a/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_COGNITOIDENTITY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CognitoIdentity { namespace Endpoint { CognitoIdentityEndpointProvider::CognitoIdentityEndpointProvider() : CognitoIdentityDefaultEpProviderBase(Aws::CognitoIdentity::CognitoIdentityEndpointRules::GetRulesBlob(), Aws::CognitoIdentity::CognitoIdentityEndpointRules::RulesBlobSize) {} +void CognitoIdentityBuiltInParameters::SetFromClientConfiguration(const CognitoIdentityClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CognitoIdentityBuiltInParameters::SetFromClientConfiguration(const CognitoIdentityClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CognitoIdentityBuiltInParameters::SetServiceSpecificParameters(const CognitoIdentityClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CognitoIdentity } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClient.h b/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClient.h index 9aa17891053b..86c7cc3b0ce1 100644 --- a/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClient.h +++ b/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClient.h @@ -92,27 +92,6 @@ class AWS_COGNITOIDENTITYPROVIDER_API CognitoIdentityProviderClient const Aws::CognitoIdentityProvider::CognitoIdentityProviderClientConfiguration& clientConfiguration = Aws::CognitoIdentityProvider::CognitoIdentityProviderClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CognitoIdentityProviderClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CognitoIdentityProviderClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CognitoIdentityProviderClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CognitoIdentityProviderClient(); /** @@ -5497,7 +5476,6 @@ class AWS_COGNITOIDENTITYPROVIDER_API CognitoIdentityProviderClient return SubmitAsync(&CognitoIdentityProviderClient::VerifyUserAttribute, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClientConfiguration.h b/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClientConfiguration.h new file mode 100644 index 000000000000..23a011cf55e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CognitoIdentityProvider { +struct AWS_COGNITOIDENTITYPROVIDER_API CognitoIdentityProviderClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CognitoIdentityProviderClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CognitoIdentityProviderClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CognitoIdentityProviderClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CognitoIdentityProviderClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCognitoIdentityProviderSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COGNITOIDENTITYPROVIDER_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const CognitoIdentityProviderClientConfiguration& config); +} // namespace CognitoIdentityProvider +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderEndpointProvider.h b/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderEndpointProvider.h index 7a8e2c4f5332..e2017ef8d45f 100644 --- a/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CognitoIdentityProvider { namespace Endpoint { +using CognitoIdentityProviderClientConfiguration = Aws::CognitoIdentityProvider::CognitoIdentityProviderClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CognitoIdentityProviderClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CognitoIdentityProviderClientConfiguration = Aws::Client::GenericClientConfiguration; -using CognitoIdentityProviderBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COGNITOIDENTITYPROVIDER_API CognitoIdentityProviderBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CognitoIdentityProviderBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CognitoIdentityProviderClientConfiguration& config); + virtual void SetFromClientConfiguration(const CognitoIdentityProviderClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CognitoIdentityProviderClientConfiguration& config); +}; /** * The type for the CognitoIdentityProvider Client Endpoint Provider. @@ -36,6 +45,26 @@ using CognitoIdentityProviderDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CognitoIdentityProvider + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COGNITOIDENTITYPROVIDER_EXTERN template class AWS_COGNITOIDENTITYPROVIDER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_COGNITOIDENTITYPROVIDER_EXTERN template class AWS_COGNITOIDENTITYPROVIDER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace CognitoIdentityProvider { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderServiceClientModel.h b/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderServiceClientModel.h index 23ed9e3e44fa..72170b3fd410 100644 --- a/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderServiceClientModel.h @@ -168,7 +168,6 @@ class RetryStrategy; } // namespace Client namespace CognitoIdentityProvider { -using CognitoIdentityProviderClientConfiguration = Aws::Client::GenericClientConfiguration; using CognitoIdentityProviderEndpointProviderBase = Aws::CognitoIdentityProvider::Endpoint::CognitoIdentityProviderEndpointProviderBase; using CognitoIdentityProviderEndpointProvider = Aws::CognitoIdentityProvider::Endpoint::CognitoIdentityProviderEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClient.cpp b/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClient.cpp index e860d22b48a4..313d26f369e2 100644 --- a/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClient.cpp +++ b/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClient.cpp @@ -215,42 +215,6 @@ CognitoIdentityProviderClient::CognitoIdentityProviderClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CognitoIdentityProviderClient::CognitoIdentityProviderClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CognitoIdentityProviderClient::CognitoIdentityProviderClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CognitoIdentityProviderClient::CognitoIdentityProviderClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CognitoIdentityProviderClient::~CognitoIdentityProviderClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CognitoIdentityProviderClient::accessEndpointProvider() { @@ -270,12 +234,7 @@ void CognitoIdentityProviderClient::init(const CognitoIdentityProvider::CognitoI AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cognito-idp"); -} - -void CognitoIdentityProviderClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CognitoIdentityProviderClient::InvokeOperationOutcome CognitoIdentityProviderClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod, const char* signerName) const { diff --git a/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClientConfiguration.cpp new file mode 100644 index 000000000000..49eec8e12abd --- /dev/null +++ b/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CognitoIdentityProvider { + +void CognitoIdentityProviderClientConfiguration::LoadCognitoIdentityProviderSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CognitoIdentityProviderClientConfiguration::CognitoIdentityProviderClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCognitoIdentityProviderSpecificConfig(this->profileName); +} + +CognitoIdentityProviderClientConfiguration::CognitoIdentityProviderClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCognitoIdentityProviderSpecificConfig(Aws::String(inputProfileName)); +} + +CognitoIdentityProviderClientConfiguration::CognitoIdentityProviderClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCognitoIdentityProviderSpecificConfig(this->profileName); +} + +CognitoIdentityProviderClientConfiguration::CognitoIdentityProviderClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCognitoIdentityProviderSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CognitoIdentityProviderClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CognitoIdentityProvider +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderEndpointProvider.cpp index 5d5ac9edea10..7f0f2c2574fd 100644 --- a/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_COGNITOIDENTITYPROVIDER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CognitoIdentityProvider { namespace Endpoint { CognitoIdentityProviderEndpointProvider::CognitoIdentityProviderEndpointProvider() : CognitoIdentityProviderDefaultEpProviderBase(Aws::CognitoIdentityProvider::CognitoIdentityProviderEndpointRules::GetRulesBlob(), Aws::CognitoIdentityProvider::CognitoIdentityProviderEndpointRules::RulesBlobSize) {} +void CognitoIdentityProviderBuiltInParameters::SetFromClientConfiguration(const CognitoIdentityProviderClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CognitoIdentityProviderBuiltInParameters::SetFromClientConfiguration(const CognitoIdentityProviderClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CognitoIdentityProviderBuiltInParameters::SetServiceSpecificParameters(const CognitoIdentityProviderClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CognitoIdentityProvider } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncClient.h b/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncClient.h index d339fbf4d873..d27359b14554 100644 --- a/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncClient.h +++ b/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncClient.h @@ -74,27 +74,6 @@ class AWS_COGNITOSYNC_API CognitoSyncClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::CognitoSync::CognitoSyncClientConfiguration& clientConfiguration = Aws::CognitoSync::CognitoSyncClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CognitoSyncClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CognitoSyncClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CognitoSyncClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CognitoSyncClient(); /** @@ -612,7 +591,6 @@ class AWS_COGNITOSYNC_API CognitoSyncClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&CognitoSyncClient::UpdateRecords, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncClientConfiguration.h b/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncClientConfiguration.h new file mode 100644 index 000000000000..1dcef9594ef5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CognitoSync { +struct AWS_COGNITOSYNC_API CognitoSyncClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CognitoSyncClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CognitoSyncClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CognitoSyncClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CognitoSyncClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCognitoSyncSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COGNITOSYNC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CognitoSyncClientConfiguration& config); +} // namespace CognitoSync +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncEndpointProvider.h b/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncEndpointProvider.h index cf1e4e945316..4d18635ec875 100644 --- a/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace CognitoSync { namespace Endpoint { +using CognitoSyncClientConfiguration = Aws::CognitoSync::CognitoSyncClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CognitoSyncClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CognitoSyncClientConfiguration = Aws::Client::GenericClientConfiguration; -using CognitoSyncBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COGNITOSYNC_API CognitoSyncBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CognitoSyncBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CognitoSyncClientConfiguration& config); + virtual void SetFromClientConfiguration(const CognitoSyncClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CognitoSyncClientConfiguration& config); +}; /** * The type for the CognitoSync Client Endpoint Provider. @@ -34,6 +43,24 @@ using CognitoSyncEndpointProviderBase = using CognitoSyncDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CognitoSync + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COGNITOSYNC_EXTERN template class AWS_COGNITOSYNC_API Aws::Endpoint::EndpointProviderBase< + CognitoSync::Endpoint::CognitoSyncClientConfiguration, CognitoSync::Endpoint::CognitoSyncBuiltInParameters, + CognitoSync::Endpoint::CognitoSyncClientContextParameters>; + +AWS_COGNITOSYNC_EXTERN template class AWS_COGNITOSYNC_API Aws::Endpoint::BDDEndpointProvider< + CognitoSync::Endpoint::CognitoSyncClientConfiguration, CognitoSync::Endpoint::CognitoSyncBuiltInParameters, + CognitoSync::Endpoint::CognitoSyncClientContextParameters>; +} // namespace Endpoint + +namespace CognitoSync { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncServiceClientModel.h b/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncServiceClientModel.h index 67cfa7ca5ab2..82f5d579d5e4 100644 --- a/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncServiceClientModel.h @@ -64,7 +64,6 @@ class RetryStrategy; } // namespace Client namespace CognitoSync { -using CognitoSyncClientConfiguration = Aws::Client::GenericClientConfiguration; using CognitoSyncEndpointProviderBase = Aws::CognitoSync::Endpoint::CognitoSyncEndpointProviderBase; using CognitoSyncEndpointProvider = Aws::CognitoSync::Endpoint::CognitoSyncEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncClient.cpp b/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncClient.cpp index bd76d94814dd..6a8c281ef8c6 100644 --- a/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncClient.cpp +++ b/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncClient.cpp @@ -94,41 +94,6 @@ CognitoSyncClient::CognitoSyncClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CognitoSyncClient::CognitoSyncClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CognitoSyncClient::CognitoSyncClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CognitoSyncClient::~CognitoSyncClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CognitoSyncClient::accessEndpointProvider() { return m_endpointProvider; } @@ -146,12 +111,7 @@ void CognitoSyncClient::init(const CognitoSync::CognitoSyncClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cognito-sync"); -} - -void CognitoSyncClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CognitoSyncClient::InvokeOperationOutcome CognitoSyncClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncClientConfiguration.cpp new file mode 100644 index 000000000000..984b15ab10bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CognitoSync { + +void CognitoSyncClientConfiguration::LoadCognitoSyncSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CognitoSyncClientConfiguration::CognitoSyncClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCognitoSyncSpecificConfig(this->profileName); +} + +CognitoSyncClientConfiguration::CognitoSyncClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCognitoSyncSpecificConfig(Aws::String(inputProfileName)); +} + +CognitoSyncClientConfiguration::CognitoSyncClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCognitoSyncSpecificConfig(this->profileName); +} + +CognitoSyncClientConfiguration::CognitoSyncClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCognitoSyncSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CognitoSyncClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CognitoSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncEndpointProvider.cpp index 12c9d539b607..107a86cd0df0 100644 --- a/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_COGNITOSYNC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CognitoSync { namespace Endpoint { CognitoSyncEndpointProvider::CognitoSyncEndpointProvider() : CognitoSyncDefaultEpProviderBase(Aws::CognitoSync::CognitoSyncEndpointRules::GetRulesBlob(), Aws::CognitoSync::CognitoSyncEndpointRules::RulesBlobSize) {} +void CognitoSyncBuiltInParameters::SetFromClientConfiguration(const CognitoSyncClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CognitoSyncBuiltInParameters::SetFromClientConfiguration(const CognitoSyncClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CognitoSyncBuiltInParameters::SetServiceSpecificParameters(const CognitoSyncClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CognitoSync } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendClient.h b/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendClient.h index 4c494a4050ef..5da9c6eaa063 100644 --- a/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendClient.h +++ b/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendClient.h @@ -58,27 +58,6 @@ class AWS_COMPREHEND_API ComprehendClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Comprehend::ComprehendClientConfiguration& clientConfiguration = Aws::Comprehend::ComprehendClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ComprehendClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ComprehendClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ComprehendClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ComprehendClient(); /** @@ -2688,7 +2667,6 @@ class AWS_COMPREHEND_API ComprehendClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ComprehendClient::UpdateFlywheel, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendClientConfiguration.h b/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendClientConfiguration.h new file mode 100644 index 000000000000..13976b22db92 --- /dev/null +++ b/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Comprehend { +struct AWS_COMPREHEND_API ComprehendClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ComprehendClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ComprehendClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ComprehendClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ComprehendClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadComprehendSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COMPREHEND_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ComprehendClientConfiguration& config); +} // namespace Comprehend +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendEndpointProvider.h b/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendEndpointProvider.h index 75fb02610fd3..9ab619f6a68f 100644 --- a/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Comprehend { namespace Endpoint { +using ComprehendClientConfiguration = Aws::Comprehend::ComprehendClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ComprehendClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ComprehendClientConfiguration = Aws::Client::GenericClientConfiguration; -using ComprehendBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COMPREHEND_API ComprehendBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ComprehendBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ComprehendClientConfiguration& config); + virtual void SetFromClientConfiguration(const ComprehendClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ComprehendClientConfiguration& config); +}; /** * The type for the Comprehend Client Endpoint Provider. @@ -34,6 +43,24 @@ using ComprehendEndpointProviderBase = using ComprehendDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Comprehend + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COMPREHEND_EXTERN template class AWS_COMPREHEND_API Aws::Endpoint::EndpointProviderBase< + Comprehend::Endpoint::ComprehendClientConfiguration, Comprehend::Endpoint::ComprehendBuiltInParameters, + Comprehend::Endpoint::ComprehendClientContextParameters>; + +AWS_COMPREHEND_EXTERN template class AWS_COMPREHEND_API Aws::Endpoint::BDDEndpointProvider< + Comprehend::Endpoint::ComprehendClientConfiguration, Comprehend::Endpoint::ComprehendBuiltInParameters, + Comprehend::Endpoint::ComprehendClientContextParameters>; +} // namespace Endpoint + +namespace Comprehend { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendServiceClientModel.h b/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendServiceClientModel.h index 2f0d4a8d62d0..48697d14430b 100644 --- a/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendServiceClientModel.h @@ -148,7 +148,6 @@ class RetryStrategy; } // namespace Client namespace Comprehend { -using ComprehendClientConfiguration = Aws::Client::GenericClientConfiguration; using ComprehendEndpointProviderBase = Aws::Comprehend::Endpoint::ComprehendEndpointProviderBase; using ComprehendEndpointProvider = Aws::Comprehend::Endpoint::ComprehendEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-comprehend/source/ComprehendClient.cpp b/generated/src/aws-cpp-sdk-comprehend/source/ComprehendClient.cpp index d22ed149f78a..38ae72ff3b64 100644 --- a/generated/src/aws-cpp-sdk-comprehend/source/ComprehendClient.cpp +++ b/generated/src/aws-cpp-sdk-comprehend/source/ComprehendClient.cpp @@ -162,41 +162,6 @@ ComprehendClient::ComprehendClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ComprehendClient::ComprehendClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ComprehendClient::ComprehendClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ComprehendClient::ComprehendClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ComprehendClient::~ComprehendClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ComprehendClient::accessEndpointProvider() { return m_endpointProvider; } @@ -214,12 +179,7 @@ void ComprehendClient::init(const Comprehend::ComprehendClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "comprehend"); -} - -void ComprehendClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ComprehendClient::InvokeOperationOutcome ComprehendClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-comprehend/source/ComprehendClientConfiguration.cpp b/generated/src/aws-cpp-sdk-comprehend/source/ComprehendClientConfiguration.cpp new file mode 100644 index 000000000000..67c790055ffb --- /dev/null +++ b/generated/src/aws-cpp-sdk-comprehend/source/ComprehendClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Comprehend { + +void ComprehendClientConfiguration::LoadComprehendSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ComprehendClientConfiguration::ComprehendClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadComprehendSpecificConfig(this->profileName); +} + +ComprehendClientConfiguration::ComprehendClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadComprehendSpecificConfig(Aws::String(inputProfileName)); +} + +ComprehendClientConfiguration::ComprehendClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadComprehendSpecificConfig(this->profileName); +} + +ComprehendClientConfiguration::ComprehendClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadComprehendSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ComprehendClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Comprehend +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-comprehend/source/ComprehendEndpointProvider.cpp b/generated/src/aws-cpp-sdk-comprehend/source/ComprehendEndpointProvider.cpp index d9f4d37a083e..5f0ef61cf848 100644 --- a/generated/src/aws-cpp-sdk-comprehend/source/ComprehendEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-comprehend/source/ComprehendEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_COMPREHEND_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Comprehend { namespace Endpoint { ComprehendEndpointProvider::ComprehendEndpointProvider() : ComprehendDefaultEpProviderBase(Aws::Comprehend::ComprehendEndpointRules::GetRulesBlob(), Aws::Comprehend::ComprehendEndpointRules::RulesBlobSize) {} +void ComprehendBuiltInParameters::SetFromClientConfiguration(const ComprehendClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ComprehendBuiltInParameters::SetFromClientConfiguration(const ComprehendClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ComprehendBuiltInParameters::SetServiceSpecificParameters(const ComprehendClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Comprehend } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalClient.h b/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalClient.h index dd5a6f29849d..1791dec531f6 100644 --- a/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalClient.h +++ b/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalClient.h @@ -62,27 +62,6 @@ class AWS_COMPREHENDMEDICAL_API ComprehendMedicalClient : public Aws::Client::AW const Aws::ComprehendMedical::ComprehendMedicalClientConfiguration& clientConfiguration = Aws::ComprehendMedical::ComprehendMedicalClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ComprehendMedicalClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ComprehendMedicalClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ComprehendMedicalClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ComprehendMedicalClient(); /** @@ -815,7 +794,6 @@ class AWS_COMPREHENDMEDICAL_API ComprehendMedicalClient : public Aws::Client::AW return SubmitAsync(&ComprehendMedicalClient::StopSNOMEDCTInferenceJob, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalClientConfiguration.h b/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalClientConfiguration.h new file mode 100644 index 000000000000..d4af6a8650c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ComprehendMedical { +struct AWS_COMPREHENDMEDICAL_API ComprehendMedicalClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ComprehendMedicalClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ComprehendMedicalClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ComprehendMedicalClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ComprehendMedicalClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadComprehendMedicalSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COMPREHENDMEDICAL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ComprehendMedicalClientConfiguration& config); +} // namespace ComprehendMedical +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalEndpointProvider.h b/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalEndpointProvider.h index 927fb59ada7a..2a6d31c19b8c 100644 --- a/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ComprehendMedical { namespace Endpoint { +using ComprehendMedicalClientConfiguration = Aws::ComprehendMedical::ComprehendMedicalClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ComprehendMedicalClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ComprehendMedicalClientConfiguration = Aws::Client::GenericClientConfiguration; -using ComprehendMedicalBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COMPREHENDMEDICAL_API ComprehendMedicalBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ComprehendMedicalBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ComprehendMedicalClientConfiguration& config); + virtual void SetFromClientConfiguration(const ComprehendMedicalClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ComprehendMedicalClientConfiguration& config); +}; /** * The type for the ComprehendMedical Client Endpoint Provider. @@ -34,6 +43,24 @@ using ComprehendMedicalEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace ComprehendMedical + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COMPREHENDMEDICAL_EXTERN template class AWS_COMPREHENDMEDICAL_API Aws::Endpoint::EndpointProviderBase< + ComprehendMedical::Endpoint::ComprehendMedicalClientConfiguration, ComprehendMedical::Endpoint::ComprehendMedicalBuiltInParameters, + ComprehendMedical::Endpoint::ComprehendMedicalClientContextParameters>; + +AWS_COMPREHENDMEDICAL_EXTERN template class AWS_COMPREHENDMEDICAL_API Aws::Endpoint::BDDEndpointProvider< + ComprehendMedical::Endpoint::ComprehendMedicalClientConfiguration, ComprehendMedical::Endpoint::ComprehendMedicalBuiltInParameters, + ComprehendMedical::Endpoint::ComprehendMedicalClientContextParameters>; +} // namespace Endpoint + +namespace ComprehendMedical { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalServiceClientModel.h b/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalServiceClientModel.h index 43764fe6cbcd..6440c029f735 100644 --- a/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace ComprehendMedical { -using ComprehendMedicalClientConfiguration = Aws::Client::GenericClientConfiguration; using ComprehendMedicalEndpointProviderBase = Aws::ComprehendMedical::Endpoint::ComprehendMedicalEndpointProviderBase; using ComprehendMedicalEndpointProvider = Aws::ComprehendMedical::Endpoint::ComprehendMedicalEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalClient.cpp b/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalClient.cpp index 0d444b1e88bc..afb85dfd7c71 100644 --- a/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalClient.cpp +++ b/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalClient.cpp @@ -106,42 +106,6 @@ ComprehendMedicalClient::ComprehendMedicalClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ComprehendMedicalClient::ComprehendMedicalClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ComprehendMedicalClient::ComprehendMedicalClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ComprehendMedicalClient::~ComprehendMedicalClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ComprehendMedicalClient::accessEndpointProvider() { return m_endpointProvider; } @@ -159,12 +123,7 @@ void ComprehendMedicalClient::init(const ComprehendMedical::ComprehendMedicalCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "comprehendmedical"); -} - -void ComprehendMedicalClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ComprehendMedicalClient::InvokeOperationOutcome ComprehendMedicalClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalClientConfiguration.cpp b/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalClientConfiguration.cpp new file mode 100644 index 000000000000..ccab259b4233 --- /dev/null +++ b/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ComprehendMedical { + +void ComprehendMedicalClientConfiguration::LoadComprehendMedicalSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ComprehendMedicalClientConfiguration::ComprehendMedicalClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadComprehendMedicalSpecificConfig(this->profileName); +} + +ComprehendMedicalClientConfiguration::ComprehendMedicalClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadComprehendMedicalSpecificConfig(Aws::String(inputProfileName)); +} + +ComprehendMedicalClientConfiguration::ComprehendMedicalClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadComprehendMedicalSpecificConfig(this->profileName); +} + +ComprehendMedicalClientConfiguration::ComprehendMedicalClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadComprehendMedicalSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ComprehendMedicalClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ComprehendMedical +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalEndpointProvider.cpp b/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalEndpointProvider.cpp index 975f54f1929d..6a0894aff963 100644 --- a/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_COMPREHENDMEDICAL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ComprehendMedical { namespace Endpoint { ComprehendMedicalEndpointProvider::ComprehendMedicalEndpointProvider() : ComprehendMedicalDefaultEpProviderBase(Aws::ComprehendMedical::ComprehendMedicalEndpointRules::GetRulesBlob(), Aws::ComprehendMedical::ComprehendMedicalEndpointRules::RulesBlobSize) {} +void ComprehendMedicalBuiltInParameters::SetFromClientConfiguration(const ComprehendMedicalClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ComprehendMedicalBuiltInParameters::SetFromClientConfiguration(const ComprehendMedicalClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ComprehendMedicalBuiltInParameters::SetServiceSpecificParameters(const ComprehendMedicalClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ComprehendMedical } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationClient.h b/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationClient.h index 96f0a3fa592d..3e4ce7294a68 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationClient.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationClient.h @@ -70,28 +70,6 @@ class AWS_COMPUTEOPTIMIZERAUTOMATION_API ComputeOptimizerAutomationClient const Aws::ComputeOptimizerAutomation::ComputeOptimizerAutomationClientConfiguration& clientConfiguration = Aws::ComputeOptimizerAutomation::ComputeOptimizerAutomationClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ComputeOptimizerAutomationClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ComputeOptimizerAutomationClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ComputeOptimizerAutomationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ComputeOptimizerAutomationClient(); /** @@ -757,7 +735,6 @@ class AWS_COMPUTEOPTIMIZERAUTOMATION_API ComputeOptimizerAutomationClient return SubmitAsync(&ComputeOptimizerAutomationClient::UpdateEnrollmentConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationClientConfiguration.h b/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationClientConfiguration.h new file mode 100644 index 000000000000..1ff38b833d0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ComputeOptimizerAutomation { +struct AWS_COMPUTEOPTIMIZERAUTOMATION_API ComputeOptimizerAutomationClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ComputeOptimizerAutomationClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ComputeOptimizerAutomationClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ComputeOptimizerAutomationClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ComputeOptimizerAutomationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadComputeOptimizerAutomationSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COMPUTEOPTIMIZERAUTOMATION_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ComputeOptimizerAutomationClientConfiguration& config); +} // namespace ComputeOptimizerAutomation +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationEndpointProvider.h b/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationEndpointProvider.h index 0c04d064d411..d4433a693a6b 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ComputeOptimizerAutomation { namespace Endpoint { +using ComputeOptimizerAutomationClientConfiguration = Aws::ComputeOptimizerAutomation::ComputeOptimizerAutomationClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ComputeOptimizerAutomationClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ComputeOptimizerAutomationClientConfiguration = Aws::Client::GenericClientConfiguration; -using ComputeOptimizerAutomationBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COMPUTEOPTIMIZERAUTOMATION_API ComputeOptimizerAutomationBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ComputeOptimizerAutomationBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ComputeOptimizerAutomationClientConfiguration& config); + virtual void SetFromClientConfiguration(const ComputeOptimizerAutomationClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ComputeOptimizerAutomationClientConfiguration& config); +}; /** * The type for the ComputeOptimizerAutomation Client Endpoint Provider. @@ -36,6 +45,26 @@ using ComputeOptimizerAutomationDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ComputeOptimizerAutomation + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COMPUTEOPTIMIZERAUTOMATION_EXTERN template class AWS_COMPUTEOPTIMIZERAUTOMATION_API + Aws::Endpoint::EndpointProviderBase; + +AWS_COMPUTEOPTIMIZERAUTOMATION_EXTERN template class AWS_COMPUTEOPTIMIZERAUTOMATION_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ComputeOptimizerAutomation { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationServiceClientModel.h b/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationServiceClientModel.h index 56d77f0ee42f..f206906d2475 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace ComputeOptimizerAutomation { -using ComputeOptimizerAutomationClientConfiguration = Aws::Client::GenericClientConfiguration; using ComputeOptimizerAutomationEndpointProviderBase = Aws::ComputeOptimizerAutomation::Endpoint::ComputeOptimizerAutomationEndpointProviderBase; using ComputeOptimizerAutomationEndpointProvider = Aws::ComputeOptimizerAutomation::Endpoint::ComputeOptimizerAutomationEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationClient.cpp b/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationClient.cpp index 7f4950133967..67a44bff2cb6 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationClient.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationClient.cpp @@ -106,42 +106,6 @@ ComputeOptimizerAutomationClient::ComputeOptimizerAutomationClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ComputeOptimizerAutomationClient::ComputeOptimizerAutomationClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ComputeOptimizerAutomationClient::ComputeOptimizerAutomationClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ComputeOptimizerAutomationClient::ComputeOptimizerAutomationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ComputeOptimizerAutomationClient::~ComputeOptimizerAutomationClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ComputeOptimizerAutomationClient::accessEndpointProvider() { @@ -161,12 +125,7 @@ void ComputeOptimizerAutomationClient::init(const ComputeOptimizerAutomation::Co AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aco-automation"); -} - -void ComputeOptimizerAutomationClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ComputeOptimizerAutomationClient::InvokeOperationOutcome ComputeOptimizerAutomationClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationClientConfiguration.cpp b/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationClientConfiguration.cpp new file mode 100644 index 000000000000..5b8f11eeb948 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ComputeOptimizerAutomation { + +void ComputeOptimizerAutomationClientConfiguration::LoadComputeOptimizerAutomationSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ComputeOptimizerAutomationClientConfiguration::ComputeOptimizerAutomationClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadComputeOptimizerAutomationSpecificConfig(this->profileName); +} + +ComputeOptimizerAutomationClientConfiguration::ComputeOptimizerAutomationClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadComputeOptimizerAutomationSpecificConfig(Aws::String(inputProfileName)); +} + +ComputeOptimizerAutomationClientConfiguration::ComputeOptimizerAutomationClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadComputeOptimizerAutomationSpecificConfig(this->profileName); +} + +ComputeOptimizerAutomationClientConfiguration::ComputeOptimizerAutomationClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadComputeOptimizerAutomationSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ComputeOptimizerAutomationClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ComputeOptimizerAutomation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationEndpointProvider.cpp b/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationEndpointProvider.cpp index 9752a27e8446..723711d4c534 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationEndpointProvider.cpp @@ -7,6 +7,21 @@ #include namespace Aws { +#ifndef AWS_COMPUTEOPTIMIZERAUTOMATION_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ComputeOptimizerAutomation { namespace Endpoint { ComputeOptimizerAutomationEndpointProvider::ComputeOptimizerAutomationEndpointProvider() @@ -14,6 +29,26 @@ ComputeOptimizerAutomationEndpointProvider::ComputeOptimizerAutomationEndpointPr Aws::ComputeOptimizerAutomation::ComputeOptimizerAutomationEndpointRules::GetRulesBlob(), Aws::ComputeOptimizerAutomation::ComputeOptimizerAutomationEndpointRules::RulesBlobSize) {} +void ComputeOptimizerAutomationBuiltInParameters::SetFromClientConfiguration(const ComputeOptimizerAutomationClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ComputeOptimizerAutomationBuiltInParameters::SetFromClientConfiguration(const ComputeOptimizerAutomationClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ComputeOptimizerAutomationBuiltInParameters::SetServiceSpecificParameters( + const ComputeOptimizerAutomationClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ComputeOptimizerAutomation } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerClient.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerClient.h index 303f463fff65..1b0ebdab7007 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerClient.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerClient.h @@ -70,27 +70,6 @@ class AWS_COMPUTEOPTIMIZER_API ComputeOptimizerClient : public Aws::Client::AWSR const Aws::ComputeOptimizer::ComputeOptimizerClientConfiguration& clientConfiguration = Aws::ComputeOptimizer::ComputeOptimizerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ComputeOptimizerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ComputeOptimizerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ComputeOptimizerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ComputeOptimizerClient(); /** @@ -1077,7 +1056,6 @@ class AWS_COMPUTEOPTIMIZER_API ComputeOptimizerClient : public Aws::Client::AWSR return SubmitAsync(&ComputeOptimizerClient::UpdateEnrollmentStatus, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerClientConfiguration.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerClientConfiguration.h new file mode 100644 index 000000000000..841eef39ff59 --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ComputeOptimizer { +struct AWS_COMPUTEOPTIMIZER_API ComputeOptimizerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ComputeOptimizerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ComputeOptimizerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ComputeOptimizerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ComputeOptimizerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadComputeOptimizerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COMPUTEOPTIMIZER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ComputeOptimizerClientConfiguration& config); +} // namespace ComputeOptimizer +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerEndpointProvider.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerEndpointProvider.h index e294492216b3..248178367b49 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ComputeOptimizer { namespace Endpoint { +using ComputeOptimizerClientConfiguration = Aws::ComputeOptimizer::ComputeOptimizerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ComputeOptimizerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ComputeOptimizerClientConfiguration = Aws::Client::GenericClientConfiguration; -using ComputeOptimizerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COMPUTEOPTIMIZER_API ComputeOptimizerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ComputeOptimizerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ComputeOptimizerClientConfiguration& config); + virtual void SetFromClientConfiguration(const ComputeOptimizerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ComputeOptimizerClientConfiguration& config); +}; /** * The type for the ComputeOptimizer Client Endpoint Provider. @@ -34,6 +43,24 @@ using ComputeOptimizerEndpointProviderBase = using ComputeOptimizerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ComputeOptimizer + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COMPUTEOPTIMIZER_EXTERN template class AWS_COMPUTEOPTIMIZER_API Aws::Endpoint::EndpointProviderBase< + ComputeOptimizer::Endpoint::ComputeOptimizerClientConfiguration, ComputeOptimizer::Endpoint::ComputeOptimizerBuiltInParameters, + ComputeOptimizer::Endpoint::ComputeOptimizerClientContextParameters>; + +AWS_COMPUTEOPTIMIZER_EXTERN template class AWS_COMPUTEOPTIMIZER_API Aws::Endpoint::BDDEndpointProvider< + ComputeOptimizer::Endpoint::ComputeOptimizerClientConfiguration, ComputeOptimizer::Endpoint::ComputeOptimizerBuiltInParameters, + ComputeOptimizer::Endpoint::ComputeOptimizerClientContextParameters>; +} // namespace Endpoint + +namespace ComputeOptimizer { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerServiceClientModel.h b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerServiceClientModel.h index 4135b45a48d0..ad9438d9e00f 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerServiceClientModel.h @@ -86,7 +86,6 @@ class RetryStrategy; } // namespace Client namespace ComputeOptimizer { -using ComputeOptimizerClientConfiguration = Aws::Client::GenericClientConfiguration; using ComputeOptimizerEndpointProviderBase = Aws::ComputeOptimizer::Endpoint::ComputeOptimizerEndpointProviderBase; using ComputeOptimizerEndpointProvider = Aws::ComputeOptimizer::Endpoint::ComputeOptimizerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerClient.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerClient.cpp index 8b4d21e4c7b1..18ea03a9ada4 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerClient.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerClient.cpp @@ -109,42 +109,6 @@ ComputeOptimizerClient::ComputeOptimizerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ComputeOptimizerClient::ComputeOptimizerClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ComputeOptimizerClient::ComputeOptimizerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ComputeOptimizerClient::~ComputeOptimizerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ComputeOptimizerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -162,12 +126,7 @@ void ComputeOptimizerClient::init(const ComputeOptimizer::ComputeOptimizerClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "compute-optimizer"); -} - -void ComputeOptimizerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ComputeOptimizerClient::InvokeOperationOutcome ComputeOptimizerClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerClientConfiguration.cpp new file mode 100644 index 000000000000..b094fec10a0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ComputeOptimizer { + +void ComputeOptimizerClientConfiguration::LoadComputeOptimizerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ComputeOptimizerClientConfiguration::ComputeOptimizerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadComputeOptimizerSpecificConfig(this->profileName); +} + +ComputeOptimizerClientConfiguration::ComputeOptimizerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadComputeOptimizerSpecificConfig(Aws::String(inputProfileName)); +} + +ComputeOptimizerClientConfiguration::ComputeOptimizerClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadComputeOptimizerSpecificConfig(this->profileName); +} + +ComputeOptimizerClientConfiguration::ComputeOptimizerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadComputeOptimizerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ComputeOptimizerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ComputeOptimizer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerEndpointProvider.cpp index b0aef9b18317..0bf5f6af7703 100644 --- a/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_COMPUTEOPTIMIZER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ComputeOptimizer { namespace Endpoint { ComputeOptimizerEndpointProvider::ComputeOptimizerEndpointProvider() : ComputeOptimizerDefaultEpProviderBase(Aws::ComputeOptimizer::ComputeOptimizerEndpointRules::GetRulesBlob(), Aws::ComputeOptimizer::ComputeOptimizerEndpointRules::RulesBlobSize) {} +void ComputeOptimizerBuiltInParameters::SetFromClientConfiguration(const ComputeOptimizerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ComputeOptimizerBuiltInParameters::SetFromClientConfiguration(const ComputeOptimizerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ComputeOptimizerBuiltInParameters::SetServiceSpecificParameters(const ComputeOptimizerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ComputeOptimizer } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceClient.h b/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceClient.h index 886686451f38..90827f42742a 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceClient.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceClient.h @@ -78,27 +78,6 @@ class AWS_CONFIGSERVICE_API ConfigServiceClient : public Aws::Client::AWSJsonCli const Aws::ConfigService::ConfigServiceClientConfiguration& clientConfiguration = Aws::ConfigService::ConfigServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConfigServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConfigServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConfigServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConfigServiceClient(); /** @@ -3835,7 +3814,6 @@ class AWS_CONFIGSERVICE_API ConfigServiceClient : public Aws::Client::AWSJsonCli return SubmitAsync(&ConfigServiceClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceClientConfiguration.h new file mode 100644 index 000000000000..19f7b5335510 --- /dev/null +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ConfigService { +struct AWS_CONFIGSERVICE_API ConfigServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConfigServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConfigServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConfigServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConfigServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadConfigServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONFIGSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConfigServiceClientConfiguration& config); +} // namespace ConfigService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceEndpointProvider.h index 70d21ac41a33..6a97b208f9eb 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ConfigService { namespace Endpoint { +using ConfigServiceClientConfiguration = Aws::ConfigService::ConfigServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConfigServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConfigServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConfigServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONFIGSERVICE_API ConfigServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConfigServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConfigServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConfigServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConfigServiceClientConfiguration& config); +}; /** * The type for the ConfigService Client Endpoint Provider. @@ -34,6 +43,24 @@ using ConfigServiceEndpointProviderBase = using ConfigServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ConfigService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONFIGSERVICE_EXTERN template class AWS_CONFIGSERVICE_API Aws::Endpoint::EndpointProviderBase< + ConfigService::Endpoint::ConfigServiceClientConfiguration, ConfigService::Endpoint::ConfigServiceBuiltInParameters, + ConfigService::Endpoint::ConfigServiceClientContextParameters>; + +AWS_CONFIGSERVICE_EXTERN template class AWS_CONFIGSERVICE_API Aws::Endpoint::BDDEndpointProvider< + ConfigService::Endpoint::ConfigServiceClientConfiguration, ConfigService::Endpoint::ConfigServiceBuiltInParameters, + ConfigService::Endpoint::ConfigServiceClientContextParameters>; +} // namespace Endpoint + +namespace ConfigService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceServiceClientModel.h index 02a34d63b693..7f321a1a6eac 100644 --- a/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceServiceClientModel.h @@ -159,7 +159,6 @@ class RetryStrategy; } // namespace Client namespace ConfigService { -using ConfigServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using ConfigServiceEndpointProviderBase = Aws::ConfigService::Endpoint::ConfigServiceEndpointProviderBase; using ConfigServiceEndpointProvider = Aws::ConfigService::Endpoint::ConfigServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-config/source/ConfigServiceClient.cpp b/generated/src/aws-cpp-sdk-config/source/ConfigServiceClient.cpp index bad8388c5311..1ec5c5e4ca1c 100644 --- a/generated/src/aws-cpp-sdk-config/source/ConfigServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-config/source/ConfigServiceClient.cpp @@ -180,41 +180,6 @@ ConfigServiceClient::ConfigServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConfigServiceClient::ConfigServiceClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConfigServiceClient::ConfigServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConfigServiceClient::~ConfigServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConfigServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -232,12 +197,7 @@ void ConfigServiceClient::init(const ConfigService::ConfigServiceClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "config"); -} - -void ConfigServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConfigServiceClient::InvokeOperationOutcome ConfigServiceClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-config/source/ConfigServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-config/source/ConfigServiceClientConfiguration.cpp new file mode 100644 index 000000000000..ed19391be15e --- /dev/null +++ b/generated/src/aws-cpp-sdk-config/source/ConfigServiceClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ConfigService { + +void ConfigServiceClientConfiguration::LoadConfigServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConfigServiceClientConfiguration::ConfigServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConfigServiceSpecificConfig(this->profileName); +} + +ConfigServiceClientConfiguration::ConfigServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConfigServiceSpecificConfig(Aws::String(inputProfileName)); +} + +ConfigServiceClientConfiguration::ConfigServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConfigServiceSpecificConfig(this->profileName); +} + +ConfigServiceClientConfiguration::ConfigServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConfigServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConfigServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ConfigService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-config/source/ConfigServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-config/source/ConfigServiceEndpointProvider.cpp index 06e13c0931bb..83fc71a2def8 100644 --- a/generated/src/aws-cpp-sdk-config/source/ConfigServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-config/source/ConfigServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONFIGSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ConfigService { namespace Endpoint { ConfigServiceEndpointProvider::ConfigServiceEndpointProvider() : ConfigServiceDefaultEpProviderBase(Aws::ConfigService::ConfigServiceEndpointRules::GetRulesBlob(), Aws::ConfigService::ConfigServiceEndpointRules::RulesBlobSize) {} +void ConfigServiceBuiltInParameters::SetFromClientConfiguration(const ConfigServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConfigServiceBuiltInParameters::SetFromClientConfiguration(const ConfigServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConfigServiceBuiltInParameters::SetServiceSpecificParameters(const ConfigServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ConfigService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensClient.h b/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensClient.h index a43d85c4eb3f..86ab90ca851b 100644 --- a/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensClient.h +++ b/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensClient.h @@ -69,27 +69,6 @@ class AWS_CONNECTCONTACTLENS_API ConnectContactLensClient : public Aws::Client:: const Aws::ConnectContactLens::ConnectContactLensClientConfiguration& clientConfiguration = Aws::ConnectContactLens::ConnectContactLensClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConnectContactLensClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConnectContactLensClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConnectContactLensClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConnectContactLensClient(); /** @@ -123,7 +102,6 @@ class AWS_CONNECTCONTACTLENS_API ConnectContactLensClient : public Aws::Client:: return SubmitAsync(&ConnectContactLensClient::ListRealtimeContactAnalysisSegments, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensClientConfiguration.h b/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensClientConfiguration.h new file mode 100644 index 000000000000..06b1eaa6cddb --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ConnectContactLens { +struct AWS_CONNECTCONTACTLENS_API ConnectContactLensClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConnectContactLensClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectContactLensClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectContactLensClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConnectContactLensClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadConnectContactLensSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONNECTCONTACTLENS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectContactLensClientConfiguration& config); +} // namespace ConnectContactLens +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensEndpointProvider.h b/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensEndpointProvider.h index d70d70c52423..bdca26b71621 100644 --- a/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ConnectContactLens { namespace Endpoint { +using ConnectContactLensClientConfiguration = Aws::ConnectContactLens::ConnectContactLensClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConnectContactLensClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConnectContactLensClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConnectContactLensBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONNECTCONTACTLENS_API ConnectContactLensBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConnectContactLensBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConnectContactLensClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConnectContactLensClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConnectContactLensClientConfiguration& config); +}; /** * The type for the ConnectContactLens Client Endpoint Provider. @@ -36,6 +45,24 @@ using ConnectContactLensDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ConnectContactLens + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONNECTCONTACTLENS_EXTERN template class AWS_CONNECTCONTACTLENS_API Aws::Endpoint::EndpointProviderBase< + ConnectContactLens::Endpoint::ConnectContactLensClientConfiguration, ConnectContactLens::Endpoint::ConnectContactLensBuiltInParameters, + ConnectContactLens::Endpoint::ConnectContactLensClientContextParameters>; + +AWS_CONNECTCONTACTLENS_EXTERN template class AWS_CONNECTCONTACTLENS_API Aws::Endpoint::BDDEndpointProvider< + ConnectContactLens::Endpoint::ConnectContactLensClientConfiguration, ConnectContactLens::Endpoint::ConnectContactLensBuiltInParameters, + ConnectContactLens::Endpoint::ConnectContactLensClientContextParameters>; +} // namespace Endpoint + +namespace ConnectContactLens { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensServiceClientModel.h b/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensServiceClientModel.h index 92a304703501..8f0801f15f72 100644 --- a/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace ConnectContactLens { -using ConnectContactLensClientConfiguration = Aws::Client::GenericClientConfiguration; using ConnectContactLensEndpointProviderBase = Aws::ConnectContactLens::Endpoint::ConnectContactLensEndpointProviderBase; using ConnectContactLensEndpointProvider = Aws::ConnectContactLens::Endpoint::ConnectContactLensEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensClient.cpp b/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensClient.cpp index 0f2e2537f451..71c169ae448e 100644 --- a/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensClient.cpp +++ b/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensClient.cpp @@ -82,42 +82,6 @@ ConnectContactLensClient::ConnectContactLensClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectContactLensClient::ConnectContactLensClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectContactLensClient::ConnectContactLensClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConnectContactLensClient::~ConnectContactLensClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConnectContactLensClient::accessEndpointProvider() { return m_endpointProvider; } @@ -135,12 +99,7 @@ void ConnectContactLensClient::init(const ConnectContactLens::ConnectContactLens AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "connect"); -} - -void ConnectContactLensClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConnectContactLensClient::InvokeOperationOutcome ConnectContactLensClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensClientConfiguration.cpp b/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensClientConfiguration.cpp new file mode 100644 index 000000000000..8bc67d8c1806 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ConnectContactLens { + +void ConnectContactLensClientConfiguration::LoadConnectContactLensSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConnectContactLensClientConfiguration::ConnectContactLensClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConnectContactLensSpecificConfig(this->profileName); +} + +ConnectContactLensClientConfiguration::ConnectContactLensClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConnectContactLensSpecificConfig(Aws::String(inputProfileName)); +} + +ConnectContactLensClientConfiguration::ConnectContactLensClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConnectContactLensSpecificConfig(this->profileName); +} + +ConnectContactLensClientConfiguration::ConnectContactLensClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConnectContactLensSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectContactLensClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ConnectContactLens +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensEndpointProvider.cpp b/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensEndpointProvider.cpp index c91598510b52..b5434d90be27 100644 --- a/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONNECTCONTACTLENS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ConnectContactLens { namespace Endpoint { ConnectContactLensEndpointProvider::ConnectContactLensEndpointProvider() : ConnectContactLensDefaultEpProviderBase(Aws::ConnectContactLens::ConnectContactLensEndpointRules::GetRulesBlob(), Aws::ConnectContactLens::ConnectContactLensEndpointRules::RulesBlobSize) {} +void ConnectContactLensBuiltInParameters::SetFromClientConfiguration(const ConnectContactLensClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConnectContactLensBuiltInParameters::SetFromClientConfiguration(const ConnectContactLensClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConnectContactLensBuiltInParameters::SetServiceSpecificParameters(const ConnectContactLensClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ConnectContactLens } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClient.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClient.h index 71c28aa9de22..2f29aaaebfcb 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClient.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClient.h @@ -71,27 +71,6 @@ class AWS_CONNECT_API ConnectClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Connect::ConnectClientConfiguration& clientConfiguration = Aws::Connect::ConnectClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConnectClient(); /** @@ -12687,7 +12666,6 @@ class AWS_CONNECT_API ConnectClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ConnectClient::UpdateWorkspaceVisibility, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClientConfiguration.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClientConfiguration.h new file mode 100644 index 000000000000..0f34693826b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Connect { +struct AWS_CONNECT_API ConnectClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadConnectSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONNECT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectClientConfiguration& config); +} // namespace Connect +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectEndpointProvider.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectEndpointProvider.h index ad3f0b54e554..3c312350e1be 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Connect { namespace Endpoint { +using ConnectClientConfiguration = Aws::Connect::ConnectClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConnectClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConnectClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConnectBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONNECT_API ConnectBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConnectBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConnectClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConnectClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConnectClientConfiguration& config); +}; /** * The type for the Connect Client Endpoint Provider. @@ -34,6 +43,24 @@ using ConnectEndpointProviderBase = using ConnectDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Connect + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONNECT_EXTERN template class AWS_CONNECT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CONNECT_EXTERN template class AWS_CONNECT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Connect { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectServiceClientModel.h index 76a466631cb1..ae8091c9074b 100644 --- a/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectServiceClientModel.h @@ -379,7 +379,6 @@ class RetryStrategy; } // namespace Client namespace Connect { -using ConnectClientConfiguration = Aws::Client::GenericClientConfiguration; using ConnectEndpointProviderBase = Aws::Connect::Endpoint::ConnectEndpointProviderBase; using ConnectEndpointProvider = Aws::Connect::Endpoint::ConnectEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-connect/source/ConnectClient.cpp b/generated/src/aws-cpp-sdk-connect/source/ConnectClient.cpp index 0373a7166495..4c81ff5003ec 100644 --- a/generated/src/aws-cpp-sdk-connect/source/ConnectClient.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/ConnectClient.cpp @@ -177,41 +177,6 @@ ConnectClient::ConnectClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ConnectClient::ConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectClient::ConnectClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectClient::ConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConnectClient::~ConnectClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConnectClient::accessEndpointProvider() { return m_endpointProvider; } @@ -229,12 +194,7 @@ void ConnectClient::init(const Connect::ConnectClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "connect"); -} - -void ConnectClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConnectClient::InvokeOperationOutcome ConnectClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-connect/source/ConnectClientConfiguration.cpp b/generated/src/aws-cpp-sdk-connect/source/ConnectClientConfiguration.cpp new file mode 100644 index 000000000000..4a582be5131e --- /dev/null +++ b/generated/src/aws-cpp-sdk-connect/source/ConnectClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Connect { + +void ConnectClientConfiguration::LoadConnectSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConnectClientConfiguration::ConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConnectSpecificConfig(this->profileName); +} + +ConnectClientConfiguration::ConnectClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConnectSpecificConfig(Aws::String(inputProfileName)); +} + +ConnectClientConfiguration::ConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConnectSpecificConfig(this->profileName); +} + +ConnectClientConfiguration::ConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConnectSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Connect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connect/source/ConnectEndpointProvider.cpp b/generated/src/aws-cpp-sdk-connect/source/ConnectEndpointProvider.cpp index 9f78b1884d30..98bcf40753d9 100644 --- a/generated/src/aws-cpp-sdk-connect/source/ConnectEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-connect/source/ConnectEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_CONNECT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Connect { namespace Endpoint { ConnectEndpointProvider::ConnectEndpointProvider() : ConnectDefaultEpProviderBase(Aws::Connect::ConnectEndpointRules::GetRulesBlob(), Aws::Connect::ConnectEndpointRules::RulesBlobSize) {} +void ConnectBuiltInParameters::SetFromClientConfiguration(const ConnectClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConnectBuiltInParameters::SetFromClientConfiguration(const ConnectClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConnectBuiltInParameters::SetServiceSpecificParameters(const ConnectClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Connect } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsClient.h b/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsClient.h index fd12dce1622a..ae609ff93efe 100644 --- a/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsClient.h +++ b/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsClient.h @@ -56,27 +56,6 @@ class AWS_CONNECTCAMPAIGNS_API ConnectCampaignsClient : public Aws::Client::AWSJ const Aws::ConnectCampaigns::ConnectCampaignsClientConfiguration& clientConfiguration = Aws::ConnectCampaigns::ConnectCampaignsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConnectCampaignsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConnectCampaignsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConnectCampaignsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConnectCampaignsClient(); /** @@ -679,7 +658,6 @@ class AWS_CONNECTCAMPAIGNS_API ConnectCampaignsClient : public Aws::Client::AWSJ return SubmitAsync(&ConnectCampaignsClient::UpdateCampaignOutboundCallConfig, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsClientConfiguration.h b/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsClientConfiguration.h new file mode 100644 index 000000000000..fa891c38e891 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ConnectCampaigns { +struct AWS_CONNECTCAMPAIGNS_API ConnectCampaignsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConnectCampaignsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectCampaignsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectCampaignsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConnectCampaignsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadConnectCampaignsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONNECTCAMPAIGNS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectCampaignsClientConfiguration& config); +} // namespace ConnectCampaigns +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsEndpointProvider.h b/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsEndpointProvider.h index 1cca0c70d392..67666c985e98 100644 --- a/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ConnectCampaigns { namespace Endpoint { +using ConnectCampaignsClientConfiguration = Aws::ConnectCampaigns::ConnectCampaignsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConnectCampaignsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConnectCampaignsClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConnectCampaignsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONNECTCAMPAIGNS_API ConnectCampaignsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConnectCampaignsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConnectCampaignsClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConnectCampaignsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConnectCampaignsClientConfiguration& config); +}; /** * The type for the ConnectCampaigns Client Endpoint Provider. @@ -34,6 +43,24 @@ using ConnectCampaignsEndpointProviderBase = using ConnectCampaignsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ConnectCampaigns + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONNECTCAMPAIGNS_EXTERN template class AWS_CONNECTCAMPAIGNS_API Aws::Endpoint::EndpointProviderBase< + ConnectCampaigns::Endpoint::ConnectCampaignsClientConfiguration, ConnectCampaigns::Endpoint::ConnectCampaignsBuiltInParameters, + ConnectCampaigns::Endpoint::ConnectCampaignsClientContextParameters>; + +AWS_CONNECTCAMPAIGNS_EXTERN template class AWS_CONNECTCAMPAIGNS_API Aws::Endpoint::BDDEndpointProvider< + ConnectCampaigns::Endpoint::ConnectCampaignsClientConfiguration, ConnectCampaigns::Endpoint::ConnectCampaignsBuiltInParameters, + ConnectCampaigns::Endpoint::ConnectCampaignsClientContextParameters>; +} // namespace Endpoint + +namespace ConnectCampaigns { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsServiceClientModel.h b/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsServiceClientModel.h index b7910e590b25..61b4e1bd5787 100644 --- a/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsServiceClientModel.h @@ -58,7 +58,6 @@ class RetryStrategy; } // namespace Client namespace ConnectCampaigns { -using ConnectCampaignsClientConfiguration = Aws::Client::GenericClientConfiguration; using ConnectCampaignsEndpointProviderBase = Aws::ConnectCampaigns::Endpoint::ConnectCampaignsEndpointProviderBase; using ConnectCampaignsEndpointProvider = Aws::ConnectCampaigns::Endpoint::ConnectCampaignsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsClient.cpp b/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsClient.cpp index 8e8046fbc7ef..90aabf53f973 100644 --- a/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsClient.cpp +++ b/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsClient.cpp @@ -103,42 +103,6 @@ ConnectCampaignsClient::ConnectCampaignsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectCampaignsClient::ConnectCampaignsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectCampaignsClient::ConnectCampaignsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConnectCampaignsClient::~ConnectCampaignsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConnectCampaignsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -156,12 +120,7 @@ void ConnectCampaignsClient::init(const ConnectCampaigns::ConnectCampaignsClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "connect-campaigns"); -} - -void ConnectCampaignsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConnectCampaignsClient::InvokeOperationOutcome ConnectCampaignsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsClientConfiguration.cpp new file mode 100644 index 000000000000..4e7204aa8ddc --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ConnectCampaigns { + +void ConnectCampaignsClientConfiguration::LoadConnectCampaignsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConnectCampaignsClientConfiguration::ConnectCampaignsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConnectCampaignsSpecificConfig(this->profileName); +} + +ConnectCampaignsClientConfiguration::ConnectCampaignsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConnectCampaignsSpecificConfig(Aws::String(inputProfileName)); +} + +ConnectCampaignsClientConfiguration::ConnectCampaignsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConnectCampaignsSpecificConfig(this->profileName); +} + +ConnectCampaignsClientConfiguration::ConnectCampaignsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConnectCampaignsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectCampaignsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ConnectCampaigns +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsEndpointProvider.cpp index 03ed5d8f91bd..e0133889464b 100644 --- a/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONNECTCAMPAIGNS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ConnectCampaigns { namespace Endpoint { ConnectCampaignsEndpointProvider::ConnectCampaignsEndpointProvider() : ConnectCampaignsDefaultEpProviderBase(Aws::ConnectCampaigns::ConnectCampaignsEndpointRules::GetRulesBlob(), Aws::ConnectCampaigns::ConnectCampaignsEndpointRules::RulesBlobSize) {} +void ConnectCampaignsBuiltInParameters::SetFromClientConfiguration(const ConnectCampaignsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConnectCampaignsBuiltInParameters::SetFromClientConfiguration(const ConnectCampaignsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConnectCampaignsBuiltInParameters::SetServiceSpecificParameters(const ConnectCampaignsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ConnectCampaigns } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h index 0010b97b16a6..e4d4327cfb26 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2Client.h @@ -56,27 +56,6 @@ class AWS_CONNECTCAMPAIGNSV2_API ConnectCampaignsV2Client : public Aws::Client:: const Aws::ConnectCampaignsV2::ConnectCampaignsV2ClientConfiguration& clientConfiguration = Aws::ConnectCampaignsV2::ConnectCampaignsV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConnectCampaignsV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConnectCampaignsV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConnectCampaignsV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConnectCampaignsV2Client(); /** @@ -1122,7 +1101,6 @@ class AWS_CONNECTCAMPAIGNSV2_API ConnectCampaignsV2Client : public Aws::Client:: return SubmitAsync(&ConnectCampaignsV2Client::UpdateCampaignSource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2ClientConfiguration.h new file mode 100644 index 000000000000..e541d4004e09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ConnectCampaignsV2 { +struct AWS_CONNECTCAMPAIGNSV2_API ConnectCampaignsV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConnectCampaignsV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectCampaignsV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectCampaignsV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConnectCampaignsV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadConnectCampaignsV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONNECTCAMPAIGNSV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectCampaignsV2ClientConfiguration& config); +} // namespace ConnectCampaignsV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2EndpointProvider.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2EndpointProvider.h index 6c13d24f1186..bf0615dfc976 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2EndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ConnectCampaignsV2 { namespace Endpoint { +using ConnectCampaignsV2ClientConfiguration = Aws::ConnectCampaignsV2::ConnectCampaignsV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConnectCampaignsV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConnectCampaignsV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConnectCampaignsV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONNECTCAMPAIGNSV2_API ConnectCampaignsV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConnectCampaignsV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConnectCampaignsV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConnectCampaignsV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConnectCampaignsV2ClientConfiguration& config); +}; /** * The type for the ConnectCampaignsV2 Client Endpoint Provider. @@ -36,6 +45,24 @@ using ConnectCampaignsV2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ConnectCampaignsV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONNECTCAMPAIGNSV2_EXTERN template class AWS_CONNECTCAMPAIGNSV2_API Aws::Endpoint::EndpointProviderBase< + ConnectCampaignsV2::Endpoint::ConnectCampaignsV2ClientConfiguration, ConnectCampaignsV2::Endpoint::ConnectCampaignsV2BuiltInParameters, + ConnectCampaignsV2::Endpoint::ConnectCampaignsV2ClientContextParameters>; + +AWS_CONNECTCAMPAIGNSV2_EXTERN template class AWS_CONNECTCAMPAIGNSV2_API Aws::Endpoint::BDDEndpointProvider< + ConnectCampaignsV2::Endpoint::ConnectCampaignsV2ClientConfiguration, ConnectCampaignsV2::Endpoint::ConnectCampaignsV2BuiltInParameters, + ConnectCampaignsV2::Endpoint::ConnectCampaignsV2ClientContextParameters>; +} // namespace Endpoint + +namespace ConnectCampaignsV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2ServiceClientModel.h index 52c21e74bd81..a0c5d6109589 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2ServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace ConnectCampaignsV2 { -using ConnectCampaignsV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using ConnectCampaignsV2EndpointProviderBase = Aws::ConnectCampaignsV2::Endpoint::ConnectCampaignsV2EndpointProviderBase; using ConnectCampaignsV2EndpointProvider = Aws::ConnectCampaignsV2::Endpoint::ConnectCampaignsV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp index 2eef3f1a1a79..6c1ae19f09e7 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2Client.cpp @@ -118,42 +118,6 @@ ConnectCampaignsV2Client::ConnectCampaignsV2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectCampaignsV2Client::ConnectCampaignsV2Client(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectCampaignsV2Client::ConnectCampaignsV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConnectCampaignsV2Client::~ConnectCampaignsV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConnectCampaignsV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -171,12 +135,7 @@ void ConnectCampaignsV2Client::init(const ConnectCampaignsV2::ConnectCampaignsV2 AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "connect-campaigns"); -} - -void ConnectCampaignsV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConnectCampaignsV2Client::InvokeOperationOutcome ConnectCampaignsV2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2ClientConfiguration.cpp new file mode 100644 index 000000000000..30eea05c8d12 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2ClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ConnectCampaignsV2 { + +void ConnectCampaignsV2ClientConfiguration::LoadConnectCampaignsV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConnectCampaignsV2ClientConfiguration::ConnectCampaignsV2ClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConnectCampaignsV2SpecificConfig(this->profileName); +} + +ConnectCampaignsV2ClientConfiguration::ConnectCampaignsV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConnectCampaignsV2SpecificConfig(Aws::String(inputProfileName)); +} + +ConnectCampaignsV2ClientConfiguration::ConnectCampaignsV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConnectCampaignsV2SpecificConfig(this->profileName); +} + +ConnectCampaignsV2ClientConfiguration::ConnectCampaignsV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConnectCampaignsV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectCampaignsV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ConnectCampaignsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2EndpointProvider.cpp index ebe5a0672562..8a155f831ced 100644 --- a/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONNECTCAMPAIGNSV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ConnectCampaignsV2 { namespace Endpoint { ConnectCampaignsV2EndpointProvider::ConnectCampaignsV2EndpointProvider() : ConnectCampaignsV2DefaultEpProviderBase(Aws::ConnectCampaignsV2::ConnectCampaignsV2EndpointRules::GetRulesBlob(), Aws::ConnectCampaignsV2::ConnectCampaignsV2EndpointRules::RulesBlobSize) {} +void ConnectCampaignsV2BuiltInParameters::SetFromClientConfiguration(const ConnectCampaignsV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConnectCampaignsV2BuiltInParameters::SetFromClientConfiguration(const ConnectCampaignsV2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConnectCampaignsV2BuiltInParameters::SetServiceSpecificParameters(const ConnectCampaignsV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ConnectCampaignsV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClient.h b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClient.h index 1785e6dae89a..ac391f7ef79d 100644 --- a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClient.h +++ b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClient.h @@ -65,27 +65,6 @@ class AWS_CONNECTCASES_API ConnectCasesClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::ConnectCases::ConnectCasesClientConfiguration& clientConfiguration = Aws::ConnectCases::ConnectCasesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConnectCasesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConnectCasesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConnectCasesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConnectCasesClient(); /** @@ -1424,7 +1403,6 @@ class AWS_CONNECTCASES_API ConnectCasesClient : public Aws::Client::AWSJsonClien return SubmitAsync(&ConnectCasesClient::UpdateTemplate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClientConfiguration.h b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClientConfiguration.h new file mode 100644 index 000000000000..1257d57f2443 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ConnectCases { +struct AWS_CONNECTCASES_API ConnectCasesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConnectCasesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectCasesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectCasesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConnectCasesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadConnectCasesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONNECTCASES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectCasesClientConfiguration& config); +} // namespace ConnectCases +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesEndpointProvider.h b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesEndpointProvider.h index 815967951827..f97ce4305bcb 100644 --- a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ConnectCases { namespace Endpoint { +using ConnectCasesClientConfiguration = Aws::ConnectCases::ConnectCasesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConnectCasesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConnectCasesClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConnectCasesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONNECTCASES_API ConnectCasesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConnectCasesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConnectCasesClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConnectCasesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConnectCasesClientConfiguration& config); +}; /** * The type for the ConnectCases Client Endpoint Provider. @@ -34,6 +43,24 @@ using ConnectCasesEndpointProviderBase = using ConnectCasesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ConnectCases + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONNECTCASES_EXTERN template class AWS_CONNECTCASES_API Aws::Endpoint::EndpointProviderBase< + ConnectCases::Endpoint::ConnectCasesClientConfiguration, ConnectCases::Endpoint::ConnectCasesBuiltInParameters, + ConnectCases::Endpoint::ConnectCasesClientContextParameters>; + +AWS_CONNECTCASES_EXTERN template class AWS_CONNECTCASES_API Aws::Endpoint::BDDEndpointProvider< + ConnectCases::Endpoint::ConnectCasesClientConfiguration, ConnectCases::Endpoint::ConnectCasesBuiltInParameters, + ConnectCases::Endpoint::ConnectCasesClientContextParameters>; +} // namespace Endpoint + +namespace ConnectCases { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesServiceClientModel.h b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesServiceClientModel.h index 6a61c7af9c72..feea57ababe2 100644 --- a/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesServiceClientModel.h @@ -89,7 +89,6 @@ class RetryStrategy; } // namespace Client namespace ConnectCases { -using ConnectCasesClientConfiguration = Aws::Client::GenericClientConfiguration; using ConnectCasesEndpointProviderBase = Aws::ConnectCases::Endpoint::ConnectCasesEndpointProviderBase; using ConnectCasesEndpointProvider = Aws::ConnectCases::Endpoint::ConnectCasesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesClient.cpp b/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesClient.cpp index f76e6cdec53b..f4ef95f197fc 100644 --- a/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesClient.cpp +++ b/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesClient.cpp @@ -121,41 +121,6 @@ ConnectCasesClient::ConnectCasesClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectCasesClient::ConnectCasesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectCasesClient::ConnectCasesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConnectCasesClient::~ConnectCasesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConnectCasesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -173,12 +138,7 @@ void ConnectCasesClient::init(const ConnectCases::ConnectCasesClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cases"); -} - -void ConnectCasesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConnectCasesClient::InvokeOperationOutcome ConnectCasesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesClientConfiguration.cpp new file mode 100644 index 000000000000..19c4e0934055 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ConnectCases { + +void ConnectCasesClientConfiguration::LoadConnectCasesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConnectCasesClientConfiguration::ConnectCasesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConnectCasesSpecificConfig(this->profileName); +} + +ConnectCasesClientConfiguration::ConnectCasesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConnectCasesSpecificConfig(Aws::String(inputProfileName)); +} + +ConnectCasesClientConfiguration::ConnectCasesClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConnectCasesSpecificConfig(this->profileName); +} + +ConnectCasesClientConfiguration::ConnectCasesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConnectCasesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectCasesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ConnectCases +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesEndpointProvider.cpp index c5a80f1f852f..25719a376b03 100644 --- a/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONNECTCASES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ConnectCases { namespace Endpoint { ConnectCasesEndpointProvider::ConnectCasesEndpointProvider() : ConnectCasesDefaultEpProviderBase(Aws::ConnectCases::ConnectCasesEndpointRules::GetRulesBlob(), Aws::ConnectCases::ConnectCasesEndpointRules::RulesBlobSize) {} +void ConnectCasesBuiltInParameters::SetFromClientConfiguration(const ConnectCasesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConnectCasesBuiltInParameters::SetFromClientConfiguration(const ConnectCasesClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConnectCasesBuiltInParameters::SetServiceSpecificParameters(const ConnectCasesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ConnectCases } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthClient.h b/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthClient.h index b75c5ca40832..db94ed0b1d84 100644 --- a/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthClient.h +++ b/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthClient.h @@ -63,27 +63,6 @@ class AWS_CONNECTHEALTH_API ConnectHealthClient : public Aws::Client::AWSJsonCli const Aws::ConnectHealth::ConnectHealthClientConfiguration& clientConfiguration = Aws::ConnectHealth::ConnectHealthClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConnectHealthClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConnectHealthClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConnectHealthClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConnectHealthClient(); /** @@ -499,7 +478,6 @@ class AWS_CONNECTHEALTH_API ConnectHealthClient : public Aws::Client::AWSJsonCli return SubmitAsync(&ConnectHealthClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthClientConfiguration.h b/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthClientConfiguration.h new file mode 100644 index 000000000000..807af06780b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthClientConfiguration.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ConnectHealth { +struct AWS_CONNECTHEALTH_API ConnectHealthClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConnectHealthClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectHealthClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectHealthClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConnectHealthClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadConnectHealthSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONNECTHEALTH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectHealthClientConfiguration& config); +} // namespace ConnectHealth +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthEndpointProvider.h b/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthEndpointProvider.h index d4e3b7b74a08..c476d3bc11e8 100644 --- a/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ConnectHealth { namespace Endpoint { +using ConnectHealthClientConfiguration = Aws::ConnectHealth::ConnectHealthClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConnectHealthClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConnectHealthClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConnectHealthBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONNECTHEALTH_API ConnectHealthBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConnectHealthBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConnectHealthClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConnectHealthClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConnectHealthClientConfiguration& config); +}; /** * The type for the ConnectHealth Client Endpoint Provider. @@ -34,6 +43,24 @@ using ConnectHealthEndpointProviderBase = using ConnectHealthDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ConnectHealth + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONNECTHEALTH_EXTERN template class AWS_CONNECTHEALTH_API Aws::Endpoint::EndpointProviderBase< + ConnectHealth::Endpoint::ConnectHealthClientConfiguration, ConnectHealth::Endpoint::ConnectHealthBuiltInParameters, + ConnectHealth::Endpoint::ConnectHealthClientContextParameters>; + +AWS_CONNECTHEALTH_EXTERN template class AWS_CONNECTHEALTH_API Aws::Endpoint::BDDEndpointProvider< + ConnectHealth::Endpoint::ConnectHealthClientConfiguration, ConnectHealth::Endpoint::ConnectHealthBuiltInParameters, + ConnectHealth::Endpoint::ConnectHealthClientContextParameters>; +} // namespace Endpoint + +namespace ConnectHealth { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthServiceClientModel.h b/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthServiceClientModel.h index 6d5478b51879..1acccfa8522d 100644 --- a/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthServiceClientModel.h @@ -65,7 +65,6 @@ class RetryStrategy; } // namespace Client namespace ConnectHealth { -using ConnectHealthClientConfiguration = Aws::Client::GenericClientConfiguration; using ConnectHealthEndpointProviderBase = Aws::ConnectHealth::Endpoint::ConnectHealthEndpointProviderBase; using ConnectHealthEndpointProvider = Aws::ConnectHealth::Endpoint::ConnectHealthEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthClient.cpp b/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthClient.cpp index 2ee3b8be1f9f..d701602d4681 100644 --- a/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthClient.cpp +++ b/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthClient.cpp @@ -99,43 +99,6 @@ ConnectHealthClient::ConnectHealthClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectHealthClient::ConnectHealthClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectHealthClient::ConnectHealthClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConnectHealthClient::~ConnectHealthClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConnectHealthClient::accessEndpointProvider() { return m_endpointProvider; } @@ -153,12 +116,7 @@ void ConnectHealthClient::init(const ConnectHealth::ConnectHealthClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "health-agent"); -} - -void ConnectHealthClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConnectHealthClient::InvokeOperationOutcome ConnectHealthClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthClientConfiguration.cpp b/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthClientConfiguration.cpp new file mode 100644 index 000000000000..99960a469d46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ConnectHealth { + +void ConnectHealthClientConfiguration::LoadConnectHealthSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConnectHealthClientConfiguration::ConnectHealthClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConnectHealthSpecificConfig(this->profileName); +} + +ConnectHealthClientConfiguration::ConnectHealthClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConnectHealthSpecificConfig(Aws::String(inputProfileName)); +} + +ConnectHealthClientConfiguration::ConnectHealthClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConnectHealthSpecificConfig(this->profileName); +} + +ConnectHealthClientConfiguration::ConnectHealthClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConnectHealthSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectHealthClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace ConnectHealth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthEndpointProvider.cpp b/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthEndpointProvider.cpp index 2f1569cafcaf..73a638c6c5e1 100644 --- a/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_CONNECTHEALTH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ConnectHealth { namespace Endpoint { ConnectHealthEndpointProvider::ConnectHealthEndpointProvider() : ConnectHealthDefaultEpProviderBase(Aws::ConnectHealth::ConnectHealthEndpointRules::GetRulesBlob(), Aws::ConnectHealth::ConnectHealthEndpointRules::RulesBlobSize) {} +void ConnectHealthBuiltInParameters::SetFromClientConfiguration(const ConnectHealthClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConnectHealthBuiltInParameters::SetFromClientConfiguration(const ConnectHealthClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConnectHealthBuiltInParameters::SetServiceSpecificParameters(const ConnectHealthClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace ConnectHealth } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantClient.h b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantClient.h index a6996f7202ce..084ca7b8ac42 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantClient.h +++ b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantClient.h @@ -65,27 +65,6 @@ class AWS_CONNECTPARTICIPANT_API ConnectParticipantClient : public Aws::Client:: const Aws::ConnectParticipant::ConnectParticipantClientConfiguration& clientConfiguration = Aws::ConnectParticipant::ConnectParticipantClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConnectParticipantClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConnectParticipantClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConnectParticipantClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConnectParticipantClient(); /** @@ -534,7 +513,6 @@ class AWS_CONNECTPARTICIPANT_API ConnectParticipantClient : public Aws::Client:: return SubmitAsync(&ConnectParticipantClient::StartAttachmentUpload, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantClientConfiguration.h b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantClientConfiguration.h new file mode 100644 index 000000000000..22db4e6d61b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ConnectParticipant { +struct AWS_CONNECTPARTICIPANT_API ConnectParticipantClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConnectParticipantClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectParticipantClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectParticipantClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConnectParticipantClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadConnectParticipantSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONNECTPARTICIPANT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectParticipantClientConfiguration& config); +} // namespace ConnectParticipant +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantEndpointProvider.h b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantEndpointProvider.h index f8ca7d965cdf..beade36cefa8 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ConnectParticipant { namespace Endpoint { +using ConnectParticipantClientConfiguration = Aws::ConnectParticipant::ConnectParticipantClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConnectParticipantClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConnectParticipantClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConnectParticipantBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONNECTPARTICIPANT_API ConnectParticipantBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConnectParticipantBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConnectParticipantClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConnectParticipantClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConnectParticipantClientConfiguration& config); +}; /** * The type for the ConnectParticipant Client Endpoint Provider. @@ -36,6 +45,24 @@ using ConnectParticipantDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ConnectParticipant + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONNECTPARTICIPANT_EXTERN template class AWS_CONNECTPARTICIPANT_API Aws::Endpoint::EndpointProviderBase< + ConnectParticipant::Endpoint::ConnectParticipantClientConfiguration, ConnectParticipant::Endpoint::ConnectParticipantBuiltInParameters, + ConnectParticipant::Endpoint::ConnectParticipantClientContextParameters>; + +AWS_CONNECTPARTICIPANT_EXTERN template class AWS_CONNECTPARTICIPANT_API Aws::Endpoint::BDDEndpointProvider< + ConnectParticipant::Endpoint::ConnectParticipantClientConfiguration, ConnectParticipant::Endpoint::ConnectParticipantBuiltInParameters, + ConnectParticipant::Endpoint::ConnectParticipantClientContextParameters>; +} // namespace Endpoint + +namespace ConnectParticipant { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantServiceClientModel.h b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantServiceClientModel.h index 201dcc3e79c9..f45b9737e526 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantServiceClientModel.h @@ -57,7 +57,6 @@ class RetryStrategy; } // namespace Client namespace ConnectParticipant { -using ConnectParticipantClientConfiguration = Aws::Client::GenericClientConfiguration; using ConnectParticipantEndpointProviderBase = Aws::ConnectParticipant::Endpoint::ConnectParticipantEndpointProviderBase; using ConnectParticipantEndpointProvider = Aws::ConnectParticipant::Endpoint::ConnectParticipantEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantClient.cpp b/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantClient.cpp index 0bd97747e368..233a3d6121d5 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantClient.cpp +++ b/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantClient.cpp @@ -92,42 +92,6 @@ ConnectParticipantClient::ConnectParticipantClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectParticipantClient::ConnectParticipantClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectParticipantClient::ConnectParticipantClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConnectParticipantClient::~ConnectParticipantClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConnectParticipantClient::accessEndpointProvider() { return m_endpointProvider; } @@ -145,12 +109,7 @@ void ConnectParticipantClient::init(const ConnectParticipant::ConnectParticipant AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "execute-api"); -} - -void ConnectParticipantClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConnectParticipantClient::InvokeOperationOutcome ConnectParticipantClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantClientConfiguration.cpp b/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantClientConfiguration.cpp new file mode 100644 index 000000000000..b546870351c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ConnectParticipant { + +void ConnectParticipantClientConfiguration::LoadConnectParticipantSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConnectParticipantClientConfiguration::ConnectParticipantClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConnectParticipantSpecificConfig(this->profileName); +} + +ConnectParticipantClientConfiguration::ConnectParticipantClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConnectParticipantSpecificConfig(Aws::String(inputProfileName)); +} + +ConnectParticipantClientConfiguration::ConnectParticipantClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConnectParticipantSpecificConfig(this->profileName); +} + +ConnectParticipantClientConfiguration::ConnectParticipantClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConnectParticipantSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectParticipantClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ConnectParticipant +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantEndpointProvider.cpp b/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantEndpointProvider.cpp index 2b9a799fcc61..58fc26c2d676 100644 --- a/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONNECTPARTICIPANT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ConnectParticipant { namespace Endpoint { ConnectParticipantEndpointProvider::ConnectParticipantEndpointProvider() : ConnectParticipantDefaultEpProviderBase(Aws::ConnectParticipant::ConnectParticipantEndpointRules::GetRulesBlob(), Aws::ConnectParticipant::ConnectParticipantEndpointRules::RulesBlobSize) {} +void ConnectParticipantBuiltInParameters::SetFromClientConfiguration(const ConnectParticipantClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConnectParticipantBuiltInParameters::SetFromClientConfiguration(const ConnectParticipantClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConnectParticipantBuiltInParameters::SetServiceSpecificParameters(const ConnectParticipantClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ConnectParticipant } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumClient.h b/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumClient.h index 7bab3ea91d5b..045dd1640311 100644 --- a/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumClient.h +++ b/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumClient.h @@ -54,27 +54,6 @@ class AWS_CONTINUUM_API ContinuumClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Continuum::ContinuumClientConfiguration& clientConfiguration = Aws::Continuum::ContinuumClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ContinuumClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ContinuumClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ContinuumClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ContinuumClient(); /** @@ -1056,7 +1035,6 @@ class AWS_CONTINUUM_API ContinuumClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ContinuumClient::UpdateIntegration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumClientConfiguration.h b/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumClientConfiguration.h new file mode 100644 index 000000000000..4a701164d194 --- /dev/null +++ b/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Continuum { +struct AWS_CONTINUUM_API ContinuumClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ContinuumClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ContinuumClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ContinuumClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ContinuumClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadContinuumSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONTINUUM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ContinuumClientConfiguration& config); +} // namespace Continuum +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumEndpointProvider.h b/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumEndpointProvider.h index f5e5dcb7e52f..0c4de5d8ad2d 100644 --- a/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace Continuum { namespace Endpoint { +using ContinuumClientConfiguration = Aws::Continuum::ContinuumClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ContinuumClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ContinuumClientConfiguration = Aws::Client::GenericClientConfiguration; -using ContinuumBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONTINUUM_API ContinuumBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ContinuumBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ContinuumClientConfiguration& config); + virtual void SetFromClientConfiguration(const ContinuumClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ContinuumClientConfiguration& config); +}; /** * The type for the Continuum Client Endpoint Provider. @@ -34,6 +43,24 @@ using ContinuumEndpointProviderBase = using ContinuumDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Continuum + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONTINUUM_EXTERN template class AWS_CONTINUUM_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CONTINUUM_EXTERN template class AWS_CONTINUUM_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Continuum { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumServiceClientModel.h b/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumServiceClientModel.h index df12b79f96f8..26506dd33d83 100644 --- a/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace Continuum { -using ContinuumClientConfiguration = Aws::Client::GenericClientConfiguration; using ContinuumEndpointProviderBase = Aws::Continuum::Endpoint::ContinuumEndpointProviderBase; using ContinuumEndpointProvider = Aws::Continuum::Endpoint::ContinuumEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-continuum/source/ContinuumClient.cpp b/generated/src/aws-cpp-sdk-continuum/source/ContinuumClient.cpp index 4c24a960a2a0..3ad42900293c 100644 --- a/generated/src/aws-cpp-sdk-continuum/source/ContinuumClient.cpp +++ b/generated/src/aws-cpp-sdk-continuum/source/ContinuumClient.cpp @@ -110,41 +110,6 @@ ContinuumClient::ContinuumClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ContinuumClient::ContinuumClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ContinuumClient::ContinuumClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ContinuumClient::ContinuumClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ContinuumClient::~ContinuumClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ContinuumClient::accessEndpointProvider() { return m_endpointProvider; } @@ -162,12 +127,7 @@ void ContinuumClient::init(const Continuum::ContinuumClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "continuum"); -} - -void ContinuumClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ContinuumClient::InvokeOperationOutcome ContinuumClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-continuum/source/ContinuumClientConfiguration.cpp b/generated/src/aws-cpp-sdk-continuum/source/ContinuumClientConfiguration.cpp new file mode 100644 index 000000000000..1613493c42e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-continuum/source/ContinuumClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Continuum { + +void ContinuumClientConfiguration::LoadContinuumSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ContinuumClientConfiguration::ContinuumClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadContinuumSpecificConfig(this->profileName); +} + +ContinuumClientConfiguration::ContinuumClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadContinuumSpecificConfig(Aws::String(inputProfileName)); +} + +ContinuumClientConfiguration::ContinuumClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadContinuumSpecificConfig(this->profileName); +} + +ContinuumClientConfiguration::ContinuumClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadContinuumSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ContinuumClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Continuum +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-continuum/source/ContinuumEndpointProvider.cpp b/generated/src/aws-cpp-sdk-continuum/source/ContinuumEndpointProvider.cpp index 4f5f088f9931..074585d01ad1 100644 --- a/generated/src/aws-cpp-sdk-continuum/source/ContinuumEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-continuum/source/ContinuumEndpointProvider.cpp @@ -7,12 +7,42 @@ #include namespace Aws { +#ifndef AWS_CONTINUUM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Continuum { namespace Endpoint { ContinuumEndpointProvider::ContinuumEndpointProvider() : ContinuumDefaultEpProviderBase(Aws::Continuum::ContinuumEndpointRules::GetRulesBlob(), Aws::Continuum::ContinuumEndpointRules::RulesBlobSize) {} +void ContinuumBuiltInParameters::SetFromClientConfiguration(const ContinuumClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ContinuumBuiltInParameters::SetFromClientConfiguration(const ContinuumClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ContinuumBuiltInParameters::SetServiceSpecificParameters(const ContinuumClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace Continuum } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClient.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClient.h index e3cd295caa24..1aabdcbfd35c 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClient.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClient.h @@ -73,27 +73,6 @@ class AWS_CONTROLCATALOG_API ControlCatalogClient : public Aws::Client::AWSJsonC const Aws::ControlCatalog::ControlCatalogClientConfiguration& clientConfiguration = Aws::ControlCatalog::ControlCatalogClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ControlCatalogClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ControlCatalogClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ControlCatalogClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ControlCatalogClient(); /** @@ -275,7 +254,6 @@ class AWS_CONTROLCATALOG_API ControlCatalogClient : public Aws::Client::AWSJsonC return SubmitAsync(&ControlCatalogClient::ListObjectives, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClientConfiguration.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClientConfiguration.h new file mode 100644 index 000000000000..49357aa53e7d --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ControlCatalog { +struct AWS_CONTROLCATALOG_API ControlCatalogClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ControlCatalogClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ControlCatalogClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ControlCatalogClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ControlCatalogClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadControlCatalogSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONTROLCATALOG_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ControlCatalogClientConfiguration& config); +} // namespace ControlCatalog +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogEndpointProvider.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogEndpointProvider.h index b459fae31793..acf93f50f7d8 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ControlCatalog { namespace Endpoint { +using ControlCatalogClientConfiguration = Aws::ControlCatalog::ControlCatalogClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ControlCatalogClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ControlCatalogClientConfiguration = Aws::Client::GenericClientConfiguration; -using ControlCatalogBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONTROLCATALOG_API ControlCatalogBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ControlCatalogBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ControlCatalogClientConfiguration& config); + virtual void SetFromClientConfiguration(const ControlCatalogClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ControlCatalogClientConfiguration& config); +}; /** * The type for the ControlCatalog Client Endpoint Provider. @@ -34,6 +43,24 @@ using ControlCatalogEndpointProviderBase = using ControlCatalogDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ControlCatalog + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONTROLCATALOG_EXTERN template class AWS_CONTROLCATALOG_API Aws::Endpoint::EndpointProviderBase< + ControlCatalog::Endpoint::ControlCatalogClientConfiguration, ControlCatalog::Endpoint::ControlCatalogBuiltInParameters, + ControlCatalog::Endpoint::ControlCatalogClientContextParameters>; + +AWS_CONTROLCATALOG_EXTERN template class AWS_CONTROLCATALOG_API Aws::Endpoint::BDDEndpointProvider< + ControlCatalog::Endpoint::ControlCatalogClientConfiguration, ControlCatalog::Endpoint::ControlCatalogBuiltInParameters, + ControlCatalog::Endpoint::ControlCatalogClientContextParameters>; +} // namespace Endpoint + +namespace ControlCatalog { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogServiceClientModel.h b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogServiceClientModel.h index 92a1f2f6f607..2933c124cbf7 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogServiceClientModel.h @@ -57,7 +57,6 @@ class RetryStrategy; } // namespace Client namespace ControlCatalog { -using ControlCatalogClientConfiguration = Aws::Client::GenericClientConfiguration; using ControlCatalogEndpointProviderBase = Aws::ControlCatalog::Endpoint::ControlCatalogEndpointProviderBase; using ControlCatalogEndpointProvider = Aws::ControlCatalog::Endpoint::ControlCatalogEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClient.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClient.cpp index 498d6d1ba8fd..d1274c2534b4 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClient.cpp +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClient.cpp @@ -84,41 +84,6 @@ ControlCatalogClient::ControlCatalogClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ControlCatalogClient::ControlCatalogClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ControlCatalogClient::ControlCatalogClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ControlCatalogClient::~ControlCatalogClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ControlCatalogClient::accessEndpointProvider() { return m_endpointProvider; } @@ -136,12 +101,7 @@ void ControlCatalogClient::init(const ControlCatalog::ControlCatalogClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "controlcatalog"); -} - -void ControlCatalogClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ControlCatalogClient::InvokeOperationOutcome ControlCatalogClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClientConfiguration.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClientConfiguration.cpp new file mode 100644 index 000000000000..687ada3f8762 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ControlCatalog { + +void ControlCatalogClientConfiguration::LoadControlCatalogSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ControlCatalogClientConfiguration::ControlCatalogClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadControlCatalogSpecificConfig(this->profileName); +} + +ControlCatalogClientConfiguration::ControlCatalogClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadControlCatalogSpecificConfig(Aws::String(inputProfileName)); +} + +ControlCatalogClientConfiguration::ControlCatalogClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadControlCatalogSpecificConfig(this->profileName); +} + +ControlCatalogClientConfiguration::ControlCatalogClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadControlCatalogSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ControlCatalogClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ControlCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogEndpointProvider.cpp b/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogEndpointProvider.cpp index 34d2ee61790e..b706eab4a2bc 100644 --- a/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONTROLCATALOG_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ControlCatalog { namespace Endpoint { ControlCatalogEndpointProvider::ControlCatalogEndpointProvider() : ControlCatalogDefaultEpProviderBase(Aws::ControlCatalog::ControlCatalogEndpointRules::GetRulesBlob(), Aws::ControlCatalog::ControlCatalogEndpointRules::RulesBlobSize) {} +void ControlCatalogBuiltInParameters::SetFromClientConfiguration(const ControlCatalogClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ControlCatalogBuiltInParameters::SetFromClientConfiguration(const ControlCatalogClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ControlCatalogBuiltInParameters::SetServiceSpecificParameters(const ControlCatalogClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ControlCatalog } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClient.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClient.h index 0a1750f8ce56..72debab33185 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClient.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClient.h @@ -249,27 +249,6 @@ class AWS_CONTROLTOWER_API ControlTowerClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::ControlTower::ControlTowerClientConfiguration& clientConfiguration = Aws::ControlTower::ControlTowerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ControlTowerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ControlTowerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ControlTowerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ControlTowerClient(); /** @@ -1107,7 +1086,6 @@ class AWS_CONTROLTOWER_API ControlTowerClient : public Aws::Client::AWSJsonClien return SubmitAsync(&ControlTowerClient::UpdateLandingZone, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClientConfiguration.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClientConfiguration.h new file mode 100644 index 000000000000..bc7a6c7c41a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ControlTower { +struct AWS_CONTROLTOWER_API ControlTowerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ControlTowerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ControlTowerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ControlTowerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ControlTowerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadControlTowerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONTROLTOWER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ControlTowerClientConfiguration& config); +} // namespace ControlTower +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerEndpointProvider.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerEndpointProvider.h index cc4c3ef42dba..b5fbf391de0c 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerEndpointProvider.h @@ -4,8 +4,8 @@ */ #pragma once +#include #include -#include #include #include #include @@ -14,14 +14,23 @@ namespace Aws { namespace ControlTower { namespace Endpoint { +using ControlTowerClientConfiguration = Aws::ControlTower::ControlTowerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ControlTowerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ControlTowerClientConfiguration = Aws::Client::GenericClientConfiguration; -using ControlTowerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONTROLTOWER_API ControlTowerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ControlTowerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ControlTowerClientConfiguration& config); + virtual void SetFromClientConfiguration(const ControlTowerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ControlTowerClientConfiguration& config); +}; /** * The type for the ControlTower Client Endpoint Provider. @@ -34,6 +43,24 @@ using ControlTowerEndpointProviderBase = using ControlTowerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ControlTower + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONTROLTOWER_EXTERN template class AWS_CONTROLTOWER_API Aws::Endpoint::EndpointProviderBase< + ControlTower::Endpoint::ControlTowerClientConfiguration, ControlTower::Endpoint::ControlTowerBuiltInParameters, + ControlTower::Endpoint::ControlTowerClientContextParameters>; + +AWS_CONTROLTOWER_EXTERN template class AWS_CONTROLTOWER_API Aws::Endpoint::BDDEndpointProvider< + ControlTower::Endpoint::ControlTowerClientConfiguration, ControlTower::Endpoint::ControlTowerBuiltInParameters, + ControlTower::Endpoint::ControlTowerClientContextParameters>; +} // namespace Endpoint + +namespace ControlTower { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerServiceClientModel.h b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerServiceClientModel.h index 2cb9b9c44972..9e60d36d1303 100644 --- a/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerServiceClientModel.h @@ -81,7 +81,6 @@ class RetryStrategy; } // namespace Client namespace ControlTower { -using ControlTowerClientConfiguration = Aws::Client::GenericClientConfiguration; using ControlTowerEndpointProviderBase = Aws::ControlTower::Endpoint::ControlTowerEndpointProviderBase; using ControlTowerEndpointProvider = Aws::ControlTower::Endpoint::ControlTowerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClient.cpp b/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClient.cpp index f1f4d2f860e9..59f38e6c109d 100644 --- a/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClient.cpp +++ b/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClient.cpp @@ -106,41 +106,6 @@ ControlTowerClient::ControlTowerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ControlTowerClient::ControlTowerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ControlTowerClient::ControlTowerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ControlTowerClient::~ControlTowerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ControlTowerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -158,12 +123,7 @@ void ControlTowerClient::init(const ControlTower::ControlTowerClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "controltower"); -} - -void ControlTowerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ControlTowerClient::InvokeOperationOutcome ControlTowerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClientConfiguration.cpp new file mode 100644 index 000000000000..4108ecc232ec --- /dev/null +++ b/generated/src/aws-cpp-sdk-controltower/source/ControlTowerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ControlTower { + +void ControlTowerClientConfiguration::LoadControlTowerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ControlTowerClientConfiguration::ControlTowerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadControlTowerSpecificConfig(this->profileName); +} + +ControlTowerClientConfiguration::ControlTowerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadControlTowerSpecificConfig(Aws::String(inputProfileName)); +} + +ControlTowerClientConfiguration::ControlTowerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadControlTowerSpecificConfig(this->profileName); +} + +ControlTowerClientConfiguration::ControlTowerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadControlTowerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ControlTowerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ControlTower +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-controltower/source/ControlTowerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-controltower/source/ControlTowerEndpointProvider.cpp index 53f8397c7112..fdd8f23bcdb7 100644 --- a/generated/src/aws-cpp-sdk-controltower/source/ControlTowerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-controltower/source/ControlTowerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONTROLTOWER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ControlTower { namespace Endpoint { ControlTowerEndpointProvider::ControlTowerEndpointProvider() : ControlTowerDefaultEpProviderBase(Aws::ControlTower::ControlTowerEndpointRules::GetRulesBlob(), Aws::ControlTower::ControlTowerEndpointRules::RulesBlobSize) {} +void ControlTowerBuiltInParameters::SetFromClientConfiguration(const ControlTowerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ControlTowerBuiltInParameters::SetFromClientConfiguration(const ControlTowerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ControlTowerBuiltInParameters::SetServiceSpecificParameters(const ControlTowerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ControlTower } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClient.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClient.h index e08d972d5fe7..7f6705737345 100644 --- a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClient.h +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClient.h @@ -61,27 +61,6 @@ class AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubClient : public Aws::Client const Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration& clientConfiguration = Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CostOptimizationHubClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CostOptimizationHubClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CostOptimizationHubClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CostOptimizationHubClient(); /** @@ -329,7 +308,6 @@ class AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubClient : public Aws::Client return SubmitAsync(&CostOptimizationHubClient::UpdatePreferences, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClientConfiguration.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClientConfiguration.h new file mode 100644 index 000000000000..2ce6ec36160d --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CostOptimizationHub { +struct AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CostOptimizationHubClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CostOptimizationHubClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CostOptimizationHubClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CostOptimizationHubClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCostOptimizationHubSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COSTOPTIMIZATIONHUB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CostOptimizationHubClientConfiguration& config); +} // namespace CostOptimizationHub +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointProvider.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointProvider.h index 879d633e1549..eb27d2384187 100644 --- a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace CostOptimizationHub { namespace Endpoint { +using CostOptimizationHubClientConfiguration = Aws::CostOptimizationHub::CostOptimizationHubClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CostOptimizationHubClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CostOptimizationHubClientConfiguration = Aws::Client::GenericClientConfiguration; -using CostOptimizationHubBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COSTOPTIMIZATIONHUB_API CostOptimizationHubBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CostOptimizationHubBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CostOptimizationHubClientConfiguration& config); + virtual void SetFromClientConfiguration(const CostOptimizationHubClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CostOptimizationHubClientConfiguration& config); +}; /** * The type for the CostOptimizationHub Client Endpoint Provider. @@ -36,6 +45,26 @@ using CostOptimizationHubDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CostOptimizationHub + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COSTOPTIMIZATIONHUB_EXTERN template class AWS_COSTOPTIMIZATIONHUB_API + Aws::Endpoint::EndpointProviderBase; + +AWS_COSTOPTIMIZATIONHUB_EXTERN template class AWS_COSTOPTIMIZATIONHUB_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace CostOptimizationHub { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubServiceClientModel.h b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubServiceClientModel.h index c89c7de3bbb2..641e9317d983 100644 --- a/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubServiceClientModel.h @@ -58,7 +58,6 @@ class RetryStrategy; } // namespace Client namespace CostOptimizationHub { -using CostOptimizationHubClientConfiguration = Aws::Client::GenericClientConfiguration; using CostOptimizationHubEndpointProviderBase = Aws::CostOptimizationHub::Endpoint::CostOptimizationHubEndpointProviderBase; using CostOptimizationHubEndpointProvider = Aws::CostOptimizationHub::Endpoint::CostOptimizationHubEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClient.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClient.cpp index dd1e0732359b..1534a623e0e2 100644 --- a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClient.cpp +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClient.cpp @@ -89,42 +89,6 @@ CostOptimizationHubClient::CostOptimizationHubClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CostOptimizationHubClient::CostOptimizationHubClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CostOptimizationHubClient::CostOptimizationHubClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CostOptimizationHubClient::~CostOptimizationHubClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CostOptimizationHubClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +106,7 @@ void CostOptimizationHubClient::init(const CostOptimizationHub::CostOptimization AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cost-optimization-hub"); -} - -void CostOptimizationHubClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CostOptimizationHubClient::InvokeOperationOutcome CostOptimizationHubClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClientConfiguration.cpp new file mode 100644 index 000000000000..ed677bda511a --- /dev/null +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CostOptimizationHub { + +void CostOptimizationHubClientConfiguration::LoadCostOptimizationHubSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CostOptimizationHubClientConfiguration::CostOptimizationHubClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCostOptimizationHubSpecificConfig(this->profileName); +} + +CostOptimizationHubClientConfiguration::CostOptimizationHubClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCostOptimizationHubSpecificConfig(Aws::String(inputProfileName)); +} + +CostOptimizationHubClientConfiguration::CostOptimizationHubClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCostOptimizationHubSpecificConfig(this->profileName); +} + +CostOptimizationHubClientConfiguration::CostOptimizationHubClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCostOptimizationHubSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CostOptimizationHubClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CostOptimizationHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointProvider.cpp index b9f703a9cdc9..784c14f3e90d 100644 --- a/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_COSTOPTIMIZATIONHUB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CostOptimizationHub { namespace Endpoint { CostOptimizationHubEndpointProvider::CostOptimizationHubEndpointProvider() : CostOptimizationHubDefaultEpProviderBase(Aws::CostOptimizationHub::CostOptimizationHubEndpointRules::GetRulesBlob(), Aws::CostOptimizationHub::CostOptimizationHubEndpointRules::RulesBlobSize) {} +void CostOptimizationHubBuiltInParameters::SetFromClientConfiguration(const CostOptimizationHubClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CostOptimizationHubBuiltInParameters::SetFromClientConfiguration(const CostOptimizationHubClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CostOptimizationHubBuiltInParameters::SetServiceSpecificParameters(const CostOptimizationHubClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CostOptimizationHub } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceClient.h b/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceClient.h index eb2f467582ca..b3983c97312a 100644 --- a/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceClient.h +++ b/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceClient.h @@ -67,28 +67,6 @@ class AWS_COSTANDUSAGEREPORTSERVICE_API CostandUsageReportServiceClient const Aws::CostandUsageReportService::CostandUsageReportServiceClientConfiguration& clientConfiguration = Aws::CostandUsageReportService::CostandUsageReportServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CostandUsageReportServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CostandUsageReportServiceClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CostandUsageReportServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CostandUsageReportServiceClient(); /** @@ -282,7 +260,6 @@ class AWS_COSTANDUSAGEREPORTSERVICE_API CostandUsageReportServiceClient return SubmitAsync(&CostandUsageReportServiceClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceClientConfiguration.h new file mode 100644 index 000000000000..0f6205781ba4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CostandUsageReportService { +struct AWS_COSTANDUSAGEREPORTSERVICE_API CostandUsageReportServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CostandUsageReportServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CostandUsageReportServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CostandUsageReportServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CostandUsageReportServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCostandUsageReportServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_COSTANDUSAGEREPORTSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const CostandUsageReportServiceClientConfiguration& config); +} // namespace CostandUsageReportService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceEndpointProvider.h index 28fbfa99f563..24bea618d82f 100644 --- a/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace CostandUsageReportService { namespace Endpoint { +using CostandUsageReportServiceClientConfiguration = Aws::CostandUsageReportService::CostandUsageReportServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CostandUsageReportServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CostandUsageReportServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using CostandUsageReportServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_COSTANDUSAGEREPORTSERVICE_API CostandUsageReportServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CostandUsageReportServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CostandUsageReportServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const CostandUsageReportServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CostandUsageReportServiceClientConfiguration& config); +}; /** * The type for the CostandUsageReportService Client Endpoint Provider. @@ -36,6 +45,26 @@ using CostandUsageReportServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CostandUsageReportService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_COSTANDUSAGEREPORTSERVICE_EXTERN template class AWS_COSTANDUSAGEREPORTSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_COSTANDUSAGEREPORTSERVICE_EXTERN template class AWS_COSTANDUSAGEREPORTSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace CostandUsageReportService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceServiceClientModel.h index fc84f649b98f..9cf495f49c75 100644 --- a/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceServiceClientModel.h @@ -54,7 +54,6 @@ class RetryStrategy; } // namespace Client namespace CostandUsageReportService { -using CostandUsageReportServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using CostandUsageReportServiceEndpointProviderBase = Aws::CostandUsageReportService::Endpoint::CostandUsageReportServiceEndpointProviderBase; using CostandUsageReportServiceEndpointProvider = Aws::CostandUsageReportService::Endpoint::CostandUsageReportServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceClient.cpp b/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceClient.cpp index 1a63a7ebfa97..c164fbd9972a 100644 --- a/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceClient.cpp @@ -90,42 +90,6 @@ CostandUsageReportServiceClient::CostandUsageReportServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CostandUsageReportServiceClient::CostandUsageReportServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CostandUsageReportServiceClient::CostandUsageReportServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CostandUsageReportServiceClient::CostandUsageReportServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CostandUsageReportServiceClient::~CostandUsageReportServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CostandUsageReportServiceClient::accessEndpointProvider() { @@ -145,12 +109,7 @@ void CostandUsageReportServiceClient::init(const CostandUsageReportService::Cost AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cur"); -} - -void CostandUsageReportServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CostandUsageReportServiceClient::InvokeOperationOutcome CostandUsageReportServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceClientConfiguration.cpp new file mode 100644 index 000000000000..7d0101615dea --- /dev/null +++ b/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CostandUsageReportService { + +void CostandUsageReportServiceClientConfiguration::LoadCostandUsageReportServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CostandUsageReportServiceClientConfiguration::CostandUsageReportServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCostandUsageReportServiceSpecificConfig(this->profileName); +} + +CostandUsageReportServiceClientConfiguration::CostandUsageReportServiceClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCostandUsageReportServiceSpecificConfig(Aws::String(inputProfileName)); +} + +CostandUsageReportServiceClientConfiguration::CostandUsageReportServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCostandUsageReportServiceSpecificConfig(this->profileName); +} + +CostandUsageReportServiceClientConfiguration::CostandUsageReportServiceClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCostandUsageReportServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CostandUsageReportServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CostandUsageReportService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceEndpointProvider.cpp index bc7ab4f1c31d..1237d1feb6e1 100644 --- a/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceEndpointProvider.cpp @@ -7,6 +7,21 @@ #include namespace Aws { +#ifndef AWS_COSTANDUSAGEREPORTSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CostandUsageReportService { namespace Endpoint { CostandUsageReportServiceEndpointProvider::CostandUsageReportServiceEndpointProvider() @@ -14,6 +29,25 @@ CostandUsageReportServiceEndpointProvider::CostandUsageReportServiceEndpointProv Aws::CostandUsageReportService::CostandUsageReportServiceEndpointRules::GetRulesBlob(), Aws::CostandUsageReportService::CostandUsageReportServiceEndpointRules::RulesBlobSize) {} +void CostandUsageReportServiceBuiltInParameters::SetFromClientConfiguration(const CostandUsageReportServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CostandUsageReportServiceBuiltInParameters::SetFromClientConfiguration(const CostandUsageReportServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CostandUsageReportServiceBuiltInParameters::SetServiceSpecificParameters(const CostandUsageReportServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CostandUsageReportService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h index 307050c7c288..a5a55bbf11c3 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClient.h @@ -68,27 +68,6 @@ class AWS_CUSTOMERPROFILES_API CustomerProfilesClient : public Aws::Client::AWSJ const Aws::CustomerProfiles::CustomerProfilesClientConfiguration& clientConfiguration = Aws::CustomerProfiles::CustomerProfilesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CustomerProfilesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CustomerProfilesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CustomerProfilesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CustomerProfilesClient(); /** @@ -3431,7 +3410,6 @@ class AWS_CUSTOMERPROFILES_API CustomerProfilesClient : public Aws::Client::AWSJ return SubmitAsync(&CustomerProfilesClient::UpdateRecommender, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClientConfiguration.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClientConfiguration.h new file mode 100644 index 000000000000..1f8984f27a6c --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CustomerProfiles { +struct AWS_CUSTOMERPROFILES_API CustomerProfilesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CustomerProfilesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CustomerProfilesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CustomerProfilesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CustomerProfilesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCustomerProfilesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CUSTOMERPROFILES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CustomerProfilesClientConfiguration& config); +} // namespace CustomerProfiles +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesEndpointProvider.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesEndpointProvider.h index 8700bd1e04c6..b12920b775de 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace CustomerProfiles { namespace Endpoint { +using CustomerProfilesClientConfiguration = Aws::CustomerProfiles::CustomerProfilesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CustomerProfilesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CustomerProfilesClientConfiguration = Aws::Client::GenericClientConfiguration; -using CustomerProfilesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CUSTOMERPROFILES_API CustomerProfilesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CustomerProfilesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CustomerProfilesClientConfiguration& config); + virtual void SetFromClientConfiguration(const CustomerProfilesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CustomerProfilesClientConfiguration& config); +}; /** * The type for the CustomerProfiles Client Endpoint Provider. @@ -34,6 +43,24 @@ using CustomerProfilesEndpointProviderBase = using CustomerProfilesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CustomerProfiles + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CUSTOMERPROFILES_EXTERN template class AWS_CUSTOMERPROFILES_API Aws::Endpoint::EndpointProviderBase< + CustomerProfiles::Endpoint::CustomerProfilesClientConfiguration, CustomerProfiles::Endpoint::CustomerProfilesBuiltInParameters, + CustomerProfiles::Endpoint::CustomerProfilesClientContextParameters>; + +AWS_CUSTOMERPROFILES_EXTERN template class AWS_CUSTOMERPROFILES_API Aws::Endpoint::BDDEndpointProvider< + CustomerProfiles::Endpoint::CustomerProfilesClientConfiguration, CustomerProfiles::Endpoint::CustomerProfilesBuiltInParameters, + CustomerProfiles::Endpoint::CustomerProfilesClientContextParameters>; +} // namespace Endpoint + +namespace CustomerProfiles { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h index ad4de0387d85..cd0ba5211f11 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesServiceClientModel.h @@ -164,7 +164,6 @@ class RetryStrategy; } // namespace Client namespace CustomerProfiles { -using CustomerProfilesClientConfiguration = Aws::Client::GenericClientConfiguration; using CustomerProfilesEndpointProviderBase = Aws::CustomerProfiles::Endpoint::CustomerProfilesEndpointProviderBase; using CustomerProfilesEndpointProvider = Aws::CustomerProfiles::Endpoint::CustomerProfilesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp index 1e020c85fc24..9d0dad426066 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClient.cpp @@ -196,42 +196,6 @@ CustomerProfilesClient::CustomerProfilesClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CustomerProfilesClient::CustomerProfilesClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CustomerProfilesClient::CustomerProfilesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CustomerProfilesClient::~CustomerProfilesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CustomerProfilesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -249,12 +213,7 @@ void CustomerProfilesClient::init(const CustomerProfiles::CustomerProfilesClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "profile"); -} - -void CustomerProfilesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CustomerProfilesClient::InvokeOperationOutcome CustomerProfilesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClientConfiguration.cpp new file mode 100644 index 000000000000..523c762dbf01 --- /dev/null +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CustomerProfiles { + +void CustomerProfilesClientConfiguration::LoadCustomerProfilesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CustomerProfilesClientConfiguration::CustomerProfilesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCustomerProfilesSpecificConfig(this->profileName); +} + +CustomerProfilesClientConfiguration::CustomerProfilesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCustomerProfilesSpecificConfig(Aws::String(inputProfileName)); +} + +CustomerProfilesClientConfiguration::CustomerProfilesClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCustomerProfilesSpecificConfig(this->profileName); +} + +CustomerProfilesClientConfiguration::CustomerProfilesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCustomerProfilesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CustomerProfilesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CustomerProfiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesEndpointProvider.cpp index 430ee18aeac1..67e3e29b1dab 100644 --- a/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CUSTOMERPROFILES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CustomerProfiles { namespace Endpoint { CustomerProfilesEndpointProvider::CustomerProfilesEndpointProvider() : CustomerProfilesDefaultEpProviderBase(Aws::CustomerProfiles::CustomerProfilesEndpointRules::GetRulesBlob(), Aws::CustomerProfiles::CustomerProfilesEndpointRules::RulesBlobSize) {} +void CustomerProfilesBuiltInParameters::SetFromClientConfiguration(const CustomerProfilesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CustomerProfilesBuiltInParameters::SetFromClientConfiguration(const CustomerProfilesClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CustomerProfilesBuiltInParameters::SetServiceSpecificParameters(const CustomerProfilesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CustomerProfiles } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewClient.h b/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewClient.h index b844f1f6a23c..6ade7201d01b 100644 --- a/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewClient.h +++ b/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewClient.h @@ -59,27 +59,6 @@ class AWS_GLUEDATABREW_API GlueDataBrewClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::GlueDataBrew::GlueDataBrewClientConfiguration& clientConfiguration = Aws::GlueDataBrew::GlueDataBrewClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GlueDataBrewClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GlueDataBrewClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GlueDataBrewClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GlueDataBrewClient(); /** @@ -1237,7 +1216,6 @@ class AWS_GLUEDATABREW_API GlueDataBrewClient : public Aws::Client::AWSJsonClien return SubmitAsync(&GlueDataBrewClient::UpdateSchedule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewClientConfiguration.h b/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewClientConfiguration.h new file mode 100644 index 000000000000..de8a751cd773 --- /dev/null +++ b/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GlueDataBrew { +struct AWS_GLUEDATABREW_API GlueDataBrewClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GlueDataBrewClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GlueDataBrewClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GlueDataBrewClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GlueDataBrewClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGlueDataBrewSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GLUEDATABREW_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GlueDataBrewClientConfiguration& config); +} // namespace GlueDataBrew +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewEndpointProvider.h b/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewEndpointProvider.h index 37c0543e989d..bac98b8363a1 100644 --- a/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GlueDataBrew { namespace Endpoint { +using GlueDataBrewClientConfiguration = Aws::GlueDataBrew::GlueDataBrewClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GlueDataBrewClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GlueDataBrewClientConfiguration = Aws::Client::GenericClientConfiguration; -using GlueDataBrewBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GLUEDATABREW_API GlueDataBrewBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GlueDataBrewBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GlueDataBrewClientConfiguration& config); + virtual void SetFromClientConfiguration(const GlueDataBrewClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GlueDataBrewClientConfiguration& config); +}; /** * The type for the GlueDataBrew Client Endpoint Provider. @@ -34,6 +43,24 @@ using GlueDataBrewEndpointProviderBase = using GlueDataBrewDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GlueDataBrew + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GLUEDATABREW_EXTERN template class AWS_GLUEDATABREW_API Aws::Endpoint::EndpointProviderBase< + GlueDataBrew::Endpoint::GlueDataBrewClientConfiguration, GlueDataBrew::Endpoint::GlueDataBrewBuiltInParameters, + GlueDataBrew::Endpoint::GlueDataBrewClientContextParameters>; + +AWS_GLUEDATABREW_EXTERN template class AWS_GLUEDATABREW_API Aws::Endpoint::BDDEndpointProvider< + GlueDataBrew::Endpoint::GlueDataBrewClientConfiguration, GlueDataBrew::Endpoint::GlueDataBrewBuiltInParameters, + GlueDataBrew::Endpoint::GlueDataBrewClientContextParameters>; +} // namespace Endpoint + +namespace GlueDataBrew { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewServiceClientModel.h b/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewServiceClientModel.h index 6df958974293..e60f357e4e6e 100644 --- a/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewServiceClientModel.h @@ -96,7 +96,6 @@ class RetryStrategy; } // namespace Client namespace GlueDataBrew { -using GlueDataBrewClientConfiguration = Aws::Client::GenericClientConfiguration; using GlueDataBrewEndpointProviderBase = Aws::GlueDataBrew::Endpoint::GlueDataBrewEndpointProviderBase; using GlueDataBrewEndpointProvider = Aws::GlueDataBrew::Endpoint::GlueDataBrewEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewClient.cpp b/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewClient.cpp index b6a21d16a485..b975c22360c1 100644 --- a/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewClient.cpp +++ b/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewClient.cpp @@ -122,41 +122,6 @@ GlueDataBrewClient::GlueDataBrewClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GlueDataBrewClient::GlueDataBrewClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GlueDataBrewClient::GlueDataBrewClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GlueDataBrewClient::~GlueDataBrewClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GlueDataBrewClient::accessEndpointProvider() { return m_endpointProvider; } @@ -174,12 +139,7 @@ void GlueDataBrewClient::init(const GlueDataBrew::GlueDataBrewClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "databrew"); -} - -void GlueDataBrewClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GlueDataBrewClient::InvokeOperationOutcome GlueDataBrewClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewClientConfiguration.cpp b/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewClientConfiguration.cpp new file mode 100644 index 000000000000..0729cefa1e74 --- /dev/null +++ b/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GlueDataBrew { + +void GlueDataBrewClientConfiguration::LoadGlueDataBrewSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GlueDataBrewClientConfiguration::GlueDataBrewClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGlueDataBrewSpecificConfig(this->profileName); +} + +GlueDataBrewClientConfiguration::GlueDataBrewClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGlueDataBrewSpecificConfig(Aws::String(inputProfileName)); +} + +GlueDataBrewClientConfiguration::GlueDataBrewClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGlueDataBrewSpecificConfig(this->profileName); +} + +GlueDataBrewClientConfiguration::GlueDataBrewClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGlueDataBrewSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GlueDataBrewClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GlueDataBrew +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewEndpointProvider.cpp b/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewEndpointProvider.cpp index cfb7add3fc9b..40f95f082738 100644 --- a/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_GLUEDATABREW_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GlueDataBrew { namespace Endpoint { GlueDataBrewEndpointProvider::GlueDataBrewEndpointProvider() : GlueDataBrewDefaultEpProviderBase(Aws::GlueDataBrew::GlueDataBrewEndpointRules::GetRulesBlob(), Aws::GlueDataBrew::GlueDataBrewEndpointRules::RulesBlobSize) {} +void GlueDataBrewBuiltInParameters::SetFromClientConfiguration(const GlueDataBrewClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GlueDataBrewBuiltInParameters::SetFromClientConfiguration(const GlueDataBrewClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GlueDataBrewBuiltInParameters::SetServiceSpecificParameters(const GlueDataBrewClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GlueDataBrew } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeClient.h b/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeClient.h index 15fb142dba55..433a7ad04eda 100644 --- a/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeClient.h +++ b/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeClient.h @@ -72,27 +72,6 @@ class AWS_DATAEXCHANGE_API DataExchangeClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::DataExchange::DataExchangeClientConfiguration& clientConfiguration = Aws::DataExchange::DataExchangeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DataExchangeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DataExchangeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DataExchangeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DataExchangeClient(); /** @@ -1054,7 +1033,6 @@ class AWS_DATAEXCHANGE_API DataExchangeClient : public Aws::Client::AWSJsonClien return SubmitAsync(&DataExchangeClient::UpdateRevision, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeClientConfiguration.h b/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeClientConfiguration.h new file mode 100644 index 000000000000..cefa35bda9f6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeClientConfiguration.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DataExchange { +struct AWS_DATAEXCHANGE_API DataExchangeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DataExchangeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DataExchangeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DataExchangeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DataExchangeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadDataExchangeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DATAEXCHANGE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DataExchangeClientConfiguration& config); +} // namespace DataExchange +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeEndpointProvider.h b/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeEndpointProvider.h index 8671f49a9e3c..d9dad56f9ffa 100644 --- a/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DataExchange { namespace Endpoint { +using DataExchangeClientConfiguration = Aws::DataExchange::DataExchangeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DataExchangeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DataExchangeClientConfiguration = Aws::Client::GenericClientConfiguration; -using DataExchangeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DATAEXCHANGE_API DataExchangeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DataExchangeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DataExchangeClientConfiguration& config); + virtual void SetFromClientConfiguration(const DataExchangeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DataExchangeClientConfiguration& config); +}; /** * The type for the DataExchange Client Endpoint Provider. @@ -34,6 +43,24 @@ using DataExchangeEndpointProviderBase = using DataExchangeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DataExchange + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DATAEXCHANGE_EXTERN template class AWS_DATAEXCHANGE_API Aws::Endpoint::EndpointProviderBase< + DataExchange::Endpoint::DataExchangeClientConfiguration, DataExchange::Endpoint::DataExchangeBuiltInParameters, + DataExchange::Endpoint::DataExchangeClientContextParameters>; + +AWS_DATAEXCHANGE_EXTERN template class AWS_DATAEXCHANGE_API Aws::Endpoint::BDDEndpointProvider< + DataExchange::Endpoint::DataExchangeClientConfiguration, DataExchange::Endpoint::DataExchangeBuiltInParameters, + DataExchange::Endpoint::DataExchangeClientContextParameters>; +} // namespace Endpoint + +namespace DataExchange { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeServiceClientModel.h b/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeServiceClientModel.h index c07544f27138..e6b8206ac3ee 100644 --- a/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeServiceClientModel.h @@ -81,7 +81,6 @@ class RetryStrategy; } // namespace Client namespace DataExchange { -using DataExchangeClientConfiguration = Aws::Client::GenericClientConfiguration; using DataExchangeEndpointProviderBase = Aws::DataExchange::Endpoint::DataExchangeEndpointProviderBase; using DataExchangeEndpointProvider = Aws::DataExchange::Endpoint::DataExchangeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeClient.cpp b/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeClient.cpp index 88a2607bb45d..b4deb4ae9056 100644 --- a/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeClient.cpp +++ b/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeClient.cpp @@ -117,43 +117,6 @@ DataExchangeClient::DataExchangeClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DataExchangeClient::DataExchangeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DataExchangeClient::DataExchangeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DataExchangeClient::~DataExchangeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DataExchangeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -171,12 +134,7 @@ void DataExchangeClient::init(const DataExchange::DataExchangeClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "dataexchange"); -} - -void DataExchangeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DataExchangeClient::InvokeOperationOutcome DataExchangeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeClientConfiguration.cpp new file mode 100644 index 000000000000..1ca253c64f7e --- /dev/null +++ b/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DataExchange { + +void DataExchangeClientConfiguration::LoadDataExchangeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DataExchangeClientConfiguration::DataExchangeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDataExchangeSpecificConfig(this->profileName); +} + +DataExchangeClientConfiguration::DataExchangeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDataExchangeSpecificConfig(Aws::String(inputProfileName)); +} + +DataExchangeClientConfiguration::DataExchangeClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDataExchangeSpecificConfig(this->profileName); +} + +DataExchangeClientConfiguration::DataExchangeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDataExchangeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DataExchangeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace DataExchange +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeEndpointProvider.cpp index cf2706330f6a..6555943df3f9 100644 --- a/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_DATAEXCHANGE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DataExchange { namespace Endpoint { DataExchangeEndpointProvider::DataExchangeEndpointProvider() : DataExchangeDefaultEpProviderBase(Aws::DataExchange::DataExchangeEndpointRules::GetRulesBlob(), Aws::DataExchange::DataExchangeEndpointRules::RulesBlobSize) {} +void DataExchangeBuiltInParameters::SetFromClientConfiguration(const DataExchangeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DataExchangeBuiltInParameters::SetFromClientConfiguration(const DataExchangeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DataExchangeBuiltInParameters::SetServiceSpecificParameters(const DataExchangeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DataExchange } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineClient.h b/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineClient.h index feb82a9624f5..21fc894c18e4 100644 --- a/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineClient.h +++ b/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineClient.h @@ -72,27 +72,6 @@ class AWS_DATAPIPELINE_API DataPipelineClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::DataPipeline::DataPipelineClientConfiguration& clientConfiguration = Aws::DataPipeline::DataPipelineClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DataPipelineClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DataPipelineClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DataPipelineClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DataPipelineClient(); /** @@ -666,7 +645,6 @@ class AWS_DATAPIPELINE_API DataPipelineClient : public Aws::Client::AWSJsonClien return SubmitAsync(&DataPipelineClient::ValidatePipelineDefinition, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineClientConfiguration.h b/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineClientConfiguration.h new file mode 100644 index 000000000000..5a3a72024ff9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DataPipeline { +struct AWS_DATAPIPELINE_API DataPipelineClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DataPipelineClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DataPipelineClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DataPipelineClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DataPipelineClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDataPipelineSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DATAPIPELINE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DataPipelineClientConfiguration& config); +} // namespace DataPipeline +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineEndpointProvider.h b/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineEndpointProvider.h index b77eff4fb8ef..89a44624e6e8 100644 --- a/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DataPipeline { namespace Endpoint { +using DataPipelineClientConfiguration = Aws::DataPipeline::DataPipelineClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DataPipelineClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DataPipelineClientConfiguration = Aws::Client::GenericClientConfiguration; -using DataPipelineBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DATAPIPELINE_API DataPipelineBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DataPipelineBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DataPipelineClientConfiguration& config); + virtual void SetFromClientConfiguration(const DataPipelineClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DataPipelineClientConfiguration& config); +}; /** * The type for the DataPipeline Client Endpoint Provider. @@ -34,6 +43,24 @@ using DataPipelineEndpointProviderBase = using DataPipelineDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DataPipeline + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DATAPIPELINE_EXTERN template class AWS_DATAPIPELINE_API Aws::Endpoint::EndpointProviderBase< + DataPipeline::Endpoint::DataPipelineClientConfiguration, DataPipeline::Endpoint::DataPipelineBuiltInParameters, + DataPipeline::Endpoint::DataPipelineClientContextParameters>; + +AWS_DATAPIPELINE_EXTERN template class AWS_DATAPIPELINE_API Aws::Endpoint::BDDEndpointProvider< + DataPipeline::Endpoint::DataPipelineClientConfiguration, DataPipeline::Endpoint::DataPipelineBuiltInParameters, + DataPipeline::Endpoint::DataPipelineClientContextParameters>; +} // namespace Endpoint + +namespace DataPipeline { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineServiceClientModel.h b/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineServiceClientModel.h index bcef5b137c3a..d45ee7eac0c5 100644 --- a/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineServiceClientModel.h @@ -65,7 +65,6 @@ class RetryStrategy; } // namespace Client namespace DataPipeline { -using DataPipelineClientConfiguration = Aws::Client::GenericClientConfiguration; using DataPipelineEndpointProviderBase = Aws::DataPipeline::Endpoint::DataPipelineEndpointProviderBase; using DataPipelineEndpointProvider = Aws::DataPipeline::Endpoint::DataPipelineEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineClient.cpp b/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineClient.cpp index ab46ee4d6c40..398acf588c05 100644 --- a/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineClient.cpp +++ b/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineClient.cpp @@ -97,41 +97,6 @@ DataPipelineClient::DataPipelineClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DataPipelineClient::DataPipelineClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DataPipelineClient::DataPipelineClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DataPipelineClient::~DataPipelineClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DataPipelineClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void DataPipelineClient::init(const DataPipeline::DataPipelineClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "datapipeline"); -} - -void DataPipelineClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DataPipelineClient::InvokeOperationOutcome DataPipelineClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineClientConfiguration.cpp b/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineClientConfiguration.cpp new file mode 100644 index 000000000000..4b8d137f388c --- /dev/null +++ b/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DataPipeline { + +void DataPipelineClientConfiguration::LoadDataPipelineSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DataPipelineClientConfiguration::DataPipelineClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDataPipelineSpecificConfig(this->profileName); +} + +DataPipelineClientConfiguration::DataPipelineClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDataPipelineSpecificConfig(Aws::String(inputProfileName)); +} + +DataPipelineClientConfiguration::DataPipelineClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDataPipelineSpecificConfig(this->profileName); +} + +DataPipelineClientConfiguration::DataPipelineClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDataPipelineSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DataPipelineClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DataPipeline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineEndpointProvider.cpp b/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineEndpointProvider.cpp index fb8890ddbb5e..49b8efa201e3 100644 --- a/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_DATAPIPELINE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DataPipeline { namespace Endpoint { DataPipelineEndpointProvider::DataPipelineEndpointProvider() : DataPipelineDefaultEpProviderBase(Aws::DataPipeline::DataPipelineEndpointRules::GetRulesBlob(), Aws::DataPipeline::DataPipelineEndpointRules::RulesBlobSize) {} +void DataPipelineBuiltInParameters::SetFromClientConfiguration(const DataPipelineClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DataPipelineBuiltInParameters::SetFromClientConfiguration(const DataPipelineClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DataPipelineBuiltInParameters::SetServiceSpecificParameters(const DataPipelineClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DataPipeline } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h index dfe2414d672f..bb257356a172 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClient.h @@ -62,27 +62,6 @@ class AWS_DATASYNC_API DataSyncClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::DataSync::DataSyncClientConfiguration& clientConfiguration = Aws::DataSync::DataSyncClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DataSyncClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DataSyncClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DataSyncClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DataSyncClient(); /** @@ -1691,7 +1670,6 @@ class AWS_DATASYNC_API DataSyncClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DataSyncClient::UpdateTaskExecution, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClientConfiguration.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClientConfiguration.h new file mode 100644 index 000000000000..936e43aa8c19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DataSync { +struct AWS_DATASYNC_API DataSyncClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DataSyncClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DataSyncClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DataSyncClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DataSyncClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDataSyncSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DATASYNC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DataSyncClientConfiguration& config); +} // namespace DataSync +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncEndpointProvider.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncEndpointProvider.h index c09f272b1f62..17ecd269ca05 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DataSync { namespace Endpoint { +using DataSyncClientConfiguration = Aws::DataSync::DataSyncClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DataSyncClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DataSyncClientConfiguration = Aws::Client::GenericClientConfiguration; -using DataSyncBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DATASYNC_API DataSyncBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DataSyncBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DataSyncClientConfiguration& config); + virtual void SetFromClientConfiguration(const DataSyncClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DataSyncClientConfiguration& config); +}; /** * The type for the DataSync Client Endpoint Provider. @@ -34,6 +43,24 @@ using DataSyncEndpointProviderBase = using DataSyncDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DataSync + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DATASYNC_EXTERN template class AWS_DATASYNC_API + Aws::Endpoint::EndpointProviderBase; + +AWS_DATASYNC_EXTERN template class AWS_DATASYNC_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace DataSync { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncServiceClientModel.h b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncServiceClientModel.h index 117ddae9cb47..7e9b5d97f126 100644 --- a/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncServiceClientModel.h @@ -103,7 +103,6 @@ class RetryStrategy; } // namespace Client namespace DataSync { -using DataSyncClientConfiguration = Aws::Client::GenericClientConfiguration; using DataSyncEndpointProviderBase = Aws::DataSync::Endpoint::DataSyncEndpointProviderBase; using DataSyncEndpointProvider = Aws::DataSync::Endpoint::DataSyncEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-datasync/source/DataSyncClient.cpp b/generated/src/aws-cpp-sdk-datasync/source/DataSyncClient.cpp index 255e1824aa10..ab38ba2dd59a 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/DataSyncClient.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/DataSyncClient.cpp @@ -130,41 +130,6 @@ DataSyncClient::DataSyncClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DataSyncClient::DataSyncClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DataSyncClient::DataSyncClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DataSyncClient::DataSyncClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DataSyncClient::~DataSyncClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DataSyncClient::accessEndpointProvider() { return m_endpointProvider; } @@ -182,12 +147,7 @@ void DataSyncClient::init(const DataSync::DataSyncClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "datasync"); -} - -void DataSyncClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DataSyncClient::InvokeOperationOutcome DataSyncClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-datasync/source/DataSyncClientConfiguration.cpp b/generated/src/aws-cpp-sdk-datasync/source/DataSyncClientConfiguration.cpp new file mode 100644 index 000000000000..ad61666869f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-datasync/source/DataSyncClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DataSync { + +void DataSyncClientConfiguration::LoadDataSyncSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DataSyncClientConfiguration::DataSyncClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDataSyncSpecificConfig(this->profileName); +} + +DataSyncClientConfiguration::DataSyncClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDataSyncSpecificConfig(Aws::String(inputProfileName)); +} + +DataSyncClientConfiguration::DataSyncClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDataSyncSpecificConfig(this->profileName); +} + +DataSyncClientConfiguration::DataSyncClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDataSyncSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DataSyncClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DataSync +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datasync/source/DataSyncEndpointProvider.cpp b/generated/src/aws-cpp-sdk-datasync/source/DataSyncEndpointProvider.cpp index c560fa4bd583..c2fb0391734d 100644 --- a/generated/src/aws-cpp-sdk-datasync/source/DataSyncEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-datasync/source/DataSyncEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_DATASYNC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DataSync { namespace Endpoint { DataSyncEndpointProvider::DataSyncEndpointProvider() : DataSyncDefaultEpProviderBase(Aws::DataSync::DataSyncEndpointRules::GetRulesBlob(), Aws::DataSync::DataSyncEndpointRules::RulesBlobSize) {} +void DataSyncBuiltInParameters::SetFromClientConfiguration(const DataSyncClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DataSyncBuiltInParameters::SetFromClientConfiguration(const DataSyncClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DataSyncBuiltInParameters::SetServiceSpecificParameters(const DataSyncClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DataSync } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h index 087a2752bb93..4d5801ef1d1f 100644 --- a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClient.h @@ -57,27 +57,6 @@ class AWS_DATAZONE_API DataZoneClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::DataZone::DataZoneClientConfiguration& clientConfiguration = Aws::DataZone::DataZoneClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DataZoneClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DataZoneClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DataZoneClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DataZoneClient(); /** @@ -5688,7 +5667,6 @@ class AWS_DATAZONE_API DataZoneClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DataZoneClient::UpdateUserProfile, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClientConfiguration.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClientConfiguration.h new file mode 100644 index 000000000000..bd7c8583dbdc --- /dev/null +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClientConfiguration.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DataZone { +struct AWS_DATAZONE_API DataZoneClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DataZoneClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DataZoneClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DataZoneClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DataZoneClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadDataZoneSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DATAZONE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DataZoneClientConfiguration& config); +} // namespace DataZone +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneEndpointProvider.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneEndpointProvider.h index 517d13d25f16..bbf9915d18ab 100644 --- a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DataZone { namespace Endpoint { +using DataZoneClientConfiguration = Aws::DataZone::DataZoneClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DataZoneClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DataZoneClientConfiguration = Aws::Client::GenericClientConfiguration; -using DataZoneBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DATAZONE_API DataZoneBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DataZoneBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DataZoneClientConfiguration& config); + virtual void SetFromClientConfiguration(const DataZoneClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DataZoneClientConfiguration& config); +}; /** * The type for the DataZone Client Endpoint Provider. @@ -34,6 +43,24 @@ using DataZoneEndpointProviderBase = using DataZoneDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DataZone + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DATAZONE_EXTERN template class AWS_DATAZONE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_DATAZONE_EXTERN template class AWS_DATAZONE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace DataZone { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneServiceClientModel.h b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneServiceClientModel.h index fe3d5995bcef..728cc4201d94 100644 --- a/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneServiceClientModel.h @@ -236,7 +236,6 @@ class RetryStrategy; } // namespace Client namespace DataZone { -using DataZoneClientConfiguration = Aws::Client::GenericClientConfiguration; using DataZoneEndpointProviderBase = Aws::DataZone::Endpoint::DataZoneEndpointProviderBase; using DataZoneEndpointProvider = Aws::DataZone::Endpoint::DataZoneEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-datazone/source/DataZoneClient.cpp b/generated/src/aws-cpp-sdk-datazone/source/DataZoneClient.cpp index 3c8ecb9f8b06..ccc3689cf5f5 100644 --- a/generated/src/aws-cpp-sdk-datazone/source/DataZoneClient.cpp +++ b/generated/src/aws-cpp-sdk-datazone/source/DataZoneClient.cpp @@ -274,43 +274,6 @@ DataZoneClient::DataZoneClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DataZoneClient::DataZoneClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DataZoneClient::DataZoneClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DataZoneClient::DataZoneClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DataZoneClient::~DataZoneClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DataZoneClient::accessEndpointProvider() { return m_endpointProvider; } @@ -328,12 +291,7 @@ void DataZoneClient::init(const DataZone::DataZoneClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "datazone"); -} - -void DataZoneClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DataZoneClient::InvokeOperationOutcome DataZoneClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-datazone/source/DataZoneClientConfiguration.cpp b/generated/src/aws-cpp-sdk-datazone/source/DataZoneClientConfiguration.cpp new file mode 100644 index 000000000000..71f366f4429b --- /dev/null +++ b/generated/src/aws-cpp-sdk-datazone/source/DataZoneClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DataZone { + +void DataZoneClientConfiguration::LoadDataZoneSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DataZoneClientConfiguration::DataZoneClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDataZoneSpecificConfig(this->profileName); +} + +DataZoneClientConfiguration::DataZoneClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDataZoneSpecificConfig(Aws::String(inputProfileName)); +} + +DataZoneClientConfiguration::DataZoneClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDataZoneSpecificConfig(this->profileName); +} + +DataZoneClientConfiguration::DataZoneClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDataZoneSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DataZoneClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace DataZone +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-datazone/source/DataZoneEndpointProvider.cpp b/generated/src/aws-cpp-sdk-datazone/source/DataZoneEndpointProvider.cpp index 593a70d07ae7..21ebf1558847 100644 --- a/generated/src/aws-cpp-sdk-datazone/source/DataZoneEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-datazone/source/DataZoneEndpointProvider.cpp @@ -7,12 +7,42 @@ #include namespace Aws { +#ifndef AWS_DATAZONE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DataZone { namespace Endpoint { DataZoneEndpointProvider::DataZoneEndpointProvider() : DataZoneDefaultEpProviderBase(Aws::DataZone::DataZoneEndpointRules::GetRulesBlob(), Aws::DataZone::DataZoneEndpointRules::RulesBlobSize) {} +void DataZoneBuiltInParameters::SetFromClientConfiguration(const DataZoneClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DataZoneBuiltInParameters::SetFromClientConfiguration(const DataZoneClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DataZoneBuiltInParameters::SetServiceSpecificParameters(const DataZoneClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace DataZone } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXClient.h b/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXClient.h index b7cbf5432486..37706256df6c 100644 --- a/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXClient.h +++ b/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXClient.h @@ -58,27 +58,6 @@ class AWS_DAX_API DAXClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::DAX::DAXClientConfiguration& clientConfiguration = Aws::DAX::DAXClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DAXClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DAXClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DAXClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DAXClient(); /** @@ -674,7 +653,6 @@ class AWS_DAX_API DAXClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DAXClient::UpdateSubnetGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXClientConfiguration.h b/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXClientConfiguration.h new file mode 100644 index 000000000000..1821a6a43570 --- /dev/null +++ b/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DAX { +struct AWS_DAX_API DAXClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DAXClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DAXClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DAXClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DAXClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDAXSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DAX_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DAXClientConfiguration& config); +} // namespace DAX +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXEndpointProvider.h b/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXEndpointProvider.h index b30c60194cc1..7bb054ce43f4 100644 --- a/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DAX { namespace Endpoint { +using DAXClientConfiguration = Aws::DAX::DAXClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DAXClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DAXClientConfiguration = Aws::Client::GenericClientConfiguration; -using DAXBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DAX_API DAXBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DAXBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DAXClientConfiguration& config); + virtual void SetFromClientConfiguration(const DAXClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DAXClientConfiguration& config); +}; /** * The type for the DAX Client Endpoint Provider. @@ -32,6 +41,22 @@ using DAXEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace DAX + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DAX_EXTERN template class AWS_DAX_API Aws::Endpoint::EndpointProviderBase< + DAX::Endpoint::DAXClientConfiguration, DAX::Endpoint::DAXBuiltInParameters, DAX::Endpoint::DAXClientContextParameters>; + +AWS_DAX_EXTERN template class AWS_DAX_API Aws::Endpoint::BDDEndpointProvider< + DAX::Endpoint::DAXClientConfiguration, DAX::Endpoint::DAXBuiltInParameters, DAX::Endpoint::DAXClientContextParameters>; +} // namespace Endpoint + +namespace DAX { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXServiceClientModel.h b/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXServiceClientModel.h index 74c96dec8275..dd59cbaa14f1 100644 --- a/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXServiceClientModel.h @@ -72,7 +72,6 @@ class RetryStrategy; } // namespace Client namespace DAX { -using DAXClientConfiguration = Aws::Client::GenericClientConfiguration; using DAXEndpointProviderBase = Aws::DAX::Endpoint::DAXEndpointProviderBase; using DAXEndpointProvider = Aws::DAX::Endpoint::DAXEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-dax/source/DAXClient.cpp b/generated/src/aws-cpp-sdk-dax/source/DAXClient.cpp index a118a8605d62..4815c05c0481 100644 --- a/generated/src/aws-cpp-sdk-dax/source/DAXClient.cpp +++ b/generated/src/aws-cpp-sdk-dax/source/DAXClient.cpp @@ -96,41 +96,6 @@ DAXClient::DAXClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DAXClient::DAXClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DAXClient::DAXClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DAXClient::DAXClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DAXClient::~DAXClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DAXClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +113,7 @@ void DAXClient::init(const DAX::DAXClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "dax"); -} - -void DAXClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DAXClient::InvokeOperationOutcome DAXClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-dax/source/DAXClientConfiguration.cpp b/generated/src/aws-cpp-sdk-dax/source/DAXClientConfiguration.cpp new file mode 100644 index 000000000000..08861ab7ec25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-dax/source/DAXClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DAX { + +void DAXClientConfiguration::LoadDAXSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DAXClientConfiguration::DAXClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDAXSpecificConfig(this->profileName); +} + +DAXClientConfiguration::DAXClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDAXSpecificConfig(Aws::String(inputProfileName)); +} + +DAXClientConfiguration::DAXClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDAXSpecificConfig(this->profileName); +} + +DAXClientConfiguration::DAXClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadDAXSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DAXClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DAX +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dax/source/DAXEndpointProvider.cpp b/generated/src/aws-cpp-sdk-dax/source/DAXEndpointProvider.cpp index ac3e88e12cff..fb438fbf9de8 100644 --- a/generated/src/aws-cpp-sdk-dax/source/DAXEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-dax/source/DAXEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_DAX_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DAX { namespace Endpoint { DAXEndpointProvider::DAXEndpointProvider() : DAXDefaultEpProviderBase(Aws::DAX::DAXEndpointRules::GetRulesBlob(), Aws::DAX::DAXEndpointRules::RulesBlobSize) {} +void DAXBuiltInParameters::SetFromClientConfiguration(const DAXClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DAXBuiltInParameters::SetFromClientConfiguration(const DAXClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DAXBuiltInParameters::SetServiceSpecificParameters(const DAXClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DAX } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClient.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClient.h index 4be3d54471d9..a370b5283069 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClient.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClient.h @@ -59,27 +59,6 @@ class AWS_DEADLINE_API DeadlineClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::deadline::DeadlineClientConfiguration& clientConfiguration = Aws::deadline::DeadlineClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DeadlineClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DeadlineClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DeadlineClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DeadlineClient(); /** @@ -3517,7 +3496,6 @@ class AWS_DEADLINE_API DeadlineClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DeadlineClient::UpdateWorkerSchedule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClientConfiguration.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClientConfiguration.h new file mode 100644 index 000000000000..69e3d02f59dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace deadline { +struct AWS_DEADLINE_API DeadlineClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DeadlineClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DeadlineClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DeadlineClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DeadlineClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoaddeadlineSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DEADLINE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DeadlineClientConfiguration& config); +} // namespace deadline +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineEndpointProvider.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineEndpointProvider.h index 71d304ad3ed3..c53c029ff215 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace deadline { namespace Endpoint { +using DeadlineClientConfiguration = Aws::deadline::DeadlineClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DeadlineClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DeadlineClientConfiguration = Aws::Client::GenericClientConfiguration; -using DeadlineBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DEADLINE_API DeadlineBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DeadlineBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DeadlineClientConfiguration& config); + virtual void SetFromClientConfiguration(const DeadlineClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DeadlineClientConfiguration& config); +}; /** * The type for the deadline Client Endpoint Provider. @@ -34,6 +43,24 @@ using DeadlineEndpointProviderBase = using DeadlineDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace deadline + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DEADLINE_EXTERN template class AWS_DEADLINE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_DEADLINE_EXTERN template class AWS_DEADLINE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace deadline { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineServiceClientModel.h b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineServiceClientModel.h index 222530f8c5f3..c2bfbbca0eb4 100644 --- a/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineServiceClientModel.h @@ -177,7 +177,6 @@ class RetryStrategy; } // namespace Client namespace deadline { -using DeadlineClientConfiguration = Aws::Client::GenericClientConfiguration; using DeadlineEndpointProviderBase = Aws::deadline::Endpoint::DeadlineEndpointProviderBase; using DeadlineEndpointProvider = Aws::deadline::Endpoint::DeadlineEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-deadline/source/DeadlineClient.cpp b/generated/src/aws-cpp-sdk-deadline/source/DeadlineClient.cpp index 2b4939854445..3ae34652f3fe 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/DeadlineClient.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/DeadlineClient.cpp @@ -204,41 +204,6 @@ DeadlineClient::DeadlineClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DeadlineClient::DeadlineClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DeadlineClient::DeadlineClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DeadlineClient::DeadlineClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DeadlineClient::~DeadlineClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DeadlineClient::accessEndpointProvider() { return m_endpointProvider; } @@ -256,12 +221,7 @@ void DeadlineClient::init(const deadline::DeadlineClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "deadline"); -} - -void DeadlineClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DeadlineClient::InvokeOperationOutcome DeadlineClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-deadline/source/DeadlineClientConfiguration.cpp b/generated/src/aws-cpp-sdk-deadline/source/DeadlineClientConfiguration.cpp new file mode 100644 index 000000000000..7ebe5b5f0877 --- /dev/null +++ b/generated/src/aws-cpp-sdk-deadline/source/DeadlineClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace deadline { + +void DeadlineClientConfiguration::LoaddeadlineSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DeadlineClientConfiguration::DeadlineClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoaddeadlineSpecificConfig(this->profileName); +} + +DeadlineClientConfiguration::DeadlineClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoaddeadlineSpecificConfig(Aws::String(inputProfileName)); +} + +DeadlineClientConfiguration::DeadlineClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoaddeadlineSpecificConfig(this->profileName); +} + +DeadlineClientConfiguration::DeadlineClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoaddeadlineSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DeadlineClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace deadline +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-deadline/source/DeadlineEndpointProvider.cpp b/generated/src/aws-cpp-sdk-deadline/source/DeadlineEndpointProvider.cpp index 822b96ed922f..9b3472e59283 100644 --- a/generated/src/aws-cpp-sdk-deadline/source/DeadlineEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-deadline/source/DeadlineEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_DEADLINE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace deadline { namespace Endpoint { DeadlineEndpointProvider::DeadlineEndpointProvider() : DeadlineDefaultEpProviderBase(Aws::deadline::DeadlineEndpointRules::GetRulesBlob(), Aws::deadline::DeadlineEndpointRules::RulesBlobSize) {} +void DeadlineBuiltInParameters::SetFromClientConfiguration(const DeadlineClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DeadlineBuiltInParameters::SetFromClientConfiguration(const DeadlineClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DeadlineBuiltInParameters::SetServiceSpecificParameters(const DeadlineClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace deadline } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClient.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClient.h index a229963848c8..abe0b37c5b7b 100644 --- a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClient.h +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClient.h @@ -96,27 +96,6 @@ class AWS_DETECTIVE_API DetectiveClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Detective::DetectiveClientConfiguration& clientConfiguration = Aws::Detective::DetectiveClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DetectiveClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DetectiveClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DetectiveClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DetectiveClient(); /** @@ -1020,7 +999,6 @@ class AWS_DETECTIVE_API DetectiveClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DetectiveClient::UpdateOrganizationConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClientConfiguration.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClientConfiguration.h new file mode 100644 index 000000000000..845d0d98b087 --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Detective { +struct AWS_DETECTIVE_API DetectiveClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DetectiveClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DetectiveClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DetectiveClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DetectiveClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDetectiveSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DETECTIVE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DetectiveClientConfiguration& config); +} // namespace Detective +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveEndpointProvider.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveEndpointProvider.h index 251bc3ae5ed5..bb5ecb9a1ca5 100644 --- a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Detective { namespace Endpoint { +using DetectiveClientConfiguration = Aws::Detective::DetectiveClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DetectiveClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DetectiveClientConfiguration = Aws::Client::GenericClientConfiguration; -using DetectiveBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DETECTIVE_API DetectiveBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DetectiveBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DetectiveClientConfiguration& config); + virtual void SetFromClientConfiguration(const DetectiveClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DetectiveClientConfiguration& config); +}; /** * The type for the Detective Client Endpoint Provider. @@ -34,6 +43,24 @@ using DetectiveEndpointProviderBase = using DetectiveDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Detective + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DETECTIVE_EXTERN template class AWS_DETECTIVE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_DETECTIVE_EXTERN template class AWS_DETECTIVE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Detective { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveServiceClientModel.h b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveServiceClientModel.h index 41fde7e0cada..11680e8583d3 100644 --- a/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace Detective { -using DetectiveClientConfiguration = Aws::Client::GenericClientConfiguration; using DetectiveEndpointProviderBase = Aws::Detective::Endpoint::DetectiveEndpointProviderBase; using DetectiveEndpointProvider = Aws::Detective::Endpoint::DetectiveEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-detective/source/DetectiveClient.cpp b/generated/src/aws-cpp-sdk-detective/source/DetectiveClient.cpp index 0bb6c3961006..eb66dbdfc1aa 100644 --- a/generated/src/aws-cpp-sdk-detective/source/DetectiveClient.cpp +++ b/generated/src/aws-cpp-sdk-detective/source/DetectiveClient.cpp @@ -106,41 +106,6 @@ DetectiveClient::DetectiveClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DetectiveClient::DetectiveClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DetectiveClient::DetectiveClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DetectiveClient::DetectiveClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DetectiveClient::~DetectiveClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DetectiveClient::accessEndpointProvider() { return m_endpointProvider; } @@ -158,12 +123,7 @@ void DetectiveClient::init(const Detective::DetectiveClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "detective"); -} - -void DetectiveClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DetectiveClient::InvokeOperationOutcome DetectiveClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-detective/source/DetectiveClientConfiguration.cpp b/generated/src/aws-cpp-sdk-detective/source/DetectiveClientConfiguration.cpp new file mode 100644 index 000000000000..40f49db2747a --- /dev/null +++ b/generated/src/aws-cpp-sdk-detective/source/DetectiveClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Detective { + +void DetectiveClientConfiguration::LoadDetectiveSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DetectiveClientConfiguration::DetectiveClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDetectiveSpecificConfig(this->profileName); +} + +DetectiveClientConfiguration::DetectiveClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDetectiveSpecificConfig(Aws::String(inputProfileName)); +} + +DetectiveClientConfiguration::DetectiveClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDetectiveSpecificConfig(this->profileName); +} + +DetectiveClientConfiguration::DetectiveClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDetectiveSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DetectiveClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Detective +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-detective/source/DetectiveEndpointProvider.cpp b/generated/src/aws-cpp-sdk-detective/source/DetectiveEndpointProvider.cpp index 0679d2bd9cd9..160c0e389be8 100644 --- a/generated/src/aws-cpp-sdk-detective/source/DetectiveEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-detective/source/DetectiveEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_DETECTIVE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Detective { namespace Endpoint { DetectiveEndpointProvider::DetectiveEndpointProvider() : DetectiveDefaultEpProviderBase(Aws::Detective::DetectiveEndpointRules::GetRulesBlob(), Aws::Detective::DetectiveEndpointRules::RulesBlobSize) {} +void DetectiveBuiltInParameters::SetFromClientConfiguration(const DetectiveClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DetectiveBuiltInParameters::SetFromClientConfiguration(const DetectiveClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DetectiveBuiltInParameters::SetServiceSpecificParameters(const DetectiveClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Detective } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmClient.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmClient.h index 0e58852ec683..51ea49982d31 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmClient.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmClient.h @@ -66,27 +66,6 @@ class AWS_DEVICEFARM_API DeviceFarmClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::DeviceFarm::DeviceFarmClientConfiguration& clientConfiguration = Aws::DeviceFarm::DeviceFarmClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DeviceFarmClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DeviceFarmClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DeviceFarmClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DeviceFarmClient(); /** @@ -2196,7 +2175,6 @@ class AWS_DEVICEFARM_API DeviceFarmClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DeviceFarmClient::UpdateVPCEConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmClientConfiguration.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmClientConfiguration.h new file mode 100644 index 000000000000..0c3b152ad28d --- /dev/null +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DeviceFarm { +struct AWS_DEVICEFARM_API DeviceFarmClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DeviceFarmClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DeviceFarmClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DeviceFarmClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DeviceFarmClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDeviceFarmSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DEVICEFARM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DeviceFarmClientConfiguration& config); +} // namespace DeviceFarm +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmEndpointProvider.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmEndpointProvider.h index 2010a3c8cef2..7e3b05a22e17 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DeviceFarm { namespace Endpoint { +using DeviceFarmClientConfiguration = Aws::DeviceFarm::DeviceFarmClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DeviceFarmClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DeviceFarmClientConfiguration = Aws::Client::GenericClientConfiguration; -using DeviceFarmBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DEVICEFARM_API DeviceFarmBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DeviceFarmBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DeviceFarmClientConfiguration& config); + virtual void SetFromClientConfiguration(const DeviceFarmClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DeviceFarmClientConfiguration& config); +}; /** * The type for the DeviceFarm Client Endpoint Provider. @@ -34,6 +43,24 @@ using DeviceFarmEndpointProviderBase = using DeviceFarmDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DeviceFarm + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DEVICEFARM_EXTERN template class AWS_DEVICEFARM_API Aws::Endpoint::EndpointProviderBase< + DeviceFarm::Endpoint::DeviceFarmClientConfiguration, DeviceFarm::Endpoint::DeviceFarmBuiltInParameters, + DeviceFarm::Endpoint::DeviceFarmClientContextParameters>; + +AWS_DEVICEFARM_EXTERN template class AWS_DEVICEFARM_API Aws::Endpoint::BDDEndpointProvider< + DeviceFarm::Endpoint::DeviceFarmClientConfiguration, DeviceFarm::Endpoint::DeviceFarmBuiltInParameters, + DeviceFarm::Endpoint::DeviceFarmClientContextParameters>; +} // namespace Endpoint + +namespace DeviceFarm { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmServiceClientModel.h b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmServiceClientModel.h index e2a356c5fe6b..2918d1d4ced1 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmServiceClientModel.h @@ -135,7 +135,6 @@ class RetryStrategy; } // namespace Client namespace DeviceFarm { -using DeviceFarmClientConfiguration = Aws::Client::GenericClientConfiguration; using DeviceFarmEndpointProviderBase = Aws::DeviceFarm::Endpoint::DeviceFarmEndpointProviderBase; using DeviceFarmEndpointProvider = Aws::DeviceFarm::Endpoint::DeviceFarmEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmClient.cpp b/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmClient.cpp index d4d8f803ae60..9a0cd3eff835 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmClient.cpp +++ b/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmClient.cpp @@ -154,41 +154,6 @@ DeviceFarmClient::DeviceFarmClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DeviceFarmClient::DeviceFarmClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DeviceFarmClient::DeviceFarmClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DeviceFarmClient::DeviceFarmClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DeviceFarmClient::~DeviceFarmClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DeviceFarmClient::accessEndpointProvider() { return m_endpointProvider; } @@ -206,12 +171,7 @@ void DeviceFarmClient::init(const DeviceFarm::DeviceFarmClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "devicefarm"); -} - -void DeviceFarmClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DeviceFarmClient::InvokeOperationOutcome DeviceFarmClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmClientConfiguration.cpp b/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmClientConfiguration.cpp new file mode 100644 index 000000000000..8a69dd923154 --- /dev/null +++ b/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DeviceFarm { + +void DeviceFarmClientConfiguration::LoadDeviceFarmSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DeviceFarmClientConfiguration::DeviceFarmClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDeviceFarmSpecificConfig(this->profileName); +} + +DeviceFarmClientConfiguration::DeviceFarmClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDeviceFarmSpecificConfig(Aws::String(inputProfileName)); +} + +DeviceFarmClientConfiguration::DeviceFarmClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDeviceFarmSpecificConfig(this->profileName); +} + +DeviceFarmClientConfiguration::DeviceFarmClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDeviceFarmSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DeviceFarmClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DeviceFarm +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmEndpointProvider.cpp b/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmEndpointProvider.cpp index 411a8ae93596..cb70ddfcdb58 100644 --- a/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_DEVICEFARM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DeviceFarm { namespace Endpoint { DeviceFarmEndpointProvider::DeviceFarmEndpointProvider() : DeviceFarmDefaultEpProviderBase(Aws::DeviceFarm::DeviceFarmEndpointRules::GetRulesBlob(), Aws::DeviceFarm::DeviceFarmEndpointRules::RulesBlobSize) {} +void DeviceFarmBuiltInParameters::SetFromClientConfiguration(const DeviceFarmClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DeviceFarmBuiltInParameters::SetFromClientConfiguration(const DeviceFarmClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DeviceFarmBuiltInParameters::SetServiceSpecificParameters(const DeviceFarmClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DeviceFarm } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentClient.h b/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentClient.h index 3e9cf5d2e560..75c6642d86a7 100644 --- a/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentClient.h +++ b/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentClient.h @@ -62,27 +62,6 @@ class AWS_DEVOPSAGENT_API DevOpsAgentClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::DevOpsAgent::DevOpsAgentClientConfiguration& clientConfiguration = Aws::DevOpsAgent::DevOpsAgentClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DevOpsAgentClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DevOpsAgentClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DevOpsAgentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DevOpsAgentClient(); /** @@ -1747,7 +1726,6 @@ class AWS_DEVOPSAGENT_API DevOpsAgentClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DevOpsAgentClient::ValidateAwsAssociations, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentClientConfiguration.h b/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentClientConfiguration.h new file mode 100644 index 000000000000..e2a0adc776a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DevOpsAgent { +struct AWS_DEVOPSAGENT_API DevOpsAgentClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DevOpsAgentClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DevOpsAgentClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DevOpsAgentClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DevOpsAgentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadDevOpsAgentSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DEVOPSAGENT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DevOpsAgentClientConfiguration& config); +} // namespace DevOpsAgent +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentEndpointProvider.h b/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentEndpointProvider.h index 7f49ced76ef8..66ba56c924e3 100644 --- a/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DevOpsAgent { namespace Endpoint { +using DevOpsAgentClientConfiguration = Aws::DevOpsAgent::DevOpsAgentClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DevOpsAgentClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DevOpsAgentClientConfiguration = Aws::Client::GenericClientConfiguration; -using DevOpsAgentBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DEVOPSAGENT_API DevOpsAgentBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DevOpsAgentBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DevOpsAgentClientConfiguration& config); + virtual void SetFromClientConfiguration(const DevOpsAgentClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DevOpsAgentClientConfiguration& config); +}; /** * The type for the DevOpsAgent Client Endpoint Provider. @@ -34,6 +43,24 @@ using DevOpsAgentEndpointProviderBase = using DevOpsAgentDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DevOpsAgent + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DEVOPSAGENT_EXTERN template class AWS_DEVOPSAGENT_API Aws::Endpoint::EndpointProviderBase< + DevOpsAgent::Endpoint::DevOpsAgentClientConfiguration, DevOpsAgent::Endpoint::DevOpsAgentBuiltInParameters, + DevOpsAgent::Endpoint::DevOpsAgentClientContextParameters>; + +AWS_DEVOPSAGENT_EXTERN template class AWS_DEVOPSAGENT_API Aws::Endpoint::BDDEndpointProvider< + DevOpsAgent::Endpoint::DevOpsAgentClientConfiguration, DevOpsAgent::Endpoint::DevOpsAgentBuiltInParameters, + DevOpsAgent::Endpoint::DevOpsAgentClientContextParameters>; +} // namespace Endpoint + +namespace DevOpsAgent { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentServiceClientModel.h b/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentServiceClientModel.h index 9f01c1a97845..ed687d5b4574 100644 --- a/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentServiceClientModel.h @@ -113,7 +113,6 @@ class RetryStrategy; } // namespace Client namespace DevOpsAgent { -using DevOpsAgentClientConfiguration = Aws::Client::GenericClientConfiguration; using DevOpsAgentEndpointProviderBase = Aws::DevOpsAgent::Endpoint::DevOpsAgentEndpointProviderBase; using DevOpsAgentEndpointProvider = Aws::DevOpsAgent::Endpoint::DevOpsAgentEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentClient.cpp b/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentClient.cpp index dc76537cca4e..038a63455320 100644 --- a/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentClient.cpp +++ b/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentClient.cpp @@ -141,41 +141,6 @@ DevOpsAgentClient::DevOpsAgentClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DevOpsAgentClient::DevOpsAgentClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DevOpsAgentClient::DevOpsAgentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DevOpsAgentClient::~DevOpsAgentClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DevOpsAgentClient::accessEndpointProvider() { return m_endpointProvider; } @@ -193,12 +158,7 @@ void DevOpsAgentClient::init(const DevOpsAgent::DevOpsAgentClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aidevops"); -} - -void DevOpsAgentClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DevOpsAgentClient::InvokeOperationOutcome DevOpsAgentClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentClientConfiguration.cpp b/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentClientConfiguration.cpp new file mode 100644 index 000000000000..031754b29797 --- /dev/null +++ b/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DevOpsAgent { + +void DevOpsAgentClientConfiguration::LoadDevOpsAgentSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DevOpsAgentClientConfiguration::DevOpsAgentClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDevOpsAgentSpecificConfig(this->profileName); +} + +DevOpsAgentClientConfiguration::DevOpsAgentClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDevOpsAgentSpecificConfig(Aws::String(inputProfileName)); +} + +DevOpsAgentClientConfiguration::DevOpsAgentClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDevOpsAgentSpecificConfig(this->profileName); +} + +DevOpsAgentClientConfiguration::DevOpsAgentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDevOpsAgentSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DevOpsAgentClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DevOpsAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentEndpointProvider.cpp b/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentEndpointProvider.cpp index 2b49de14dfda..e4aa2d797111 100644 --- a/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_DEVOPSAGENT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DevOpsAgent { namespace Endpoint { DevOpsAgentEndpointProvider::DevOpsAgentEndpointProvider() : DevOpsAgentDefaultEpProviderBase(Aws::DevOpsAgent::DevOpsAgentEndpointRules::GetRulesBlob(), Aws::DevOpsAgent::DevOpsAgentEndpointRules::RulesBlobSize) {} +void DevOpsAgentBuiltInParameters::SetFromClientConfiguration(const DevOpsAgentClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DevOpsAgentBuiltInParameters::SetFromClientConfiguration(const DevOpsAgentClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DevOpsAgentBuiltInParameters::SetServiceSpecificParameters(const DevOpsAgentClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace DevOpsAgent } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruClient.h b/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruClient.h index a91d4114304b..868ccee7f1cb 100644 --- a/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruClient.h +++ b/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruClient.h @@ -72,27 +72,6 @@ class AWS_DEVOPSGURU_API DevOpsGuruClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::DevOpsGuru::DevOpsGuruClientConfiguration& clientConfiguration = Aws::DevOpsGuru::DevOpsGuruClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DevOpsGuruClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DevOpsGuruClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DevOpsGuruClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DevOpsGuruClient(); /** @@ -1035,7 +1014,6 @@ class AWS_DEVOPSGURU_API DevOpsGuruClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DevOpsGuruClient::UpdateServiceIntegration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruClientConfiguration.h b/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruClientConfiguration.h new file mode 100644 index 000000000000..de1df606075a --- /dev/null +++ b/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DevOpsGuru { +struct AWS_DEVOPSGURU_API DevOpsGuruClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DevOpsGuruClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DevOpsGuruClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DevOpsGuruClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DevOpsGuruClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDevOpsGuruSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DEVOPSGURU_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DevOpsGuruClientConfiguration& config); +} // namespace DevOpsGuru +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruEndpointProvider.h b/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruEndpointProvider.h index 573ea3c92674..8009990a266b 100644 --- a/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DevOpsGuru { namespace Endpoint { +using DevOpsGuruClientConfiguration = Aws::DevOpsGuru::DevOpsGuruClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DevOpsGuruClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DevOpsGuruClientConfiguration = Aws::Client::GenericClientConfiguration; -using DevOpsGuruBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DEVOPSGURU_API DevOpsGuruBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DevOpsGuruBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DevOpsGuruClientConfiguration& config); + virtual void SetFromClientConfiguration(const DevOpsGuruClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DevOpsGuruClientConfiguration& config); +}; /** * The type for the DevOpsGuru Client Endpoint Provider. @@ -34,6 +43,24 @@ using DevOpsGuruEndpointProviderBase = using DevOpsGuruDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DevOpsGuru + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DEVOPSGURU_EXTERN template class AWS_DEVOPSGURU_API Aws::Endpoint::EndpointProviderBase< + DevOpsGuru::Endpoint::DevOpsGuruClientConfiguration, DevOpsGuru::Endpoint::DevOpsGuruBuiltInParameters, + DevOpsGuru::Endpoint::DevOpsGuruClientContextParameters>; + +AWS_DEVOPSGURU_EXTERN template class AWS_DEVOPSGURU_API Aws::Endpoint::BDDEndpointProvider< + DevOpsGuru::Endpoint::DevOpsGuruClientConfiguration, DevOpsGuru::Endpoint::DevOpsGuruBuiltInParameters, + DevOpsGuru::Endpoint::DevOpsGuruClientContextParameters>; +} // namespace Endpoint + +namespace DevOpsGuru { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruServiceClientModel.h b/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruServiceClientModel.h index d5b1cd29d2f3..9107234acbc2 100644 --- a/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruServiceClientModel.h @@ -87,7 +87,6 @@ class RetryStrategy; } // namespace Client namespace DevOpsGuru { -using DevOpsGuruClientConfiguration = Aws::Client::GenericClientConfiguration; using DevOpsGuruEndpointProviderBase = Aws::DevOpsGuru::Endpoint::DevOpsGuruEndpointProviderBase; using DevOpsGuruEndpointProvider = Aws::DevOpsGuru::Endpoint::DevOpsGuruEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruClient.cpp b/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruClient.cpp index 35fcc0a86f4c..72c8ec3a8e7f 100644 --- a/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruClient.cpp +++ b/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruClient.cpp @@ -108,41 +108,6 @@ DevOpsGuruClient::DevOpsGuruClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DevOpsGuruClient::DevOpsGuruClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DevOpsGuruClient::DevOpsGuruClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DevOpsGuruClient::DevOpsGuruClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DevOpsGuruClient::~DevOpsGuruClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DevOpsGuruClient::accessEndpointProvider() { return m_endpointProvider; } @@ -160,12 +125,7 @@ void DevOpsGuruClient::init(const DevOpsGuru::DevOpsGuruClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "devops-guru"); -} - -void DevOpsGuruClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DevOpsGuruClient::InvokeOperationOutcome DevOpsGuruClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruClientConfiguration.cpp b/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruClientConfiguration.cpp new file mode 100644 index 000000000000..c9792c6b9697 --- /dev/null +++ b/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DevOpsGuru { + +void DevOpsGuruClientConfiguration::LoadDevOpsGuruSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DevOpsGuruClientConfiguration::DevOpsGuruClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDevOpsGuruSpecificConfig(this->profileName); +} + +DevOpsGuruClientConfiguration::DevOpsGuruClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDevOpsGuruSpecificConfig(Aws::String(inputProfileName)); +} + +DevOpsGuruClientConfiguration::DevOpsGuruClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDevOpsGuruSpecificConfig(this->profileName); +} + +DevOpsGuruClientConfiguration::DevOpsGuruClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDevOpsGuruSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DevOpsGuruClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DevOpsGuru +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruEndpointProvider.cpp b/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruEndpointProvider.cpp index fb7a17929a75..00ef59f1538d 100644 --- a/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_DEVOPSGURU_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DevOpsGuru { namespace Endpoint { DevOpsGuruEndpointProvider::DevOpsGuruEndpointProvider() : DevOpsGuruDefaultEpProviderBase(Aws::DevOpsGuru::DevOpsGuruEndpointRules::GetRulesBlob(), Aws::DevOpsGuru::DevOpsGuruEndpointRules::RulesBlobSize) {} +void DevOpsGuruBuiltInParameters::SetFromClientConfiguration(const DevOpsGuruClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DevOpsGuruBuiltInParameters::SetFromClientConfiguration(const DevOpsGuruClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DevOpsGuruBuiltInParameters::SetServiceSpecificParameters(const DevOpsGuruClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DevOpsGuru } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectClient.h b/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectClient.h index af13673d6e57..6b8255261926 100644 --- a/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectClient.h +++ b/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectClient.h @@ -64,27 +64,6 @@ class AWS_DIRECTCONNECT_API DirectConnectClient : public Aws::Client::AWSJsonCli const Aws::DirectConnect::DirectConnectClientConfiguration& clientConfiguration = Aws::DirectConnect::DirectConnectClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DirectConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DirectConnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DirectConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DirectConnectClient(); /** @@ -2334,7 +2313,6 @@ class AWS_DIRECTCONNECT_API DirectConnectClient : public Aws::Client::AWSJsonCli return SubmitAsync(&DirectConnectClient::UpdateVirtualInterfaceAttributes, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectClientConfiguration.h b/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectClientConfiguration.h new file mode 100644 index 000000000000..463ae0eb3895 --- /dev/null +++ b/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DirectConnect { +struct AWS_DIRECTCONNECT_API DirectConnectClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DirectConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DirectConnectClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DirectConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DirectConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDirectConnectSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DIRECTCONNECT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DirectConnectClientConfiguration& config); +} // namespace DirectConnect +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectEndpointProvider.h b/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectEndpointProvider.h index a445acc2caae..34d7a9aac79f 100644 --- a/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DirectConnect { namespace Endpoint { +using DirectConnectClientConfiguration = Aws::DirectConnect::DirectConnectClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DirectConnectClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DirectConnectClientConfiguration = Aws::Client::GenericClientConfiguration; -using DirectConnectBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DIRECTCONNECT_API DirectConnectBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DirectConnectBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DirectConnectClientConfiguration& config); + virtual void SetFromClientConfiguration(const DirectConnectClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DirectConnectClientConfiguration& config); +}; /** * The type for the DirectConnect Client Endpoint Provider. @@ -34,6 +43,24 @@ using DirectConnectEndpointProviderBase = using DirectConnectDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DirectConnect + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DIRECTCONNECT_EXTERN template class AWS_DIRECTCONNECT_API Aws::Endpoint::EndpointProviderBase< + DirectConnect::Endpoint::DirectConnectClientConfiguration, DirectConnect::Endpoint::DirectConnectBuiltInParameters, + DirectConnect::Endpoint::DirectConnectClientContextParameters>; + +AWS_DIRECTCONNECT_EXTERN template class AWS_DIRECTCONNECT_API Aws::Endpoint::BDDEndpointProvider< + DirectConnect::Endpoint::DirectConnectClientConfiguration, DirectConnect::Endpoint::DirectConnectBuiltInParameters, + DirectConnect::Endpoint::DirectConnectClientContextParameters>; +} // namespace Endpoint + +namespace DirectConnect { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectServiceClientModel.h index 0ea07ef47b26..234e1bc2a5b6 100644 --- a/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectServiceClientModel.h @@ -134,7 +134,6 @@ class RetryStrategy; } // namespace Client namespace DirectConnect { -using DirectConnectClientConfiguration = Aws::Client::GenericClientConfiguration; using DirectConnectEndpointProviderBase = Aws::DirectConnect::Endpoint::DirectConnectEndpointProviderBase; using DirectConnectEndpointProvider = Aws::DirectConnect::Endpoint::DirectConnectEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectClient.cpp b/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectClient.cpp index cb4c4b968942..b7cb827164d1 100644 --- a/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectClient.cpp +++ b/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectClient.cpp @@ -147,41 +147,6 @@ DirectConnectClient::DirectConnectClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DirectConnectClient::DirectConnectClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DirectConnectClient::DirectConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DirectConnectClient::~DirectConnectClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DirectConnectClient::accessEndpointProvider() { return m_endpointProvider; } @@ -199,12 +164,7 @@ void DirectConnectClient::init(const DirectConnect::DirectConnectClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "directconnect"); -} - -void DirectConnectClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DirectConnectClient::InvokeOperationOutcome DirectConnectClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectClientConfiguration.cpp b/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectClientConfiguration.cpp new file mode 100644 index 000000000000..513dc1b397b0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DirectConnect { + +void DirectConnectClientConfiguration::LoadDirectConnectSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DirectConnectClientConfiguration::DirectConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDirectConnectSpecificConfig(this->profileName); +} + +DirectConnectClientConfiguration::DirectConnectClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDirectConnectSpecificConfig(Aws::String(inputProfileName)); +} + +DirectConnectClientConfiguration::DirectConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDirectConnectSpecificConfig(this->profileName); +} + +DirectConnectClientConfiguration::DirectConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDirectConnectSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DirectConnectClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DirectConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectEndpointProvider.cpp b/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectEndpointProvider.cpp index e8b0bdab3d54..05a8e2f1a781 100644 --- a/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-directconnect/source/DirectConnectEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_DIRECTCONNECT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DirectConnect { namespace Endpoint { DirectConnectEndpointProvider::DirectConnectEndpointProvider() : DirectConnectDefaultEpProviderBase(Aws::DirectConnect::DirectConnectEndpointRules::GetRulesBlob(), Aws::DirectConnect::DirectConnectEndpointRules::RulesBlobSize) {} +void DirectConnectBuiltInParameters::SetFromClientConfiguration(const DirectConnectClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DirectConnectBuiltInParameters::SetFromClientConfiguration(const DirectConnectClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DirectConnectBuiltInParameters::SetServiceSpecificParameters(const DirectConnectClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DirectConnect } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataClient.h b/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataClient.h index 07b92d62b1ac..641e7320646f 100644 --- a/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataClient.h +++ b/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataClient.h @@ -105,27 +105,6 @@ class AWS_DIRECTORYSERVICEDATA_API DirectoryServiceDataClient const Aws::DirectoryServiceData::DirectoryServiceDataClientConfiguration& clientConfiguration = Aws::DirectoryServiceData::DirectoryServiceDataClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DirectoryServiceDataClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DirectoryServiceDataClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DirectoryServiceDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DirectoryServiceDataClient(); /** @@ -600,7 +579,6 @@ class AWS_DIRECTORYSERVICEDATA_API DirectoryServiceDataClient return SubmitAsync(&DirectoryServiceDataClient::UpdateUser, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataClientConfiguration.h b/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataClientConfiguration.h new file mode 100644 index 000000000000..ad613c94fae6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DirectoryServiceData { +struct AWS_DIRECTORYSERVICEDATA_API DirectoryServiceDataClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DirectoryServiceDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DirectoryServiceDataClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DirectoryServiceDataClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DirectoryServiceDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDirectoryServiceDataSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DIRECTORYSERVICEDATA_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const DirectoryServiceDataClientConfiguration& config); +} // namespace DirectoryServiceData +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataEndpointProvider.h b/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataEndpointProvider.h index cbdfbe81159d..5b58cd4316d1 100644 --- a/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DirectoryServiceData { namespace Endpoint { +using DirectoryServiceDataClientConfiguration = Aws::DirectoryServiceData::DirectoryServiceDataClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DirectoryServiceDataClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DirectoryServiceDataClientConfiguration = Aws::Client::GenericClientConfiguration; -using DirectoryServiceDataBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DIRECTORYSERVICEDATA_API DirectoryServiceDataBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DirectoryServiceDataBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DirectoryServiceDataClientConfiguration& config); + virtual void SetFromClientConfiguration(const DirectoryServiceDataClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DirectoryServiceDataClientConfiguration& config); +}; /** * The type for the DirectoryServiceData Client Endpoint Provider. @@ -36,6 +45,26 @@ using DirectoryServiceDataDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DirectoryServiceData + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DIRECTORYSERVICEDATA_EXTERN template class AWS_DIRECTORYSERVICEDATA_API + Aws::Endpoint::EndpointProviderBase; + +AWS_DIRECTORYSERVICEDATA_EXTERN template class AWS_DIRECTORYSERVICEDATA_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace DirectoryServiceData { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataServiceClientModel.h b/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataServiceClientModel.h index 00bb08647f84..8bda871a2397 100644 --- a/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace DirectoryServiceData { -using DirectoryServiceDataClientConfiguration = Aws::Client::GenericClientConfiguration; using DirectoryServiceDataEndpointProviderBase = Aws::DirectoryServiceData::Endpoint::DirectoryServiceDataEndpointProviderBase; using DirectoryServiceDataEndpointProvider = Aws::DirectoryServiceData::Endpoint::DirectoryServiceDataEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataClient.cpp b/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataClient.cpp index 87bde7972f95..86c665226fc4 100644 --- a/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataClient.cpp +++ b/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataClient.cpp @@ -100,42 +100,6 @@ DirectoryServiceDataClient::DirectoryServiceDataClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DirectoryServiceDataClient::DirectoryServiceDataClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DirectoryServiceDataClient::DirectoryServiceDataClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DirectoryServiceDataClient::DirectoryServiceDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DirectoryServiceDataClient::~DirectoryServiceDataClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DirectoryServiceDataClient::accessEndpointProvider() { @@ -155,12 +119,7 @@ void DirectoryServiceDataClient::init(const DirectoryServiceData::DirectoryServi AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ds-data"); -} - -void DirectoryServiceDataClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DirectoryServiceDataClient::InvokeOperationOutcome DirectoryServiceDataClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataClientConfiguration.cpp b/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataClientConfiguration.cpp new file mode 100644 index 000000000000..2fca37c8ba4e --- /dev/null +++ b/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DirectoryServiceData { + +void DirectoryServiceDataClientConfiguration::LoadDirectoryServiceDataSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DirectoryServiceDataClientConfiguration::DirectoryServiceDataClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDirectoryServiceDataSpecificConfig(this->profileName); +} + +DirectoryServiceDataClientConfiguration::DirectoryServiceDataClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDirectoryServiceDataSpecificConfig(Aws::String(inputProfileName)); +} + +DirectoryServiceDataClientConfiguration::DirectoryServiceDataClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDirectoryServiceDataSpecificConfig(this->profileName); +} + +DirectoryServiceDataClientConfiguration::DirectoryServiceDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDirectoryServiceDataSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DirectoryServiceDataClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DirectoryServiceData +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataEndpointProvider.cpp b/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataEndpointProvider.cpp index 097608c9b07b..e49668a1b464 100644 --- a/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_DIRECTORYSERVICEDATA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DirectoryServiceData { namespace Endpoint { DirectoryServiceDataEndpointProvider::DirectoryServiceDataEndpointProvider() : DirectoryServiceDataDefaultEpProviderBase(Aws::DirectoryServiceData::DirectoryServiceDataEndpointRules::GetRulesBlob(), Aws::DirectoryServiceData::DirectoryServiceDataEndpointRules::RulesBlobSize) {} +void DirectoryServiceDataBuiltInParameters::SetFromClientConfiguration(const DirectoryServiceDataClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DirectoryServiceDataBuiltInParameters::SetFromClientConfiguration(const DirectoryServiceDataClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DirectoryServiceDataBuiltInParameters::SetServiceSpecificParameters(const DirectoryServiceDataClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DirectoryServiceData } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceClient.h b/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceClient.h index 85c362d37693..5d4379b8027a 100644 --- a/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceClient.h +++ b/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceClient.h @@ -119,28 +119,6 @@ class AWS_APPLICATIONDISCOVERYSERVICE_API ApplicationDiscoveryServiceClient const Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration& clientConfiguration = Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ApplicationDiscoveryServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ApplicationDiscoveryServiceClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ApplicationDiscoveryServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ApplicationDiscoveryServiceClient(); /** @@ -946,7 +924,6 @@ class AWS_APPLICATIONDISCOVERYSERVICE_API ApplicationDiscoveryServiceClient return SubmitAsync(&ApplicationDiscoveryServiceClient::UpdateApplication, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceClientConfiguration.h new file mode 100644 index 000000000000..3f1986537ef0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ApplicationDiscoveryService { +struct AWS_APPLICATIONDISCOVERYSERVICE_API ApplicationDiscoveryServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ApplicationDiscoveryServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationDiscoveryServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ApplicationDiscoveryServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ApplicationDiscoveryServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadApplicationDiscoveryServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPLICATIONDISCOVERYSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ApplicationDiscoveryServiceClientConfiguration& config); +} // namespace ApplicationDiscoveryService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceEndpointProvider.h index 3cb199337268..645683bc4aee 100644 --- a/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ApplicationDiscoveryService { namespace Endpoint { +using ApplicationDiscoveryServiceClientConfiguration = Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ApplicationDiscoveryServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ApplicationDiscoveryServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using ApplicationDiscoveryServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPLICATIONDISCOVERYSERVICE_API ApplicationDiscoveryServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ApplicationDiscoveryServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ApplicationDiscoveryServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const ApplicationDiscoveryServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ApplicationDiscoveryServiceClientConfiguration& config); +}; /** * The type for the ApplicationDiscoveryService Client Endpoint Provider. @@ -36,6 +45,26 @@ using ApplicationDiscoveryServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ApplicationDiscoveryService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPLICATIONDISCOVERYSERVICE_EXTERN template class AWS_APPLICATIONDISCOVERYSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_APPLICATIONDISCOVERYSERVICE_EXTERN template class AWS_APPLICATIONDISCOVERYSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ApplicationDiscoveryService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceServiceClientModel.h index 40060078a5ff..e0d2f6a32cbf 100644 --- a/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace ApplicationDiscoveryService { -using ApplicationDiscoveryServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using ApplicationDiscoveryServiceEndpointProviderBase = Aws::ApplicationDiscoveryService::Endpoint::ApplicationDiscoveryServiceEndpointProviderBase; using ApplicationDiscoveryServiceEndpointProvider = Aws::ApplicationDiscoveryService::Endpoint::ApplicationDiscoveryServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceClient.cpp b/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceClient.cpp index 625cf315fa73..b2ee384bc857 100644 --- a/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceClient.cpp @@ -109,42 +109,6 @@ ApplicationDiscoveryServiceClient::ApplicationDiscoveryServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ApplicationDiscoveryServiceClient::ApplicationDiscoveryServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationDiscoveryServiceClient::ApplicationDiscoveryServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ApplicationDiscoveryServiceClient::ApplicationDiscoveryServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ApplicationDiscoveryServiceClient::~ApplicationDiscoveryServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ApplicationDiscoveryServiceClient::accessEndpointProvider() { @@ -164,12 +128,7 @@ void ApplicationDiscoveryServiceClient::init(const ApplicationDiscoveryService:: AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "discovery"); -} - -void ApplicationDiscoveryServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ApplicationDiscoveryServiceClient::InvokeOperationOutcome ApplicationDiscoveryServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceClientConfiguration.cpp new file mode 100644 index 000000000000..c6cd7533dbd5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceClientConfiguration.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ApplicationDiscoveryService { + +void ApplicationDiscoveryServiceClientConfiguration::LoadApplicationDiscoveryServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ApplicationDiscoveryServiceClientConfiguration::ApplicationDiscoveryServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadApplicationDiscoveryServiceSpecificConfig(this->profileName); +} + +ApplicationDiscoveryServiceClientConfiguration::ApplicationDiscoveryServiceClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadApplicationDiscoveryServiceSpecificConfig(Aws::String(inputProfileName)); +} + +ApplicationDiscoveryServiceClientConfiguration::ApplicationDiscoveryServiceClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadApplicationDiscoveryServiceSpecificConfig(this->profileName); +} + +ApplicationDiscoveryServiceClientConfiguration::ApplicationDiscoveryServiceClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadApplicationDiscoveryServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ApplicationDiscoveryServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ApplicationDiscoveryService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceEndpointProvider.cpp index 1f29fad42820..b3b34aca1e60 100644 --- a/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_APPLICATIONDISCOVERYSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + ApplicationDiscoveryService::Endpoint::ApplicationDiscoveryServiceClientConfiguration, + ApplicationDiscoveryService::Endpoint::ApplicationDiscoveryServiceBuiltInParameters, + ApplicationDiscoveryService::Endpoint::ApplicationDiscoveryServiceClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + ApplicationDiscoveryService::Endpoint::ApplicationDiscoveryServiceClientConfiguration, + ApplicationDiscoveryService::Endpoint::ApplicationDiscoveryServiceBuiltInParameters, + ApplicationDiscoveryService::Endpoint::ApplicationDiscoveryServiceClientContextParameters>; +} // namespace Endpoint +#endif + namespace ApplicationDiscoveryService { namespace Endpoint { ApplicationDiscoveryServiceEndpointProvider::ApplicationDiscoveryServiceEndpointProvider() @@ -14,6 +31,28 @@ ApplicationDiscoveryServiceEndpointProvider::ApplicationDiscoveryServiceEndpoint Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceEndpointRules::GetRulesBlob(), Aws::ApplicationDiscoveryService::ApplicationDiscoveryServiceEndpointRules::RulesBlobSize) {} +void ApplicationDiscoveryServiceBuiltInParameters::SetFromClientConfiguration( + const ApplicationDiscoveryServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ApplicationDiscoveryServiceBuiltInParameters::SetFromClientConfiguration(const ApplicationDiscoveryServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void ApplicationDiscoveryServiceBuiltInParameters::SetServiceSpecificParameters( + const ApplicationDiscoveryServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ApplicationDiscoveryService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMClient.h b/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMClient.h index 624d1f79cada..9130bd2fd6ec 100644 --- a/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMClient.h +++ b/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMClient.h @@ -59,27 +59,6 @@ class AWS_DLM_API DLMClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::DLM::DLMClientConfiguration& clientConfiguration = Aws::DLM::DLMClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DLMClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DLMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DLMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DLMClient(); /** @@ -311,7 +290,6 @@ class AWS_DLM_API DLMClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DLMClient::UpdateLifecyclePolicy, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMClientConfiguration.h b/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMClientConfiguration.h new file mode 100644 index 000000000000..b9b000fc2043 --- /dev/null +++ b/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DLM { +struct AWS_DLM_API DLMClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DLMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DLMClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DLMClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DLMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDLMSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DLM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DLMClientConfiguration& config); +} // namespace DLM +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMEndpointProvider.h b/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMEndpointProvider.h index b5225531654f..3465cc9bb80b 100644 --- a/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DLM { namespace Endpoint { +using DLMClientConfiguration = Aws::DLM::DLMClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DLMClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DLMClientConfiguration = Aws::Client::GenericClientConfiguration; -using DLMBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DLM_API DLMBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DLMBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DLMClientConfiguration& config); + virtual void SetFromClientConfiguration(const DLMClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DLMClientConfiguration& config); +}; /** * The type for the DLM Client Endpoint Provider. @@ -32,6 +41,22 @@ using DLMEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace DLM + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DLM_EXTERN template class AWS_DLM_API Aws::Endpoint::EndpointProviderBase< + DLM::Endpoint::DLMClientConfiguration, DLM::Endpoint::DLMBuiltInParameters, DLM::Endpoint::DLMClientContextParameters>; + +AWS_DLM_EXTERN template class AWS_DLM_API Aws::Endpoint::BDDEndpointProvider< + DLM::Endpoint::DLMClientConfiguration, DLM::Endpoint::DLMBuiltInParameters, DLM::Endpoint::DLMClientContextParameters>; +} // namespace Endpoint + +namespace DLM { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMServiceClientModel.h b/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMServiceClientModel.h index 177348847cdc..0e6699a2c2aa 100644 --- a/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMServiceClientModel.h @@ -55,7 +55,6 @@ class RetryStrategy; } // namespace Client namespace DLM { -using DLMClientConfiguration = Aws::Client::GenericClientConfiguration; using DLMEndpointProviderBase = Aws::DLM::Endpoint::DLMEndpointProviderBase; using DLMEndpointProvider = Aws::DLM::Endpoint::DLMEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-dlm/source/DLMClient.cpp b/generated/src/aws-cpp-sdk-dlm/source/DLMClient.cpp index cb3985c1fa9a..a58601ddadca 100644 --- a/generated/src/aws-cpp-sdk-dlm/source/DLMClient.cpp +++ b/generated/src/aws-cpp-sdk-dlm/source/DLMClient.cpp @@ -83,41 +83,6 @@ DLMClient::DLMClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DLMClient::DLMClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DLMClient::DLMClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DLMClient::DLMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DLMClient::~DLMClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DLMClient::accessEndpointProvider() { return m_endpointProvider; } @@ -135,12 +100,7 @@ void DLMClient::init(const DLM::DLMClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "dlm"); -} - -void DLMClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DLMClient::InvokeOperationOutcome DLMClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-dlm/source/DLMClientConfiguration.cpp b/generated/src/aws-cpp-sdk-dlm/source/DLMClientConfiguration.cpp new file mode 100644 index 000000000000..ae6e9cfb7ee9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-dlm/source/DLMClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DLM { + +void DLMClientConfiguration::LoadDLMSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DLMClientConfiguration::DLMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDLMSpecificConfig(this->profileName); +} + +DLMClientConfiguration::DLMClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDLMSpecificConfig(Aws::String(inputProfileName)); +} + +DLMClientConfiguration::DLMClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDLMSpecificConfig(this->profileName); +} + +DLMClientConfiguration::DLMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadDLMSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DLMClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DLM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dlm/source/DLMEndpointProvider.cpp b/generated/src/aws-cpp-sdk-dlm/source/DLMEndpointProvider.cpp index 01d8f14807bc..7481a03b7b15 100644 --- a/generated/src/aws-cpp-sdk-dlm/source/DLMEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-dlm/source/DLMEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_DLM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DLM { namespace Endpoint { DLMEndpointProvider::DLMEndpointProvider() : DLMDefaultEpProviderBase(Aws::DLM::DLMEndpointRules::GetRulesBlob(), Aws::DLM::DLMEndpointRules::RulesBlobSize) {} +void DLMBuiltInParameters::SetFromClientConfiguration(const DLMClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DLMBuiltInParameters::SetFromClientConfiguration(const DLMClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DLMBuiltInParameters::SetServiceSpecificParameters(const DLMClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DLM } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClient.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClient.h index 3fcec9d79edb..3ecf562f27dc 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClient.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClient.h @@ -67,27 +67,6 @@ class AWS_DATABASEMIGRATIONSERVICE_API DatabaseMigrationServiceClient const Aws::DatabaseMigrationService::DatabaseMigrationServiceClientConfiguration& clientConfiguration = Aws::DatabaseMigrationService::DatabaseMigrationServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DatabaseMigrationServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DatabaseMigrationServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DatabaseMigrationServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DatabaseMigrationServiceClient(); /** @@ -4021,7 +4000,6 @@ class AWS_DATABASEMIGRATIONSERVICE_API DatabaseMigrationServiceClient return SubmitAsync(&DatabaseMigrationServiceClient::UpdateSubscriptionsToEventBridge, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClientConfiguration.h new file mode 100644 index 000000000000..2d7499ca7795 --- /dev/null +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DatabaseMigrationService { +struct AWS_DATABASEMIGRATIONSERVICE_API DatabaseMigrationServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DatabaseMigrationServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DatabaseMigrationServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DatabaseMigrationServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DatabaseMigrationServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDatabaseMigrationServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DATABASEMIGRATIONSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const DatabaseMigrationServiceClientConfiguration& config); +} // namespace DatabaseMigrationService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceEndpointProvider.h index 27cd8f9ea387..c2316d4f1c46 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DatabaseMigrationService { namespace Endpoint { +using DatabaseMigrationServiceClientConfiguration = Aws::DatabaseMigrationService::DatabaseMigrationServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DatabaseMigrationServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DatabaseMigrationServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using DatabaseMigrationServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DATABASEMIGRATIONSERVICE_API DatabaseMigrationServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DatabaseMigrationServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DatabaseMigrationServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const DatabaseMigrationServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DatabaseMigrationServiceClientConfiguration& config); +}; /** * The type for the DatabaseMigrationService Client Endpoint Provider. @@ -36,6 +45,26 @@ using DatabaseMigrationServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DatabaseMigrationService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DATABASEMIGRATIONSERVICE_EXTERN template class AWS_DATABASEMIGRATIONSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_DATABASEMIGRATIONSERVICE_EXTERN template class AWS_DATABASEMIGRATIONSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace DatabaseMigrationService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceServiceClientModel.h index c0fe0d32b02f..3d2eff11f195 100644 --- a/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceServiceClientModel.h @@ -200,7 +200,6 @@ class RetryStrategy; } // namespace Client namespace DatabaseMigrationService { -using DatabaseMigrationServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using DatabaseMigrationServiceEndpointProviderBase = Aws::DatabaseMigrationService::Endpoint::DatabaseMigrationServiceEndpointProviderBase; using DatabaseMigrationServiceEndpointProvider = Aws::DatabaseMigrationService::Endpoint::DatabaseMigrationServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceClient.cpp b/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceClient.cpp index 81910d70dff9..ed135c5c838a 100644 --- a/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceClient.cpp @@ -202,42 +202,6 @@ DatabaseMigrationServiceClient::DatabaseMigrationServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DatabaseMigrationServiceClient::DatabaseMigrationServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DatabaseMigrationServiceClient::DatabaseMigrationServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DatabaseMigrationServiceClient::DatabaseMigrationServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DatabaseMigrationServiceClient::~DatabaseMigrationServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DatabaseMigrationServiceClient::accessEndpointProvider() { @@ -257,12 +221,7 @@ void DatabaseMigrationServiceClient::init(const DatabaseMigrationService::Databa AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "dms"); -} - -void DatabaseMigrationServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DatabaseMigrationServiceClient::InvokeOperationOutcome DatabaseMigrationServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceClientConfiguration.cpp new file mode 100644 index 000000000000..85b20be0b9d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DatabaseMigrationService { + +void DatabaseMigrationServiceClientConfiguration::LoadDatabaseMigrationServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DatabaseMigrationServiceClientConfiguration::DatabaseMigrationServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDatabaseMigrationServiceSpecificConfig(this->profileName); +} + +DatabaseMigrationServiceClientConfiguration::DatabaseMigrationServiceClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDatabaseMigrationServiceSpecificConfig(Aws::String(inputProfileName)); +} + +DatabaseMigrationServiceClientConfiguration::DatabaseMigrationServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDatabaseMigrationServiceSpecificConfig(this->profileName); +} + +DatabaseMigrationServiceClientConfiguration::DatabaseMigrationServiceClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDatabaseMigrationServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DatabaseMigrationServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DatabaseMigrationService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceEndpointProvider.cpp index 52144df377f2..6f4c2bf70769 100644 --- a/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_DATABASEMIGRATIONSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DatabaseMigrationService { namespace Endpoint { DatabaseMigrationServiceEndpointProvider::DatabaseMigrationServiceEndpointProvider() : DatabaseMigrationServiceDefaultEpProviderBase(Aws::DatabaseMigrationService::DatabaseMigrationServiceEndpointRules::GetRulesBlob(), Aws::DatabaseMigrationService::DatabaseMigrationServiceEndpointRules::RulesBlobSize) {} +void DatabaseMigrationServiceBuiltInParameters::SetFromClientConfiguration(const DatabaseMigrationServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DatabaseMigrationServiceBuiltInParameters::SetFromClientConfiguration(const DatabaseMigrationServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DatabaseMigrationServiceBuiltInParameters::SetServiceSpecificParameters(const DatabaseMigrationServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DatabaseMigrationService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticClient.h b/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticClient.h index 2592b2371ddd..ee94fdacc7a9 100644 --- a/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticClient.h +++ b/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticClient.h @@ -65,27 +65,6 @@ class AWS_DOCDBELASTIC_API DocDBElasticClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::DocDBElastic::DocDBElasticClientConfiguration& clientConfiguration = Aws::DocDBElastic::DocDBElasticClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DocDBElasticClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DocDBElasticClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DocDBElasticClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DocDBElasticClient(); /** @@ -602,7 +581,6 @@ class AWS_DOCDBELASTIC_API DocDBElasticClient : public Aws::Client::AWSJsonClien return SubmitAsync(&DocDBElasticClient::UpdateCluster, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticClientConfiguration.h b/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticClientConfiguration.h new file mode 100644 index 000000000000..9533f869180d --- /dev/null +++ b/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DocDBElastic { +struct AWS_DOCDBELASTIC_API DocDBElasticClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DocDBElasticClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DocDBElasticClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DocDBElasticClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DocDBElasticClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDocDBElasticSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DOCDBELASTIC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DocDBElasticClientConfiguration& config); +} // namespace DocDBElastic +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticEndpointProvider.h b/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticEndpointProvider.h index 9e09a558b35a..e02978e6cb65 100644 --- a/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DocDBElastic { namespace Endpoint { +using DocDBElasticClientConfiguration = Aws::DocDBElastic::DocDBElasticClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DocDBElasticClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DocDBElasticClientConfiguration = Aws::Client::GenericClientConfiguration; -using DocDBElasticBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DOCDBELASTIC_API DocDBElasticBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DocDBElasticBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DocDBElasticClientConfiguration& config); + virtual void SetFromClientConfiguration(const DocDBElasticClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DocDBElasticClientConfiguration& config); +}; /** * The type for the DocDBElastic Client Endpoint Provider. @@ -34,6 +43,24 @@ using DocDBElasticEndpointProviderBase = using DocDBElasticDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DocDBElastic + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DOCDBELASTIC_EXTERN template class AWS_DOCDBELASTIC_API Aws::Endpoint::EndpointProviderBase< + DocDBElastic::Endpoint::DocDBElasticClientConfiguration, DocDBElastic::Endpoint::DocDBElasticBuiltInParameters, + DocDBElastic::Endpoint::DocDBElasticClientContextParameters>; + +AWS_DOCDBELASTIC_EXTERN template class AWS_DOCDBELASTIC_API Aws::Endpoint::BDDEndpointProvider< + DocDBElastic::Endpoint::DocDBElasticClientConfiguration, DocDBElastic::Endpoint::DocDBElasticBuiltInParameters, + DocDBElastic::Endpoint::DocDBElasticClientContextParameters>; +} // namespace Endpoint + +namespace DocDBElastic { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticServiceClientModel.h b/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticServiceClientModel.h index 428e2ac54863..7b0e96503e50 100644 --- a/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticServiceClientModel.h @@ -68,7 +68,6 @@ class RetryStrategy; } // namespace Client namespace DocDBElastic { -using DocDBElasticClientConfiguration = Aws::Client::GenericClientConfiguration; using DocDBElasticEndpointProviderBase = Aws::DocDBElastic::Endpoint::DocDBElasticEndpointProviderBase; using DocDBElasticEndpointProvider = Aws::DocDBElastic::Endpoint::DocDBElasticEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticClient.cpp b/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticClient.cpp index 84926cd5d0c5..09ff55d1f657 100644 --- a/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticClient.cpp +++ b/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticClient.cpp @@ -97,41 +97,6 @@ DocDBElasticClient::DocDBElasticClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DocDBElasticClient::DocDBElasticClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DocDBElasticClient::DocDBElasticClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DocDBElasticClient::~DocDBElasticClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DocDBElasticClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void DocDBElasticClient::init(const DocDBElastic::DocDBElasticClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "docdb-elastic"); -} - -void DocDBElasticClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DocDBElasticClient::InvokeOperationOutcome DocDBElasticClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticClientConfiguration.cpp b/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticClientConfiguration.cpp new file mode 100644 index 000000000000..6874f4da288f --- /dev/null +++ b/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DocDBElastic { + +void DocDBElasticClientConfiguration::LoadDocDBElasticSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DocDBElasticClientConfiguration::DocDBElasticClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDocDBElasticSpecificConfig(this->profileName); +} + +DocDBElasticClientConfiguration::DocDBElasticClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDocDBElasticSpecificConfig(Aws::String(inputProfileName)); +} + +DocDBElasticClientConfiguration::DocDBElasticClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDocDBElasticSpecificConfig(this->profileName); +} + +DocDBElasticClientConfiguration::DocDBElasticClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDocDBElasticSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DocDBElasticClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DocDBElastic +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticEndpointProvider.cpp b/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticEndpointProvider.cpp index bf226b2db9fc..b7c973a85120 100644 --- a/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_DOCDBELASTIC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DocDBElastic { namespace Endpoint { DocDBElasticEndpointProvider::DocDBElasticEndpointProvider() : DocDBElasticDefaultEpProviderBase(Aws::DocDBElastic::DocDBElasticEndpointRules::GetRulesBlob(), Aws::DocDBElastic::DocDBElasticEndpointRules::RulesBlobSize) {} +void DocDBElasticBuiltInParameters::SetFromClientConfiguration(const DocDBElasticClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DocDBElasticBuiltInParameters::SetFromClientConfiguration(const DocDBElasticClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DocDBElasticBuiltInParameters::SetServiceSpecificParameters(const DocDBElasticClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DocDBElastic } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBClient.h b/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBClient.h index 799283a51253..a50bce165f34 100644 --- a/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBClient.h +++ b/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBClient.h @@ -56,27 +56,6 @@ class AWS_DOCDB_API DocDBClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::DocDB::DocDBClientConfiguration& clientConfiguration = Aws::DocDB::DocDBClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DocDBClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DocDBClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DocDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DocDBClient(); /** @@ -1813,7 +1792,6 @@ class AWS_DOCDB_API DocDBClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&DocDBClient::SwitchoverGlobalCluster, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBClientConfiguration.h b/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBClientConfiguration.h new file mode 100644 index 000000000000..daa6779f0da6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DocDB { +struct AWS_DOCDB_API DocDBClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DocDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DocDBClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DocDBClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DocDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDocDBSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DOCDB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DocDBClientConfiguration& config); +} // namespace DocDB +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBEndpointProvider.h b/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBEndpointProvider.h index 254015aab765..f9f80129280b 100644 --- a/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DocDB { namespace Endpoint { +using DocDBClientConfiguration = Aws::DocDB::DocDBClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DocDBClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DocDBClientConfiguration = Aws::Client::GenericClientConfiguration; -using DocDBBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DOCDB_API DocDBBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DocDBBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DocDBClientConfiguration& config); + virtual void SetFromClientConfiguration(const DocDBClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DocDBClientConfiguration& config); +}; /** * The type for the DocDB Client Endpoint Provider. @@ -32,6 +41,22 @@ using DocDBEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace DocDB + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DOCDB_EXTERN template class AWS_DOCDB_API Aws::Endpoint::EndpointProviderBase< + DocDB::Endpoint::DocDBClientConfiguration, DocDB::Endpoint::DocDBBuiltInParameters, DocDB::Endpoint::DocDBClientContextParameters>; + +AWS_DOCDB_EXTERN template class AWS_DOCDB_API Aws::Endpoint::BDDEndpointProvider< + DocDB::Endpoint::DocDBClientConfiguration, DocDB::Endpoint::DocDBBuiltInParameters, DocDB::Endpoint::DocDBClientContextParameters>; +} // namespace Endpoint + +namespace DocDB { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBServiceClientModel.h b/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBServiceClientModel.h index 66186fed8f49..25a3b7c6f193 100644 --- a/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBServiceClientModel.h @@ -113,7 +113,6 @@ class RetryStrategy; } // namespace Client namespace DocDB { -using DocDBClientConfiguration = Aws::Client::GenericClientConfiguration; using DocDBEndpointProviderBase = Aws::DocDB::Endpoint::DocDBEndpointProviderBase; using DocDBEndpointProvider = Aws::DocDB::Endpoint::DocDBEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-docdb/source/DocDBClient.cpp b/generated/src/aws-cpp-sdk-docdb/source/DocDBClient.cpp index 541e3b60138c..5e88dbc85c67 100644 --- a/generated/src/aws-cpp-sdk-docdb/source/DocDBClient.cpp +++ b/generated/src/aws-cpp-sdk-docdb/source/DocDBClient.cpp @@ -133,41 +133,6 @@ DocDBClient::DocDBClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DocDBClient::DocDBClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DocDBClient::DocDBClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DocDBClient::DocDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DocDBClient::~DocDBClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DocDBClient::accessEndpointProvider() { return m_endpointProvider; } @@ -185,12 +150,7 @@ void DocDBClient::init(const DocDB::DocDBClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rds"); -} - -void DocDBClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String DocDBClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-docdb/source/DocDBClientConfiguration.cpp b/generated/src/aws-cpp-sdk-docdb/source/DocDBClientConfiguration.cpp new file mode 100644 index 000000000000..2a1a7a049f19 --- /dev/null +++ b/generated/src/aws-cpp-sdk-docdb/source/DocDBClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DocDB { + +void DocDBClientConfiguration::LoadDocDBSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DocDBClientConfiguration::DocDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDocDBSpecificConfig(this->profileName); +} + +DocDBClientConfiguration::DocDBClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDocDBSpecificConfig(Aws::String(inputProfileName)); +} + +DocDBClientConfiguration::DocDBClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDocDBSpecificConfig(this->profileName); +} + +DocDBClientConfiguration::DocDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDocDBSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DocDBClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DocDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-docdb/source/DocDBEndpointProvider.cpp b/generated/src/aws-cpp-sdk-docdb/source/DocDBEndpointProvider.cpp index 248b22251244..0931d2d94547 100644 --- a/generated/src/aws-cpp-sdk-docdb/source/DocDBEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-docdb/source/DocDBEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_DOCDB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DocDB { namespace Endpoint { DocDBEndpointProvider::DocDBEndpointProvider() : DocDBDefaultEpProviderBase(Aws::DocDB::DocDBEndpointRules::GetRulesBlob(), Aws::DocDB::DocDBEndpointRules::RulesBlobSize) {} +void DocDBBuiltInParameters::SetFromClientConfiguration(const DocDBClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DocDBBuiltInParameters::SetFromClientConfiguration(const DocDBClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DocDBBuiltInParameters::SetServiceSpecificParameters(const DocDBClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DocDB } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsClient.h b/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsClient.h index cb811822d2e7..b920d4812b63 100644 --- a/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsClient.h +++ b/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsClient.h @@ -52,27 +52,6 @@ class AWS_DRS_API DrsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::drs::DrsClientConfiguration& clientConfiguration = Aws::drs::DrsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DrsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DrsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DrsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DrsClient(); /** @@ -2068,7 +2047,6 @@ class AWS_DRS_API DrsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&DrsClient::UpdateReplicationConfigurationTemplate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsClientConfiguration.h b/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsClientConfiguration.h new file mode 100644 index 000000000000..b18dcff4996c --- /dev/null +++ b/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace drs { +struct AWS_DRS_API DrsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DrsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DrsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DrsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DrsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoaddrsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DRS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DrsClientConfiguration& config); +} // namespace drs +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsEndpointProvider.h b/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsEndpointProvider.h index f3c05f07d5f9..d337bf6a1a35 100644 --- a/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace drs { namespace Endpoint { +using DrsClientConfiguration = Aws::drs::DrsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DrsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DrsClientConfiguration = Aws::Client::GenericClientConfiguration; -using DrsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DRS_API DrsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DrsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DrsClientConfiguration& config); + virtual void SetFromClientConfiguration(const DrsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DrsClientConfiguration& config); +}; /** * The type for the drs Client Endpoint Provider. @@ -32,6 +41,22 @@ using DrsEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace drs + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DRS_EXTERN template class AWS_DRS_API Aws::Endpoint::EndpointProviderBase< + drs::Endpoint::DrsClientConfiguration, drs::Endpoint::DrsBuiltInParameters, drs::Endpoint::DrsClientContextParameters>; + +AWS_DRS_EXTERN template class AWS_DRS_API Aws::Endpoint::BDDEndpointProvider< + drs::Endpoint::DrsClientConfiguration, drs::Endpoint::DrsBuiltInParameters, drs::Endpoint::DrsClientContextParameters>; +} // namespace Endpoint + +namespace drs { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsServiceClientModel.h b/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsServiceClientModel.h index 380392e8bb11..4823125233bb 100644 --- a/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsServiceClientModel.h @@ -121,7 +121,6 @@ class RetryStrategy; } // namespace Client namespace drs { -using DrsClientConfiguration = Aws::Client::GenericClientConfiguration; using DrsEndpointProviderBase = Aws::drs::Endpoint::DrsEndpointProviderBase; using DrsEndpointProvider = Aws::drs::Endpoint::DrsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-drs/source/DrsClient.cpp b/generated/src/aws-cpp-sdk-drs/source/DrsClient.cpp index f827172e5c68..aca68a69962e 100644 --- a/generated/src/aws-cpp-sdk-drs/source/DrsClient.cpp +++ b/generated/src/aws-cpp-sdk-drs/source/DrsClient.cpp @@ -144,41 +144,6 @@ DrsClient::DrsClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DrsClient::DrsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DrsClient::DrsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DrsClient::DrsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DrsClient::~DrsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DrsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -196,12 +161,7 @@ void DrsClient::init(const drs::DrsClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "drs"); -} - -void DrsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DrsClient::InvokeOperationOutcome DrsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-drs/source/DrsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-drs/source/DrsClientConfiguration.cpp new file mode 100644 index 000000000000..5ee45ddb2503 --- /dev/null +++ b/generated/src/aws-cpp-sdk-drs/source/DrsClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace drs { + +void DrsClientConfiguration::LoaddrsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DrsClientConfiguration::DrsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoaddrsSpecificConfig(this->profileName); +} + +DrsClientConfiguration::DrsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoaddrsSpecificConfig(Aws::String(inputProfileName)); +} + +DrsClientConfiguration::DrsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoaddrsSpecificConfig(this->profileName); +} + +DrsClientConfiguration::DrsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoaddrsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DrsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace drs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-drs/source/DrsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-drs/source/DrsEndpointProvider.cpp index e2a19e62457b..668b472b6e3e 100644 --- a/generated/src/aws-cpp-sdk-drs/source/DrsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-drs/source/DrsEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_DRS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace drs { namespace Endpoint { DrsEndpointProvider::DrsEndpointProvider() : DrsDefaultEpProviderBase(Aws::drs::DrsEndpointRules::GetRulesBlob(), Aws::drs::DrsEndpointRules::RulesBlobSize) {} +void DrsBuiltInParameters::SetFromClientConfiguration(const DrsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DrsBuiltInParameters::SetFromClientConfiguration(const DrsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DrsBuiltInParameters::SetServiceSpecificParameters(const DrsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace drs } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceClient.h b/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceClient.h index 8028e809d428..695247961dd0 100644 --- a/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceClient.h +++ b/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceClient.h @@ -71,27 +71,6 @@ class AWS_DIRECTORYSERVICE_API DirectoryServiceClient : public Aws::Client::AWSJ const Aws::DirectoryService::DirectoryServiceClientConfiguration& clientConfiguration = Aws::DirectoryService::DirectoryServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DirectoryServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DirectoryServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DirectoryServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DirectoryServiceClient(); /** @@ -2451,7 +2430,6 @@ class AWS_DIRECTORYSERVICE_API DirectoryServiceClient : public Aws::Client::AWSJ return SubmitAsync(&DirectoryServiceClient::VerifyTrust, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceClientConfiguration.h new file mode 100644 index 000000000000..dcfe2d03a45c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DirectoryService { +struct AWS_DIRECTORYSERVICE_API DirectoryServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DirectoryServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DirectoryServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DirectoryServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DirectoryServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadDirectoryServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DIRECTORYSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DirectoryServiceClientConfiguration& config); +} // namespace DirectoryService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceEndpointProvider.h index 8b5617e846fb..64e4c643c9b6 100644 --- a/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DirectoryService { namespace Endpoint { +using DirectoryServiceClientConfiguration = Aws::DirectoryService::DirectoryServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DirectoryServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DirectoryServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using DirectoryServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DIRECTORYSERVICE_API DirectoryServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DirectoryServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DirectoryServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const DirectoryServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DirectoryServiceClientConfiguration& config); +}; /** * The type for the DirectoryService Client Endpoint Provider. @@ -34,6 +43,24 @@ using DirectoryServiceEndpointProviderBase = using DirectoryServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace DirectoryService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DIRECTORYSERVICE_EXTERN template class AWS_DIRECTORYSERVICE_API Aws::Endpoint::EndpointProviderBase< + DirectoryService::Endpoint::DirectoryServiceClientConfiguration, DirectoryService::Endpoint::DirectoryServiceBuiltInParameters, + DirectoryService::Endpoint::DirectoryServiceClientContextParameters>; + +AWS_DIRECTORYSERVICE_EXTERN template class AWS_DIRECTORYSERVICE_API Aws::Endpoint::BDDEndpointProvider< + DirectoryService::Endpoint::DirectoryServiceClientConfiguration, DirectoryService::Endpoint::DirectoryServiceBuiltInParameters, + DirectoryService::Endpoint::DirectoryServiceClientContextParameters>; +} // namespace Endpoint + +namespace DirectoryService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceServiceClientModel.h index fa27df8d8eeb..c7a128a70790 100644 --- a/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceServiceClientModel.h @@ -134,7 +134,6 @@ class RetryStrategy; } // namespace Client namespace DirectoryService { -using DirectoryServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using DirectoryServiceEndpointProviderBase = Aws::DirectoryService::Endpoint::DirectoryServiceEndpointProviderBase; using DirectoryServiceEndpointProvider = Aws::DirectoryService::Endpoint::DirectoryServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceClient.cpp b/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceClient.cpp index f12c74aaa89a..4262eccd6ce4 100644 --- a/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceClient.cpp @@ -161,42 +161,6 @@ DirectoryServiceClient::DirectoryServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DirectoryServiceClient::DirectoryServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DirectoryServiceClient::DirectoryServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DirectoryServiceClient::~DirectoryServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DirectoryServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -214,12 +178,7 @@ void DirectoryServiceClient::init(const DirectoryService::DirectoryServiceClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ds"); -} - -void DirectoryServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DirectoryServiceClient::InvokeOperationOutcome DirectoryServiceClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceClientConfiguration.cpp new file mode 100644 index 000000000000..3f4e9f981a4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DirectoryService { + +void DirectoryServiceClientConfiguration::LoadDirectoryServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DirectoryServiceClientConfiguration::DirectoryServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDirectoryServiceSpecificConfig(this->profileName); +} + +DirectoryServiceClientConfiguration::DirectoryServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDirectoryServiceSpecificConfig(Aws::String(inputProfileName)); +} + +DirectoryServiceClientConfiguration::DirectoryServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDirectoryServiceSpecificConfig(this->profileName); +} + +DirectoryServiceClientConfiguration::DirectoryServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDirectoryServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DirectoryServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DirectoryService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceEndpointProvider.cpp index f90fe74e4097..3e74b7adc4ed 100644 --- a/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ds/source/DirectoryServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_DIRECTORYSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DirectoryService { namespace Endpoint { DirectoryServiceEndpointProvider::DirectoryServiceEndpointProvider() : DirectoryServiceDefaultEpProviderBase(Aws::DirectoryService::DirectoryServiceEndpointRules::GetRulesBlob(), Aws::DirectoryService::DirectoryServiceEndpointRules::RulesBlobSize) {} +void DirectoryServiceBuiltInParameters::SetFromClientConfiguration(const DirectoryServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DirectoryServiceBuiltInParameters::SetFromClientConfiguration(const DirectoryServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DirectoryServiceBuiltInParameters::SetServiceSpecificParameters(const DirectoryServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DirectoryService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLClient.h b/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLClient.h index 9ef95b1d2417..f6cac2d23b1e 100644 --- a/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLClient.h +++ b/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLClient.h @@ -59,27 +59,6 @@ class AWS_DSQL_API DSQLClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::DSQL::DSQLClientConfiguration& clientConfiguration = Aws::DSQL::DSQLClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DSQLClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DSQLClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DSQLClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DSQLClient(); /** @@ -576,7 +555,6 @@ class AWS_DSQL_API DSQLClient : public Aws::Client::AWSJsonClient, Aws::Utils::Outcome GenerateDBConnectAdminAuthToken(const Aws::String& hostname, const Aws::String& region, long long expiresIn = 900); - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLClientConfiguration.h b/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLClientConfiguration.h new file mode 100644 index 000000000000..56dc0e2b0dab --- /dev/null +++ b/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace DSQL { +struct AWS_DSQL_API DSQLClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + DSQLClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DSQLClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + DSQLClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DSQLClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadDSQLSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DSQL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DSQLClientConfiguration& config); +} // namespace DSQL +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLEndpointProvider.h b/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLEndpointProvider.h index d42eeaea492b..1475c647ae7d 100644 --- a/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace DSQL { namespace Endpoint { +using DSQLClientConfiguration = Aws::DSQL::DSQLClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using DSQLClientContextParameters = Aws::Endpoint::ClientContextParameters; -using DSQLClientConfiguration = Aws::Client::GenericClientConfiguration; -using DSQLBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_DSQL_API DSQLBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~DSQLBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const DSQLClientConfiguration& config); + virtual void SetFromClientConfiguration(const DSQLClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DSQLClientConfiguration& config); +}; /** * The type for the DSQL Client Endpoint Provider. @@ -32,6 +41,22 @@ using DSQLEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace DSQL + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_DSQL_EXTERN template class AWS_DSQL_API Aws::Endpoint::EndpointProviderBase< + DSQL::Endpoint::DSQLClientConfiguration, DSQL::Endpoint::DSQLBuiltInParameters, DSQL::Endpoint::DSQLClientContextParameters>; + +AWS_DSQL_EXTERN template class AWS_DSQL_API Aws::Endpoint::BDDEndpointProvider< + DSQL::Endpoint::DSQLClientConfiguration, DSQL::Endpoint::DSQLBuiltInParameters, DSQL::Endpoint::DSQLClientContextParameters>; +} // namespace Endpoint + +namespace DSQL { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLServiceClientModel.h b/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLServiceClientModel.h index bf9ea609507b..192c76caffbe 100644 --- a/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace DSQL { -using DSQLClientConfiguration = Aws::Client::GenericClientConfiguration; using DSQLEndpointProviderBase = Aws::DSQL::Endpoint::DSQLEndpointProviderBase; using DSQLEndpointProvider = Aws::DSQL::Endpoint::DSQLEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-dsql/source/DSQLClient.cpp b/generated/src/aws-cpp-sdk-dsql/source/DSQLClient.cpp index 053bf073efb0..2f5364101c58 100644 --- a/generated/src/aws-cpp-sdk-dsql/source/DSQLClient.cpp +++ b/generated/src/aws-cpp-sdk-dsql/source/DSQLClient.cpp @@ -91,41 +91,6 @@ DSQLClient::DSQLClient(const std::shared_ptr& credential init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -DSQLClient::DSQLClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DSQLClient::DSQLClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DSQLClient::DSQLClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DSQLClient::~DSQLClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DSQLClient::accessEndpointProvider() { return m_endpointProvider; } @@ -143,12 +108,7 @@ void DSQLClient::init(const DSQL::DSQLClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "dsql"); -} - -void DSQLClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DSQLClient::InvokeOperationOutcome DSQLClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-dsql/source/DSQLClientConfiguration.cpp b/generated/src/aws-cpp-sdk-dsql/source/DSQLClientConfiguration.cpp new file mode 100644 index 000000000000..c1db3cd9d9da --- /dev/null +++ b/generated/src/aws-cpp-sdk-dsql/source/DSQLClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace DSQL { + +void DSQLClientConfiguration::LoadDSQLSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +DSQLClientConfiguration::DSQLClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadDSQLSpecificConfig(this->profileName); +} + +DSQLClientConfiguration::DSQLClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadDSQLSpecificConfig(Aws::String(inputProfileName)); +} + +DSQLClientConfiguration::DSQLClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadDSQLSpecificConfig(this->profileName); +} + +DSQLClientConfiguration::DSQLClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadDSQLSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DSQLClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace DSQL +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dsql/source/DSQLEndpointProvider.cpp b/generated/src/aws-cpp-sdk-dsql/source/DSQLEndpointProvider.cpp index 85ae46ab5d15..032884a9bb27 100644 --- a/generated/src/aws-cpp-sdk-dsql/source/DSQLEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-dsql/source/DSQLEndpointProvider.cpp @@ -7,11 +7,39 @@ #include namespace Aws { +#ifndef AWS_DSQL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace DSQL { namespace Endpoint { DSQLEndpointProvider::DSQLEndpointProvider() : DSQLDefaultEpProviderBase(Aws::DSQL::DSQLEndpointRules::GetRulesBlob(), Aws::DSQL::DSQLEndpointRules::RulesBlobSize) {} +void DSQLBuiltInParameters::SetFromClientConfiguration(const DSQLClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void DSQLBuiltInParameters::SetFromClientConfiguration(const DSQLClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void DSQLBuiltInParameters::SetServiceSpecificParameters(const DSQLClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace DSQL } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClient.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClient.h index dd2b2a72c90a..deeb3ca8b521 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClient.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClient.h @@ -75,27 +75,6 @@ class AWS_DYNAMODB_API DynamoDBClient std::shared_ptr endpointProvider = nullptr, const Aws::DynamoDB::DynamoDBClientConfiguration& clientConfiguration = Aws::DynamoDB::DynamoDBClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DynamoDBClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DynamoDBClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DynamoDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DynamoDBClient(); /** @@ -2402,7 +2381,6 @@ class AWS_DYNAMODB_API DynamoDBClient return SubmitAsync(&DynamoDBClient::UpdateTimeToLive, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClientConfiguration.h b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClientConfiguration.h index 142fbabc83e0..f99a1efd38d3 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-dynamodb/include/aws/dynamodb/DynamoDBClientConfiguration.h @@ -15,25 +15,6 @@ struct AWS_DYNAMODB_API DynamoDBClientConfiguration : public Aws::Client::Generi static const bool EndpointDiscoverySupported = true; static const bool EndpointDiscoveryRequired = false; - DynamoDBClientConfiguration(const DynamoDBClientConfiguration& other) - : Aws::Client::GenericClientConfiguration(other), enableEndpointDiscovery(BaseClientConfigClass::enableEndpointDiscovery) {} - - DynamoDBClientConfiguration(DynamoDBClientConfiguration&& other) noexcept - : Aws::Client::GenericClientConfiguration(std::move(other)), - enableEndpointDiscovery(BaseClientConfigClass::enableEndpointDiscovery) {} - - DynamoDBClientConfiguration& operator=(const DynamoDBClientConfiguration& other) { - if (this == &other) return *this; - Aws::Client::GenericClientConfiguration::operator=(other); - return *this; - } - - DynamoDBClientConfiguration& operator=(DynamoDBClientConfiguration&& other) noexcept { - if (this == &other) return *this; - Aws::Client::GenericClientConfiguration::operator=(std::move(other)); - return *this; - } - DynamoDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); /** @@ -53,9 +34,38 @@ struct AWS_DYNAMODB_API DynamoDBClientConfiguration : public Aws::Client::Generi DynamoDBClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit DynamoDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. */ - DynamoDBClientConfiguration(const Aws::Client::ClientConfiguration& config); + bool useDualStack = false; + + /** + * The AWS account ID. Used for account-based endpoint routing. An AWS account ID has a format like 111122223333. + * Account-based endpoint routing provides better request performance for some services. + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountId; + + /** + * This setting is used to turn off account-based endpoint routing if necessary, and bypass account-based rules. + * Can be the case sensitive string values "required", "disabled", or "preferred". Defaults to "preferred". + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountIdEndpointMode = "preferred"; /** * Enable endpoint discovery @@ -67,10 +77,15 @@ struct AWS_DYNAMODB_API DynamoDBClientConfiguration : public Aws::Client::Generi * such that SDK will decide the default behavior as stated before, if no value specified. * DynamoDB service client does not require endpoint discovery. The default value for this setting is Disabled. */ - Aws::Crt::Optional& enableEndpointDiscovery; + Aws::Crt::Optional enableEndpointDiscovery; private: void LoadDynamoDBSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DYNAMODB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DynamoDBClientConfiguration& config); } // namespace DynamoDB } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClient.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClient.cpp index c97f8c291313..01a3f58f4a1a 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClient.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClient.cpp @@ -143,52 +143,11 @@ DynamoDBClient::DynamoDBClient(const std::shared_ptr& cr }) {} /* Legacy constructors due deprecation */ -DynamoDBClient::DynamoDBClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT(clientConfiguration, GetServiceName(), "DynamoDB", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - }) {} - -DynamoDBClient::DynamoDBClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "DynamoDB", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - }) {} - -DynamoDBClient::DynamoDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "DynamoDB", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - }) {} /* End of legacy constructors due deprecation */ DynamoDBClient::~DynamoDBClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DynamoDBClient::accessEndpointProvider() { return m_endpointProvider; } - -void DynamoDBClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -} DynamoDBClient::InvokeOperationOutcome DynamoDBClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { auto operationName = request.GetServiceRequestName(); diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClientConfiguration.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClientConfiguration.cpp index afb004ed24c8..344f51513d59 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBClientConfiguration.cpp @@ -34,6 +34,9 @@ bool IsEndpointDiscoveryEnabled(const Aws::String& endpointOverride, const Aws:: } void DynamoDBClientConfiguration::LoadDynamoDBSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + accountIdEndpointMode = Aws::Client::LoadAccountIdEndpointModeFromEnvOrProfile(this->profileName); if (!enableEndpointDiscovery) { enableEndpointDiscovery = IsEndpointDiscoveryEnabled(this->endpointOverride, inputProfileName); } @@ -43,25 +46,31 @@ void DynamoDBClientConfiguration::LoadDynamoDBSpecificConfig(const Aws::String& } DynamoDBClientConfiguration::DynamoDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) - : BaseClientConfigClass(configuration), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(configuration) { LoadDynamoDBSpecificConfig(this->profileName); } DynamoDBClientConfiguration::DynamoDBClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) - : BaseClientConfigClass(inputProfileName, shouldDisableIMDS), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { LoadDynamoDBSpecificConfig(Aws::String(inputProfileName)); } DynamoDBClientConfiguration::DynamoDBClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) - : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS), - enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { LoadDynamoDBSpecificConfig(this->profileName); } -DynamoDBClientConfiguration::DynamoDBClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { +DynamoDBClientConfiguration::DynamoDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadDynamoDBSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DynamoDBClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.accountId = config.accountId; + options.accountIdEndpointMode = config.accountIdEndpointMode; + return options; +} + } // namespace DynamoDB } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointProvider.cpp b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointProvider.cpp index ac4c56557053..245f91ecaa2d 100644 --- a/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-dynamodb/source/DynamoDBEndpointProvider.cpp @@ -39,6 +39,12 @@ void DynamoDBBuiltInParameters::SetFromClientConfiguration(const DynamoDBClientC } void DynamoDBBuiltInParameters::SetServiceSpecificParameters(const DynamoDBClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } if (!config.accountId.empty()) { SetStringParameter("AccountId", config.accountId); } diff --git a/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsClient.h b/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsClient.h index ead0d76674e2..759bffd0922c 100644 --- a/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsClient.h +++ b/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsClient.h @@ -61,27 +61,6 @@ class AWS_DYNAMODBSTREAMS_API DynamoDBStreamsClient : public Aws::Client::AWSJso const Aws::DynamoDBStreams::DynamoDBStreamsClientConfiguration& clientConfiguration = Aws::DynamoDBStreams::DynamoDBStreamsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - DynamoDBStreamsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - DynamoDBStreamsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - DynamoDBStreamsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~DynamoDBStreamsClient(); /** @@ -212,7 +191,6 @@ class AWS_DYNAMODBSTREAMS_API DynamoDBStreamsClient : public Aws::Client::AWSJso return SubmitAsync(&DynamoDBStreamsClient::ListStreams, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsClientConfiguration.h b/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsClientConfiguration.h index 0afdbbef7b33..4d3c478f2886 100644 --- a/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsClientConfiguration.h @@ -32,12 +32,30 @@ struct AWS_DYNAMODBSTREAMS_API DynamoDBStreamsClientConfiguration : public Aws:: DynamoDBStreamsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - DynamoDBStreamsClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit DynamoDBStreamsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; private: void LoadDynamoDBStreamsSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_DYNAMODBSTREAMS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const DynamoDBStreamsClientConfiguration& config); } // namespace DynamoDBStreams } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsEndpointProvider.h b/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsEndpointProvider.h index 92c8feee0478..2c1564c17d36 100644 --- a/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-dynamodbstreams/include/aws/dynamodbstreams/DynamoDBStreamsEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_DYNAMODBSTREAMS_API DynamoDBStreamsBuiltInParameters : public Aws::End using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const DynamoDBStreamsClientConfiguration& config); virtual void SetFromClientConfiguration(const DynamoDBStreamsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const DynamoDBStreamsClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsClient.cpp b/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsClient.cpp index 363f10caf7c9..7b9d20099030 100644 --- a/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsClient.cpp +++ b/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsClient.cpp @@ -85,41 +85,6 @@ DynamoDBStreamsClient::DynamoDBStreamsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DynamoDBStreamsClient::DynamoDBStreamsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -DynamoDBStreamsClient::DynamoDBStreamsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ DynamoDBStreamsClient::~DynamoDBStreamsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& DynamoDBStreamsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -137,12 +102,7 @@ void DynamoDBStreamsClient::init(const DynamoDBStreams::DynamoDBStreamsClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "dynamodb"); -} - -void DynamoDBStreamsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } DynamoDBStreamsClient::InvokeOperationOutcome DynamoDBStreamsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsClientConfiguration.cpp index 0a7aea97952c..9a49f94084e0 100644 --- a/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsClientConfiguration.cpp @@ -9,6 +9,8 @@ namespace Aws { namespace DynamoDBStreams { void DynamoDBStreamsClientConfiguration::LoadDynamoDBStreamsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); this->configFactories.retryStrategyCreateFn = []() -> std::shared_ptr { return Client::InitRetryStrategy(4, "", 0.025); }; @@ -35,10 +37,16 @@ DynamoDBStreamsClientConfiguration::DynamoDBStreamsClientConfiguration(bool useS LoadDynamoDBStreamsSpecificConfig(this->profileName); } -DynamoDBStreamsClientConfiguration::DynamoDBStreamsClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config) { +DynamoDBStreamsClientConfiguration::DynamoDBStreamsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadDynamoDBStreamsSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const DynamoDBStreamsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + } // namespace DynamoDBStreams } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsEndpointProvider.cpp index f3f24145435d..f8af1414adcc 100644 --- a/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-dynamodbstreams/source/DynamoDBStreamsEndpointProvider.cpp @@ -30,13 +30,23 @@ DynamoDBStreamsEndpointProvider::DynamoDBStreamsEndpointProvider() void DynamoDBStreamsBuiltInParameters::SetFromClientConfiguration(const DynamoDBStreamsClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void DynamoDBStreamsBuiltInParameters::SetFromClientConfiguration(const DynamoDBStreamsClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void DynamoDBStreamsBuiltInParameters::SetServiceSpecificParameters(const DynamoDBStreamsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace DynamoDBStreams } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSClient.h b/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSClient.h index af2a8300d4ca..5d1daf0d8bff 100644 --- a/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSClient.h +++ b/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSClient.h @@ -76,27 +76,6 @@ class AWS_EBS_API EBSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::EBS::EBSClientConfiguration& clientConfiguration = Aws::EBS::EBSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EBSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EBSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EBSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EBSClient(); /** @@ -305,7 +284,6 @@ class AWS_EBS_API EBSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&EBSClient::StartSnapshot, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSClientConfiguration.h b/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSClientConfiguration.h new file mode 100644 index 000000000000..d8a09e968979 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EBS { +struct AWS_EBS_API EBSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EBSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EBSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EBSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EBSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadEBSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EBS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EBSClientConfiguration& config); +} // namespace EBS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSEndpointProvider.h b/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSEndpointProvider.h index 3687381f421e..4cefab14393c 100644 --- a/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EBS { namespace Endpoint { +using EBSClientConfiguration = Aws::EBS::EBSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EBSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EBSClientConfiguration = Aws::Client::GenericClientConfiguration; -using EBSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EBS_API EBSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EBSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EBSClientConfiguration& config); + virtual void SetFromClientConfiguration(const EBSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EBSClientConfiguration& config); +}; /** * The type for the EBS Client Endpoint Provider. @@ -32,6 +41,22 @@ using EBSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace EBS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EBS_EXTERN template class AWS_EBS_API Aws::Endpoint::EndpointProviderBase< + EBS::Endpoint::EBSClientConfiguration, EBS::Endpoint::EBSBuiltInParameters, EBS::Endpoint::EBSClientContextParameters>; + +AWS_EBS_EXTERN template class AWS_EBS_API Aws::Endpoint::BDDEndpointProvider< + EBS::Endpoint::EBSClientConfiguration, EBS::Endpoint::EBSBuiltInParameters, EBS::Endpoint::EBSClientContextParameters>; +} // namespace Endpoint + +namespace EBS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSServiceClientModel.h b/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSServiceClientModel.h index c1468825f99a..92ae7ae1907a 100644 --- a/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace EBS { -using EBSClientConfiguration = Aws::Client::GenericClientConfiguration; using EBSEndpointProviderBase = Aws::EBS::Endpoint::EBSEndpointProviderBase; using EBSEndpointProvider = Aws::EBS::Endpoint::EBSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ebs/source/EBSClient.cpp b/generated/src/aws-cpp-sdk-ebs/source/EBSClient.cpp index 16dca6a38872..0bb8c140eabd 100644 --- a/generated/src/aws-cpp-sdk-ebs/source/EBSClient.cpp +++ b/generated/src/aws-cpp-sdk-ebs/source/EBSClient.cpp @@ -83,43 +83,6 @@ EBSClient::EBSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -EBSClient::EBSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EBSClient::EBSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EBSClient::EBSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EBSClient::~EBSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EBSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -137,12 +100,7 @@ void EBSClient::init(const EBS::EBSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ebs"); -} - -void EBSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EBSClient::InvokeOperationOutcome EBSClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ebs/source/EBSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ebs/source/EBSClientConfiguration.cpp new file mode 100644 index 000000000000..bd18f2ae438b --- /dev/null +++ b/generated/src/aws-cpp-sdk-ebs/source/EBSClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EBS { + +void EBSClientConfiguration::LoadEBSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EBSClientConfiguration::EBSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEBSSpecificConfig(this->profileName); +} + +EBSClientConfiguration::EBSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEBSSpecificConfig(Aws::String(inputProfileName)); +} + +EBSClientConfiguration::EBSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEBSSpecificConfig(this->profileName); +} + +EBSClientConfiguration::EBSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadEBSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EBSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace EBS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ebs/source/EBSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ebs/source/EBSEndpointProvider.cpp index 5d5f4a3adfe8..400cda7244b7 100644 --- a/generated/src/aws-cpp-sdk-ebs/source/EBSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ebs/source/EBSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_EBS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EBS { namespace Endpoint { EBSEndpointProvider::EBSEndpointProvider() : EBSDefaultEpProviderBase(Aws::EBS::EBSEndpointRules::GetRulesBlob(), Aws::EBS::EBSEndpointRules::RulesBlobSize) {} +void EBSBuiltInParameters::SetFromClientConfiguration(const EBSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EBSBuiltInParameters::SetFromClientConfiguration(const EBSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EBSBuiltInParameters::SetServiceSpecificParameters(const EBSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EBS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectClient.h b/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectClient.h index 1a876a7c4f5e..ffaa68102983 100644 --- a/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectClient.h +++ b/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectClient.h @@ -66,27 +66,6 @@ class AWS_EC2INSTANCECONNECT_API EC2InstanceConnectClient : public Aws::Client:: const Aws::EC2InstanceConnect::EC2InstanceConnectClientConfiguration& clientConfiguration = Aws::EC2InstanceConnect::EC2InstanceConnectClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EC2InstanceConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EC2InstanceConnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EC2InstanceConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EC2InstanceConnectClient(); /** @@ -153,7 +132,6 @@ class AWS_EC2INSTANCECONNECT_API EC2InstanceConnectClient : public Aws::Client:: return SubmitAsync(&EC2InstanceConnectClient::SendSerialConsoleSSHPublicKey, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectClientConfiguration.h b/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectClientConfiguration.h new file mode 100644 index 000000000000..da6237f29a4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EC2InstanceConnect { +struct AWS_EC2INSTANCECONNECT_API EC2InstanceConnectClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EC2InstanceConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EC2InstanceConnectClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EC2InstanceConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EC2InstanceConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEC2InstanceConnectSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EC2INSTANCECONNECT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EC2InstanceConnectClientConfiguration& config); +} // namespace EC2InstanceConnect +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectEndpointProvider.h b/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectEndpointProvider.h index 6a845d55507c..e0bc8dc7e585 100644 --- a/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EC2InstanceConnect { namespace Endpoint { +using EC2InstanceConnectClientConfiguration = Aws::EC2InstanceConnect::EC2InstanceConnectClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EC2InstanceConnectClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EC2InstanceConnectClientConfiguration = Aws::Client::GenericClientConfiguration; -using EC2InstanceConnectBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EC2INSTANCECONNECT_API EC2InstanceConnectBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EC2InstanceConnectBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EC2InstanceConnectClientConfiguration& config); + virtual void SetFromClientConfiguration(const EC2InstanceConnectClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EC2InstanceConnectClientConfiguration& config); +}; /** * The type for the EC2InstanceConnect Client Endpoint Provider. @@ -36,6 +45,24 @@ using EC2InstanceConnectDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace EC2InstanceConnect + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EC2INSTANCECONNECT_EXTERN template class AWS_EC2INSTANCECONNECT_API Aws::Endpoint::EndpointProviderBase< + EC2InstanceConnect::Endpoint::EC2InstanceConnectClientConfiguration, EC2InstanceConnect::Endpoint::EC2InstanceConnectBuiltInParameters, + EC2InstanceConnect::Endpoint::EC2InstanceConnectClientContextParameters>; + +AWS_EC2INSTANCECONNECT_EXTERN template class AWS_EC2INSTANCECONNECT_API Aws::Endpoint::BDDEndpointProvider< + EC2InstanceConnect::Endpoint::EC2InstanceConnectClientConfiguration, EC2InstanceConnect::Endpoint::EC2InstanceConnectBuiltInParameters, + EC2InstanceConnect::Endpoint::EC2InstanceConnectClientContextParameters>; +} // namespace Endpoint + +namespace EC2InstanceConnect { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectServiceClientModel.h index 3a6fd81e7940..1123fb009ca6 100644 --- a/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace EC2InstanceConnect { -using EC2InstanceConnectClientConfiguration = Aws::Client::GenericClientConfiguration; using EC2InstanceConnectEndpointProviderBase = Aws::EC2InstanceConnect::Endpoint::EC2InstanceConnectEndpointProviderBase; using EC2InstanceConnectEndpointProvider = Aws::EC2InstanceConnect::Endpoint::EC2InstanceConnectEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectClient.cpp b/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectClient.cpp index d038dd4be39e..aaba0ddf14eb 100644 --- a/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectClient.cpp +++ b/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectClient.cpp @@ -83,42 +83,6 @@ EC2InstanceConnectClient::EC2InstanceConnectClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EC2InstanceConnectClient::EC2InstanceConnectClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EC2InstanceConnectClient::EC2InstanceConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EC2InstanceConnectClient::~EC2InstanceConnectClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EC2InstanceConnectClient::accessEndpointProvider() { return m_endpointProvider; } @@ -136,12 +100,7 @@ void EC2InstanceConnectClient::init(const EC2InstanceConnect::EC2InstanceConnect AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ec2-instance-connect"); -} - -void EC2InstanceConnectClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EC2InstanceConnectClient::InvokeOperationOutcome EC2InstanceConnectClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectClientConfiguration.cpp new file mode 100644 index 000000000000..0f68d3a85cf6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EC2InstanceConnect { + +void EC2InstanceConnectClientConfiguration::LoadEC2InstanceConnectSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EC2InstanceConnectClientConfiguration::EC2InstanceConnectClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEC2InstanceConnectSpecificConfig(this->profileName); +} + +EC2InstanceConnectClientConfiguration::EC2InstanceConnectClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEC2InstanceConnectSpecificConfig(Aws::String(inputProfileName)); +} + +EC2InstanceConnectClientConfiguration::EC2InstanceConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEC2InstanceConnectSpecificConfig(this->profileName); +} + +EC2InstanceConnectClientConfiguration::EC2InstanceConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadEC2InstanceConnectSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EC2InstanceConnectClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EC2InstanceConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectEndpointProvider.cpp index 42e9977f8097..89049142d1b6 100644 --- a/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_EC2INSTANCECONNECT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EC2InstanceConnect { namespace Endpoint { EC2InstanceConnectEndpointProvider::EC2InstanceConnectEndpointProvider() : EC2InstanceConnectDefaultEpProviderBase(Aws::EC2InstanceConnect::EC2InstanceConnectEndpointRules::GetRulesBlob(), Aws::EC2InstanceConnect::EC2InstanceConnectEndpointRules::RulesBlobSize) {} +void EC2InstanceConnectBuiltInParameters::SetFromClientConfiguration(const EC2InstanceConnectClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EC2InstanceConnectBuiltInParameters::SetFromClientConfiguration(const EC2InstanceConnectClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EC2InstanceConnectBuiltInParameters::SetServiceSpecificParameters(const EC2InstanceConnectClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EC2InstanceConnect } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h index 2a76cd63db37..26c18f25a55c 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2Client.h @@ -79,27 +79,6 @@ class AWS_EC2_API EC2Client : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::EC2::EC2ClientConfiguration& clientConfiguration = Aws::EC2::EC2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EC2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EC2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EC2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EC2Client(); /** @@ -27360,7 +27339,6 @@ class AWS_EC2_API EC2Client : public Aws::Client::AWSXMLClient, return SubmitAsync(&EC2Client::WithdrawByoipCidr, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ClientConfiguration.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ClientConfiguration.h new file mode 100644 index 000000000000..5f3b1d1e399e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EC2 { +struct AWS_EC2_API EC2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EC2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EC2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EC2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EC2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEC2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EC2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EC2ClientConfiguration& config); +} // namespace EC2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2EndpointProvider.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2EndpointProvider.h index 9aec3cd51835..f51c0e810923 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EC2 { namespace Endpoint { +using EC2ClientConfiguration = Aws::EC2::EC2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EC2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EC2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using EC2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EC2_API EC2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EC2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EC2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const EC2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EC2ClientConfiguration& config); +}; /** * The type for the EC2 Client Endpoint Provider. @@ -32,6 +41,22 @@ using EC2EndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace EC2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EC2_EXTERN template class AWS_EC2_API Aws::Endpoint::EndpointProviderBase< + EC2::Endpoint::EC2ClientConfiguration, EC2::Endpoint::EC2BuiltInParameters, EC2::Endpoint::EC2ClientContextParameters>; + +AWS_EC2_EXTERN template class AWS_EC2_API Aws::Endpoint::BDDEndpointProvider< + EC2::Endpoint::EC2ClientConfiguration, EC2::Endpoint::EC2BuiltInParameters, EC2::Endpoint::EC2ClientContextParameters>; +} // namespace Endpoint + +namespace EC2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h index bff3c3db9903..6fe4bc647448 100644 --- a/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ServiceClientModel.h @@ -1048,7 +1048,6 @@ class RetryStrategy; } // namespace Client namespace EC2 { -using EC2ClientConfiguration = Aws::Client::GenericClientConfiguration; using EC2EndpointProviderBase = Aws::EC2::Endpoint::EC2EndpointProviderBase; using EC2EndpointProvider = Aws::EC2::Endpoint::EC2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp index 4b674c4efcfc..ab0b84b5beb0 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2Client.cpp @@ -175,41 +175,6 @@ EC2Client::EC2Client(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -EC2Client::EC2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EC2Client::EC2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EC2Client::EC2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EC2Client::~EC2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& EC2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -227,12 +192,7 @@ void EC2Client::init(const EC2::EC2ClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ec2"); -} - -void EC2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EC2Client::InvokeOperationOutcome EC2Client::InvokeServiceOperation(const AmazonWebServiceRequest& request, diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2ClientConfiguration.cpp new file mode 100644 index 000000000000..ed1c5fd5add0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2ClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EC2 { + +void EC2ClientConfiguration::LoadEC2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EC2ClientConfiguration::EC2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEC2SpecificConfig(this->profileName); +} + +EC2ClientConfiguration::EC2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEC2SpecificConfig(Aws::String(inputProfileName)); +} + +EC2ClientConfiguration::EC2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEC2SpecificConfig(this->profileName); +} + +EC2ClientConfiguration::EC2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadEC2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EC2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EC2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ec2/source/EC2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-ec2/source/EC2EndpointProvider.cpp index ad0ef6d423ca..84793d97aaeb 100644 --- a/generated/src/aws-cpp-sdk-ec2/source/EC2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ec2/source/EC2EndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_EC2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EC2 { namespace Endpoint { EC2EndpointProvider::EC2EndpointProvider() : EC2DefaultEpProviderBase(Aws::EC2::EC2EndpointRules::GetRulesBlob(), Aws::EC2::EC2EndpointRules::RulesBlobSize) {} +void EC2BuiltInParameters::SetFromClientConfiguration(const EC2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EC2BuiltInParameters::SetFromClientConfiguration(const EC2ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EC2BuiltInParameters::SetServiceSpecificParameters(const EC2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EC2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicClient.h b/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicClient.h index 4177f66116e2..691b48d87569 100644 --- a/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicClient.h +++ b/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicClient.h @@ -61,27 +61,6 @@ class AWS_ECRPUBLIC_API ECRPublicClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::ECRPublic::ECRPublicClientConfiguration& clientConfiguration = Aws::ECRPublic::ECRPublicClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ECRPublicClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ECRPublicClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ECRPublicClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ECRPublicClient(); /** @@ -759,7 +738,6 @@ class AWS_ECRPUBLIC_API ECRPublicClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ECRPublicClient::UploadLayerPart, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicClientConfiguration.h b/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicClientConfiguration.h new file mode 100644 index 000000000000..1bbc4d14bd11 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ECRPublic { +struct AWS_ECRPUBLIC_API ECRPublicClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ECRPublicClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ECRPublicClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ECRPublicClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ECRPublicClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadECRPublicSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ECRPUBLIC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ECRPublicClientConfiguration& config); +} // namespace ECRPublic +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicEndpointProvider.h b/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicEndpointProvider.h index 1d12cdd1b132..4882c56d374c 100644 --- a/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ECRPublic { namespace Endpoint { +using ECRPublicClientConfiguration = Aws::ECRPublic::ECRPublicClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ECRPublicClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ECRPublicClientConfiguration = Aws::Client::GenericClientConfiguration; -using ECRPublicBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ECRPUBLIC_API ECRPublicBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ECRPublicBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ECRPublicClientConfiguration& config); + virtual void SetFromClientConfiguration(const ECRPublicClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ECRPublicClientConfiguration& config); +}; /** * The type for the ECRPublic Client Endpoint Provider. @@ -34,6 +43,24 @@ using ECRPublicEndpointProviderBase = using ECRPublicDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ECRPublic + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ECRPUBLIC_EXTERN template class AWS_ECRPUBLIC_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ECRPUBLIC_EXTERN template class AWS_ECRPUBLIC_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ECRPublic { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicServiceClientModel.h b/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicServiceClientModel.h index cca163053a8e..c6cd61b6f518 100644 --- a/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicServiceClientModel.h @@ -74,7 +74,6 @@ class RetryStrategy; } // namespace Client namespace ECRPublic { -using ECRPublicClientConfiguration = Aws::Client::GenericClientConfiguration; using ECRPublicEndpointProviderBase = Aws::ECRPublic::Endpoint::ECRPublicEndpointProviderBase; using ECRPublicEndpointProvider = Aws::ECRPublic::Endpoint::ECRPublicEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicClient.cpp b/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicClient.cpp index 34fb61dd5043..4d27985b8996 100644 --- a/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicClient.cpp +++ b/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicClient.cpp @@ -100,41 +100,6 @@ ECRPublicClient::ECRPublicClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ECRPublicClient::ECRPublicClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ECRPublicClient::ECRPublicClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ECRPublicClient::ECRPublicClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ECRPublicClient::~ECRPublicClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ECRPublicClient::accessEndpointProvider() { return m_endpointProvider; } @@ -152,12 +117,7 @@ void ECRPublicClient::init(const ECRPublic::ECRPublicClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ecr-public"); -} - -void ECRPublicClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ECRPublicClient::InvokeOperationOutcome ECRPublicClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicClientConfiguration.cpp new file mode 100644 index 000000000000..268e86c3c32c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ECRPublic { + +void ECRPublicClientConfiguration::LoadECRPublicSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ECRPublicClientConfiguration::ECRPublicClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadECRPublicSpecificConfig(this->profileName); +} + +ECRPublicClientConfiguration::ECRPublicClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadECRPublicSpecificConfig(Aws::String(inputProfileName)); +} + +ECRPublicClientConfiguration::ECRPublicClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadECRPublicSpecificConfig(this->profileName); +} + +ECRPublicClientConfiguration::ECRPublicClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadECRPublicSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ECRPublicClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ECRPublic +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicEndpointProvider.cpp index 459a95c9841d..009e6faa75e3 100644 --- a/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_ECRPUBLIC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ECRPublic { namespace Endpoint { ECRPublicEndpointProvider::ECRPublicEndpointProvider() : ECRPublicDefaultEpProviderBase(Aws::ECRPublic::ECRPublicEndpointRules::GetRulesBlob(), Aws::ECRPublic::ECRPublicEndpointRules::RulesBlobSize) {} +void ECRPublicBuiltInParameters::SetFromClientConfiguration(const ECRPublicClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ECRPublicBuiltInParameters::SetFromClientConfiguration(const ECRPublicClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ECRPublicBuiltInParameters::SetServiceSpecificParameters(const ECRPublicClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ECRPublic } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClient.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClient.h index 591eebf1bd92..794a12d6e394 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClient.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClient.h @@ -62,27 +62,6 @@ class AWS_ECR_API ECRClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::ECR::ECRClientConfiguration& clientConfiguration = Aws::ECR::ECRClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ECRClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ECRClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ECRClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ECRClient(); /** @@ -1996,7 +1975,6 @@ class AWS_ECR_API ECRClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ECRClient::ValidatePullThroughCacheRule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClientConfiguration.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClientConfiguration.h new file mode 100644 index 000000000000..ffb3630c2a72 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ECR { +struct AWS_ECR_API ECRClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ECRClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ECRClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ECRClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ECRClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadECRSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ECR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ECRClientConfiguration& config); +} // namespace ECR +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECREndpointProvider.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECREndpointProvider.h index e9f546b7a069..342c91da0fac 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECREndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECREndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ECR { namespace Endpoint { +using ECRClientConfiguration = Aws::ECR::ECRClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ECRClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ECRClientConfiguration = Aws::Client::GenericClientConfiguration; -using ECRBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ECR_API ECRBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ECRBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ECRClientConfiguration& config); + virtual void SetFromClientConfiguration(const ECRClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ECRClientConfiguration& config); +}; /** * The type for the ECR Client Endpoint Provider. @@ -32,6 +41,22 @@ using ECREndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace ECR + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ECR_EXTERN template class AWS_ECR_API Aws::Endpoint::EndpointProviderBase< + ECR::Endpoint::ECRClientConfiguration, ECR::Endpoint::ECRBuiltInParameters, ECR::Endpoint::ECRClientContextParameters>; + +AWS_ECR_EXTERN template class AWS_ECR_API Aws::Endpoint::BDDEndpointProvider< + ECR::Endpoint::ECRClientConfiguration, ECR::Endpoint::ECRBuiltInParameters, ECR::Endpoint::ECRClientContextParameters>; +} // namespace Endpoint + +namespace ECR { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRServiceClientModel.h b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRServiceClientModel.h index d4466f34c25d..204fb9230e6a 100644 --- a/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRServiceClientModel.h @@ -121,7 +121,6 @@ class RetryStrategy; } // namespace Client namespace ECR { -using ECRClientConfiguration = Aws::Client::GenericClientConfiguration; using ECREndpointProviderBase = Aws::ECR::Endpoint::ECREndpointProviderBase; using ECREndpointProvider = Aws::ECR::Endpoint::ECREndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ecr/source/ECRClient.cpp b/generated/src/aws-cpp-sdk-ecr/source/ECRClient.cpp index a8ae1950f9f3..60337f351287 100644 --- a/generated/src/aws-cpp-sdk-ecr/source/ECRClient.cpp +++ b/generated/src/aws-cpp-sdk-ecr/source/ECRClient.cpp @@ -137,41 +137,6 @@ ECRClient::ECRClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ECRClient::ECRClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ECRClient::ECRClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ECRClient::ECRClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ECRClient::~ECRClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ECRClient::accessEndpointProvider() { return m_endpointProvider; } @@ -189,12 +154,7 @@ void ECRClient::init(const ECR::ECRClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ecr"); -} - -void ECRClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ECRClient::InvokeOperationOutcome ECRClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-ecr/source/ECRClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ecr/source/ECRClientConfiguration.cpp new file mode 100644 index 000000000000..4598627ef845 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecr/source/ECRClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ECR { + +void ECRClientConfiguration::LoadECRSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ECRClientConfiguration::ECRClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadECRSpecificConfig(this->profileName); +} + +ECRClientConfiguration::ECRClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadECRSpecificConfig(Aws::String(inputProfileName)); +} + +ECRClientConfiguration::ECRClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadECRSpecificConfig(this->profileName); +} + +ECRClientConfiguration::ECRClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadECRSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ECRClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ECR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecr/source/ECREndpointProvider.cpp b/generated/src/aws-cpp-sdk-ecr/source/ECREndpointProvider.cpp index a61dd3e46906..b4931a550720 100644 --- a/generated/src/aws-cpp-sdk-ecr/source/ECREndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ecr/source/ECREndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_ECR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ECR { namespace Endpoint { ECREndpointProvider::ECREndpointProvider() : ECRDefaultEpProviderBase(Aws::ECR::ECREndpointRules::GetRulesBlob(), Aws::ECR::ECREndpointRules::RulesBlobSize) {} +void ECRBuiltInParameters::SetFromClientConfiguration(const ECRClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ECRBuiltInParameters::SetFromClientConfiguration(const ECRClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ECRBuiltInParameters::SetServiceSpecificParameters(const ECRClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ECR } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h index 15d353457e82..6bb1251f3d82 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClient.h @@ -66,27 +66,6 @@ class AWS_ECS_API ECSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::ECS::ECSClientConfiguration& clientConfiguration = Aws::ECS::ECSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ECSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ECSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ECSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ECSClient(); /** @@ -3300,7 +3279,6 @@ class AWS_ECS_API ECSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ECSClient::UpdateTaskSet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClientConfiguration.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClientConfiguration.h new file mode 100644 index 000000000000..45d402dc06a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ECS { +struct AWS_ECS_API ECSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ECSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ECSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ECSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ECSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadECSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ECS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ECSClientConfiguration& config); +} // namespace ECS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSEndpointProvider.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSEndpointProvider.h index 6414903f1871..ea951ec1452b 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ECS { namespace Endpoint { +using ECSClientConfiguration = Aws::ECS::ECSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ECSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ECSClientConfiguration = Aws::Client::GenericClientConfiguration; -using ECSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ECS_API ECSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ECSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ECSClientConfiguration& config); + virtual void SetFromClientConfiguration(const ECSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ECSClientConfiguration& config); +}; /** * The type for the ECS Client Endpoint Provider. @@ -32,6 +41,22 @@ using ECSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace ECS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ECS_EXTERN template class AWS_ECS_API Aws::Endpoint::EndpointProviderBase< + ECS::Endpoint::ECSClientConfiguration, ECS::Endpoint::ECSBuiltInParameters, ECS::Endpoint::ECSClientContextParameters>; + +AWS_ECS_EXTERN template class AWS_ECS_API Aws::Endpoint::BDDEndpointProvider< + ECS::Endpoint::ECSClientConfiguration, ECS::Endpoint::ECSBuiltInParameters, ECS::Endpoint::ECSClientContextParameters>; +} // namespace Endpoint + +namespace ECS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSServiceClientModel.h b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSServiceClientModel.h index 822de0139755..409bb582ad4e 100644 --- a/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSServiceClientModel.h @@ -153,7 +153,6 @@ class RetryStrategy; } // namespace Client namespace ECS { -using ECSClientConfiguration = Aws::Client::GenericClientConfiguration; using ECSEndpointProviderBase = Aws::ECS::Endpoint::ECSEndpointProviderBase; using ECSEndpointProvider = Aws::ECS::Endpoint::ECSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ecs/source/ECSClient.cpp b/generated/src/aws-cpp-sdk-ecs/source/ECSClient.cpp index 91e1ae2aa897..d8a5f1a2db85 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/ECSClient.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/ECSClient.cpp @@ -163,41 +163,6 @@ ECSClient::ECSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ECSClient::ECSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ECSClient::ECSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ECSClient::ECSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ECSClient::~ECSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ECSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -215,12 +180,7 @@ void ECSClient::init(const ECS::ECSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ecs"); -} - -void ECSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ECSClient::InvokeOperationOutcome ECSClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-ecs/source/ECSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ecs/source/ECSClientConfiguration.cpp new file mode 100644 index 000000000000..a1b7944ddb70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ecs/source/ECSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ECS { + +void ECSClientConfiguration::LoadECSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ECSClientConfiguration::ECSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadECSSpecificConfig(this->profileName); +} + +ECSClientConfiguration::ECSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadECSSpecificConfig(Aws::String(inputProfileName)); +} + +ECSClientConfiguration::ECSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadECSSpecificConfig(this->profileName); +} + +ECSClientConfiguration::ECSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadECSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ECSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ECS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ecs/source/ECSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ecs/source/ECSEndpointProvider.cpp index bda20863ca40..320380bb919a 100644 --- a/generated/src/aws-cpp-sdk-ecs/source/ECSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ecs/source/ECSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_ECS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ECS { namespace Endpoint { ECSEndpointProvider::ECSEndpointProvider() : ECSDefaultEpProviderBase(Aws::ECS::ECSEndpointRules::GetRulesBlob(), Aws::ECS::ECSEndpointRules::RulesBlobSize) {} +void ECSBuiltInParameters::SetFromClientConfiguration(const ECSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ECSBuiltInParameters::SetFromClientConfiguration(const ECSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ECSBuiltInParameters::SetServiceSpecificParameters(const ECSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ECS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClient.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClient.h index 84201151deae..e3c6a6fc9ad1 100644 --- a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClient.h +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClient.h @@ -53,27 +53,6 @@ class AWS_EKSAUTH_API EKSAuthClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::EKSAuth::EKSAuthClientConfiguration& clientConfiguration = Aws::EKSAuth::EKSAuthClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EKSAuthClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EKSAuthClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EKSAuthClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EKSAuthClient(); /** @@ -108,7 +87,6 @@ class AWS_EKSAUTH_API EKSAuthClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&EKSAuthClient::AssumeRoleForPodIdentity, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClientConfiguration.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClientConfiguration.h new file mode 100644 index 000000000000..e3ccfd1d4884 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EKSAuth { +struct AWS_EKSAUTH_API EKSAuthClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EKSAuthClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EKSAuthClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EKSAuthClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EKSAuthClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadEKSAuthSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EKSAUTH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EKSAuthClientConfiguration& config); +} // namespace EKSAuth +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointProvider.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointProvider.h index b13de38ffd51..9f1947a612a5 100644 --- a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EKSAuth { namespace Endpoint { +using EKSAuthClientConfiguration = Aws::EKSAuth::EKSAuthClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EKSAuthClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EKSAuthClientConfiguration = Aws::Client::GenericClientConfiguration; -using EKSAuthBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EKSAUTH_API EKSAuthBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EKSAuthBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EKSAuthClientConfiguration& config); + virtual void SetFromClientConfiguration(const EKSAuthClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EKSAuthClientConfiguration& config); +}; /** * The type for the EKSAuth Client Endpoint Provider. @@ -34,6 +43,24 @@ using EKSAuthEndpointProviderBase = using EKSAuthDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace EKSAuth + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EKSAUTH_EXTERN template class AWS_EKSAUTH_API + Aws::Endpoint::EndpointProviderBase; + +AWS_EKSAUTH_EXTERN template class AWS_EKSAUTH_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace EKSAuth { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthServiceClientModel.h b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthServiceClientModel.h index 97722b9059e3..529e72126e2b 100644 --- a/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace EKSAuth { -using EKSAuthClientConfiguration = Aws::Client::GenericClientConfiguration; using EKSAuthEndpointProviderBase = Aws::EKSAuth::Endpoint::EKSAuthEndpointProviderBase; using EKSAuthEndpointProvider = Aws::EKSAuth::Endpoint::EKSAuthEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClient.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClient.cpp index 8361c6a98186..9c533befe0c8 100644 --- a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClient.cpp +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClient.cpp @@ -78,41 +78,6 @@ EKSAuthClient::EKSAuthClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -EKSAuthClient::EKSAuthClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EKSAuthClient::EKSAuthClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EKSAuthClient::EKSAuthClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EKSAuthClient::~EKSAuthClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EKSAuthClient::accessEndpointProvider() { return m_endpointProvider; } @@ -130,12 +95,7 @@ void EKSAuthClient::init(const EKSAuth::EKSAuthClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "eks-auth"); -} - -void EKSAuthClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EKSAuthClient::InvokeOperationOutcome EKSAuthClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClientConfiguration.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClientConfiguration.cpp new file mode 100644 index 000000000000..902e7368d7ff --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EKSAuth { + +void EKSAuthClientConfiguration::LoadEKSAuthSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EKSAuthClientConfiguration::EKSAuthClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEKSAuthSpecificConfig(this->profileName); +} + +EKSAuthClientConfiguration::EKSAuthClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEKSAuthSpecificConfig(Aws::String(inputProfileName)); +} + +EKSAuthClientConfiguration::EKSAuthClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEKSAuthSpecificConfig(this->profileName); +} + +EKSAuthClientConfiguration::EKSAuthClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadEKSAuthSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EKSAuthClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EKSAuth +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointProvider.cpp b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointProvider.cpp index 44018b369553..9a21a7290d39 100644 --- a/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthEndpointProvider.cpp @@ -7,11 +7,41 @@ #include namespace Aws { +#ifndef AWS_EKSAUTH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EKSAuth { namespace Endpoint { EKSAuthEndpointProvider::EKSAuthEndpointProvider() : EKSAuthDefaultEpProviderBase(Aws::EKSAuth::EKSAuthEndpointRules::GetRulesBlob(), Aws::EKSAuth::EKSAuthEndpointRules::RulesBlobSize) {} +void EKSAuthBuiltInParameters::SetFromClientConfiguration(const EKSAuthClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EKSAuthBuiltInParameters::SetFromClientConfiguration(const EKSAuthClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EKSAuthBuiltInParameters::SetServiceSpecificParameters(const EKSAuthClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace EKSAuth } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h index 3084dfaed95a..1059fb356f63 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClient.h @@ -62,27 +62,6 @@ class AWS_EKS_API EKSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::EKS::EKSClientConfiguration& clientConfiguration = Aws::EKS::EKSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EKSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EKSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EKSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EKSClient(); /** @@ -2411,7 +2390,6 @@ class AWS_EKS_API EKSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&EKSClient::UpdatePodIdentityAssociation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClientConfiguration.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClientConfiguration.h new file mode 100644 index 000000000000..b4151700afca --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EKS { +struct AWS_EKS_API EKSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EKSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EKSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EKSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EKSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEKSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EKS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EKSClientConfiguration& config); +} // namespace EKS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSEndpointProvider.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSEndpointProvider.h index bcb20078b9e8..70870bf6254b 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EKS { namespace Endpoint { +using EKSClientConfiguration = Aws::EKS::EKSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EKSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EKSClientConfiguration = Aws::Client::GenericClientConfiguration; -using EKSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EKS_API EKSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EKSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EKSClientConfiguration& config); + virtual void SetFromClientConfiguration(const EKSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EKSClientConfiguration& config); +}; /** * The type for the EKS Client Endpoint Provider. @@ -32,6 +41,22 @@ using EKSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace EKS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EKS_EXTERN template class AWS_EKS_API Aws::Endpoint::EndpointProviderBase< + EKS::Endpoint::EKSClientConfiguration, EKS::Endpoint::EKSBuiltInParameters, EKS::Endpoint::EKSClientContextParameters>; + +AWS_EKS_EXTERN template class AWS_EKS_API Aws::Endpoint::BDDEndpointProvider< + EKS::Endpoint::EKSClientConfiguration, EKS::Endpoint::EKSBuiltInParameters, EKS::Endpoint::EKSClientContextParameters>; +} // namespace Endpoint + +namespace EKS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSServiceClientModel.h b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSServiceClientModel.h index 7f7cc4f1fc66..6df35ba2a4dc 100644 --- a/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSServiceClientModel.h @@ -121,7 +121,6 @@ class RetryStrategy; } // namespace Client namespace EKS { -using EKSClientConfiguration = Aws::Client::GenericClientConfiguration; using EKSEndpointProviderBase = Aws::EKS::Endpoint::EKSEndpointProviderBase; using EKSEndpointProvider = Aws::EKS::Endpoint::EKSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-eks/source/EKSClient.cpp b/generated/src/aws-cpp-sdk-eks/source/EKSClient.cpp index 502bc9298682..09d0753d08d4 100644 --- a/generated/src/aws-cpp-sdk-eks/source/EKSClient.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/EKSClient.cpp @@ -145,41 +145,6 @@ EKSClient::EKSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -EKSClient::EKSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EKSClient::EKSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EKSClient::EKSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EKSClient::~EKSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EKSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -197,12 +162,7 @@ void EKSClient::init(const EKS::EKSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "eks"); -} - -void EKSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EKSClient::InvokeOperationOutcome EKSClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-eks/source/EKSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-eks/source/EKSClientConfiguration.cpp new file mode 100644 index 000000000000..af2341d5babc --- /dev/null +++ b/generated/src/aws-cpp-sdk-eks/source/EKSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EKS { + +void EKSClientConfiguration::LoadEKSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EKSClientConfiguration::EKSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEKSSpecificConfig(this->profileName); +} + +EKSClientConfiguration::EKSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEKSSpecificConfig(Aws::String(inputProfileName)); +} + +EKSClientConfiguration::EKSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEKSSpecificConfig(this->profileName); +} + +EKSClientConfiguration::EKSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadEKSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EKSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EKS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eks/source/EKSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-eks/source/EKSEndpointProvider.cpp index 21fe3e099b13..b2575503384f 100644 --- a/generated/src/aws-cpp-sdk-eks/source/EKSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-eks/source/EKSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_EKS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EKS { namespace Endpoint { EKSEndpointProvider::EKSEndpointProvider() : EKSDefaultEpProviderBase(Aws::EKS::EKSEndpointRules::GetRulesBlob(), Aws::EKS::EKSEndpointRules::RulesBlobSize) {} +void EKSBuiltInParameters::SetFromClientConfiguration(const EKSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EKSBuiltInParameters::SetFromClientConfiguration(const EKSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EKSBuiltInParameters::SetServiceSpecificParameters(const EKSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EKS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClient.h b/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClient.h index 25390c14856f..eef4342d4d6f 100644 --- a/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClient.h +++ b/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClient.h @@ -64,27 +64,6 @@ class AWS_ELASTICACHE_API ElastiCacheClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::ElastiCache::ElastiCacheClientConfiguration& clientConfiguration = Aws::ElastiCache::ElastiCacheClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ElastiCacheClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ElastiCacheClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ElastiCacheClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ElastiCacheClient(); /** @@ -2555,7 +2534,6 @@ class AWS_ELASTICACHE_API ElastiCacheClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&ElastiCacheClient::TestMigration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClientConfiguration.h b/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClientConfiguration.h new file mode 100644 index 000000000000..de7d974207e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ElastiCache { +struct AWS_ELASTICACHE_API ElastiCacheClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ElastiCacheClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElastiCacheClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElastiCacheClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ElastiCacheClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadElastiCacheSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ELASTICACHE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElastiCacheClientConfiguration& config); +} // namespace ElastiCache +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheEndpointProvider.h b/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheEndpointProvider.h index cce356d79472..f63376397cc2 100644 --- a/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ElastiCache { namespace Endpoint { +using ElastiCacheClientConfiguration = Aws::ElastiCache::ElastiCacheClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ElastiCacheClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ElastiCacheClientConfiguration = Aws::Client::GenericClientConfiguration; -using ElastiCacheBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ELASTICACHE_API ElastiCacheBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ElastiCacheBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ElastiCacheClientConfiguration& config); + virtual void SetFromClientConfiguration(const ElastiCacheClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ElastiCacheClientConfiguration& config); +}; /** * The type for the ElastiCache Client Endpoint Provider. @@ -34,6 +43,24 @@ using ElastiCacheEndpointProviderBase = using ElastiCacheDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ElastiCache + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ELASTICACHE_EXTERN template class AWS_ELASTICACHE_API Aws::Endpoint::EndpointProviderBase< + ElastiCache::Endpoint::ElastiCacheClientConfiguration, ElastiCache::Endpoint::ElastiCacheBuiltInParameters, + ElastiCache::Endpoint::ElastiCacheClientContextParameters>; + +AWS_ELASTICACHE_EXTERN template class AWS_ELASTICACHE_API Aws::Endpoint::BDDEndpointProvider< + ElastiCache::Endpoint::ElastiCacheClientConfiguration, ElastiCache::Endpoint::ElastiCacheBuiltInParameters, + ElastiCache::Endpoint::ElastiCacheClientContextParameters>; +} // namespace Endpoint + +namespace ElastiCache { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheServiceClientModel.h b/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheServiceClientModel.h index 5e2721496f6c..118001239c4c 100644 --- a/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheServiceClientModel.h @@ -141,7 +141,6 @@ class RetryStrategy; } // namespace Client namespace ElastiCache { -using ElastiCacheClientConfiguration = Aws::Client::GenericClientConfiguration; using ElastiCacheEndpointProviderBase = Aws::ElastiCache::Endpoint::ElastiCacheEndpointProviderBase; using ElastiCacheEndpointProvider = Aws::ElastiCache::Endpoint::ElastiCacheEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheClient.cpp b/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheClient.cpp index 9e22420a6661..907a8ba3b84e 100644 --- a/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheClient.cpp +++ b/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheClient.cpp @@ -154,41 +154,6 @@ ElastiCacheClient::ElastiCacheClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElastiCacheClient::ElastiCacheClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElastiCacheClient::ElastiCacheClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ElastiCacheClient::~ElastiCacheClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ElastiCacheClient::accessEndpointProvider() { return m_endpointProvider; } @@ -206,12 +171,7 @@ void ElastiCacheClient::init(const ElastiCache::ElastiCacheClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "elasticache"); -} - -void ElastiCacheClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String ElastiCacheClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheClientConfiguration.cpp b/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheClientConfiguration.cpp new file mode 100644 index 000000000000..03bcc4dea27b --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ElastiCache { + +void ElastiCacheClientConfiguration::LoadElastiCacheSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ElastiCacheClientConfiguration::ElastiCacheClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadElastiCacheSpecificConfig(this->profileName); +} + +ElastiCacheClientConfiguration::ElastiCacheClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadElastiCacheSpecificConfig(Aws::String(inputProfileName)); +} + +ElastiCacheClientConfiguration::ElastiCacheClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadElastiCacheSpecificConfig(this->profileName); +} + +ElastiCacheClientConfiguration::ElastiCacheClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadElastiCacheSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElastiCacheClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ElastiCache +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheEndpointProvider.cpp b/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheEndpointProvider.cpp index b64df148d8ef..d1c6322949a2 100644 --- a/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ELASTICACHE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ElastiCache { namespace Endpoint { ElastiCacheEndpointProvider::ElastiCacheEndpointProvider() : ElastiCacheDefaultEpProviderBase(Aws::ElastiCache::ElastiCacheEndpointRules::GetRulesBlob(), Aws::ElastiCache::ElastiCacheEndpointRules::RulesBlobSize) {} +void ElastiCacheBuiltInParameters::SetFromClientConfiguration(const ElastiCacheClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ElastiCacheBuiltInParameters::SetFromClientConfiguration(const ElastiCacheClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ElastiCacheBuiltInParameters::SetServiceSpecificParameters(const ElastiCacheClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ElastiCache } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkClient.h b/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkClient.h index fd1bf57e2eb3..379d09ee5942 100644 --- a/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkClient.h +++ b/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkClient.h @@ -70,27 +70,6 @@ class AWS_ELASTICBEANSTALK_API ElasticBeanstalkClient : public Aws::Client::AWSX const Aws::ElasticBeanstalk::ElasticBeanstalkClientConfiguration& clientConfiguration = Aws::ElasticBeanstalk::ElasticBeanstalkClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ElasticBeanstalkClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ElasticBeanstalkClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ElasticBeanstalkClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ElasticBeanstalkClient(); /** @@ -1795,7 +1774,6 @@ class AWS_ELASTICBEANSTALK_API ElasticBeanstalkClient : public Aws::Client::AWSX return SubmitAsync(&ElasticBeanstalkClient::ValidateConfigurationSettings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkClientConfiguration.h b/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkClientConfiguration.h new file mode 100644 index 000000000000..fc209ef3feb9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ElasticBeanstalk { +struct AWS_ELASTICBEANSTALK_API ElasticBeanstalkClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ElasticBeanstalkClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElasticBeanstalkClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElasticBeanstalkClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ElasticBeanstalkClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadElasticBeanstalkSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ELASTICBEANSTALK_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElasticBeanstalkClientConfiguration& config); +} // namespace ElasticBeanstalk +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkEndpointProvider.h b/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkEndpointProvider.h index 803b5db36cf7..eb346ae46879 100644 --- a/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ElasticBeanstalk { namespace Endpoint { +using ElasticBeanstalkClientConfiguration = Aws::ElasticBeanstalk::ElasticBeanstalkClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ElasticBeanstalkClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ElasticBeanstalkClientConfiguration = Aws::Client::GenericClientConfiguration; -using ElasticBeanstalkBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ELASTICBEANSTALK_API ElasticBeanstalkBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ElasticBeanstalkBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ElasticBeanstalkClientConfiguration& config); + virtual void SetFromClientConfiguration(const ElasticBeanstalkClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ElasticBeanstalkClientConfiguration& config); +}; /** * The type for the ElasticBeanstalk Client Endpoint Provider. @@ -34,6 +43,24 @@ using ElasticBeanstalkEndpointProviderBase = using ElasticBeanstalkDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ElasticBeanstalk + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ELASTICBEANSTALK_EXTERN template class AWS_ELASTICBEANSTALK_API Aws::Endpoint::EndpointProviderBase< + ElasticBeanstalk::Endpoint::ElasticBeanstalkClientConfiguration, ElasticBeanstalk::Endpoint::ElasticBeanstalkBuiltInParameters, + ElasticBeanstalk::Endpoint::ElasticBeanstalkClientContextParameters>; + +AWS_ELASTICBEANSTALK_EXTERN template class AWS_ELASTICBEANSTALK_API Aws::Endpoint::BDDEndpointProvider< + ElasticBeanstalk::Endpoint::ElasticBeanstalkClientConfiguration, ElasticBeanstalk::Endpoint::ElasticBeanstalkBuiltInParameters, + ElasticBeanstalk::Endpoint::ElasticBeanstalkClientContextParameters>; +} // namespace Endpoint + +namespace ElasticBeanstalk { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkServiceClientModel.h b/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkServiceClientModel.h index 110606189ad4..b900d572383e 100644 --- a/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkServiceClientModel.h @@ -106,7 +106,6 @@ class RetryStrategy; } // namespace Client namespace ElasticBeanstalk { -using ElasticBeanstalkClientConfiguration = Aws::Client::GenericClientConfiguration; using ElasticBeanstalkEndpointProviderBase = Aws::ElasticBeanstalk::Endpoint::ElasticBeanstalkEndpointProviderBase; using ElasticBeanstalkEndpointProvider = Aws::ElasticBeanstalk::Endpoint::ElasticBeanstalkEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkClient.cpp b/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkClient.cpp index 56422447c51e..1921dbffe63c 100644 --- a/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkClient.cpp +++ b/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkClient.cpp @@ -128,42 +128,6 @@ ElasticBeanstalkClient::ElasticBeanstalkClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElasticBeanstalkClient::ElasticBeanstalkClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElasticBeanstalkClient::ElasticBeanstalkClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ElasticBeanstalkClient::~ElasticBeanstalkClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ElasticBeanstalkClient::accessEndpointProvider() { return m_endpointProvider; } @@ -181,12 +145,7 @@ void ElasticBeanstalkClient::init(const ElasticBeanstalk::ElasticBeanstalkClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "elasticbeanstalk"); -} - -void ElasticBeanstalkClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String ElasticBeanstalkClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkClientConfiguration.cpp b/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkClientConfiguration.cpp new file mode 100644 index 000000000000..ad00e0d32318 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ElasticBeanstalk { + +void ElasticBeanstalkClientConfiguration::LoadElasticBeanstalkSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ElasticBeanstalkClientConfiguration::ElasticBeanstalkClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadElasticBeanstalkSpecificConfig(this->profileName); +} + +ElasticBeanstalkClientConfiguration::ElasticBeanstalkClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadElasticBeanstalkSpecificConfig(Aws::String(inputProfileName)); +} + +ElasticBeanstalkClientConfiguration::ElasticBeanstalkClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadElasticBeanstalkSpecificConfig(this->profileName); +} + +ElasticBeanstalkClientConfiguration::ElasticBeanstalkClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadElasticBeanstalkSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElasticBeanstalkClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ElasticBeanstalk +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkEndpointProvider.cpp b/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkEndpointProvider.cpp index a49297dbf3a2..b2dcd66a69bc 100644 --- a/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ELASTICBEANSTALK_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ElasticBeanstalk { namespace Endpoint { ElasticBeanstalkEndpointProvider::ElasticBeanstalkEndpointProvider() : ElasticBeanstalkDefaultEpProviderBase(Aws::ElasticBeanstalk::ElasticBeanstalkEndpointRules::GetRulesBlob(), Aws::ElasticBeanstalk::ElasticBeanstalkEndpointRules::RulesBlobSize) {} +void ElasticBeanstalkBuiltInParameters::SetFromClientConfiguration(const ElasticBeanstalkClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ElasticBeanstalkBuiltInParameters::SetFromClientConfiguration(const ElasticBeanstalkClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ElasticBeanstalkBuiltInParameters::SetServiceSpecificParameters(const ElasticBeanstalkClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ElasticBeanstalk } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h index a0859c0085df..ead30f8eedfa 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClient.h @@ -61,27 +61,6 @@ class AWS_EFS_API EFSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::EFS::EFSClientConfiguration& clientConfiguration = Aws::EFS::EFSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EFSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EFSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EFSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EFSClient(); /** @@ -1205,7 +1184,6 @@ class AWS_EFS_API EFSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&EFSClient::UpdateFileSystemProtection, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClientConfiguration.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClientConfiguration.h new file mode 100644 index 000000000000..bc28ff2a655b --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EFS { +struct AWS_EFS_API EFSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EFSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EFSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EFSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EFSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEFSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EFS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EFSClientConfiguration& config); +} // namespace EFS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSEndpointProvider.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSEndpointProvider.h index b27570e26df1..f85995ef77b7 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EFS { namespace Endpoint { +using EFSClientConfiguration = Aws::EFS::EFSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EFSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EFSClientConfiguration = Aws::Client::GenericClientConfiguration; -using EFSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EFS_API EFSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EFSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EFSClientConfiguration& config); + virtual void SetFromClientConfiguration(const EFSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EFSClientConfiguration& config); +}; /** * The type for the EFS Client Endpoint Provider. @@ -32,6 +41,22 @@ using EFSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace EFS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EFS_EXTERN template class AWS_EFS_API Aws::Endpoint::EndpointProviderBase< + EFS::Endpoint::EFSClientConfiguration, EFS::Endpoint::EFSBuiltInParameters, EFS::Endpoint::EFSClientContextParameters>; + +AWS_EFS_EXTERN template class AWS_EFS_API Aws::Endpoint::BDDEndpointProvider< + EFS::Endpoint::EFSClientConfiguration, EFS::Endpoint::EFSBuiltInParameters, EFS::Endpoint::EFSClientContextParameters>; +} // namespace Endpoint + +namespace EFS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSServiceClientModel.h b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSServiceClientModel.h index b30019f0858f..0d4f517e8be6 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSServiceClientModel.h @@ -72,7 +72,6 @@ class RetryStrategy; } // namespace Client namespace EFS { -using EFSClientConfiguration = Aws::Client::GenericClientConfiguration; using EFSEndpointProviderBase = Aws::EFS::Endpoint::EFSEndpointProviderBase; using EFSEndpointProvider = Aws::EFS::Endpoint::EFSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSClient.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSClient.cpp index 75968cd8d76f..a9c77967a74d 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSClient.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSClient.cpp @@ -103,41 +103,6 @@ EFSClient::EFSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -EFSClient::EFSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EFSClient::EFSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EFSClient::EFSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EFSClient::~EFSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EFSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void EFSClient::init(const EFS::EFSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "elasticfilesystem"); -} - -void EFSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EFSClient::InvokeOperationOutcome EFSClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSClientConfiguration.cpp new file mode 100644 index 000000000000..25231be51270 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EFS { + +void EFSClientConfiguration::LoadEFSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EFSClientConfiguration::EFSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEFSSpecificConfig(this->profileName); +} + +EFSClientConfiguration::EFSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEFSSpecificConfig(Aws::String(inputProfileName)); +} + +EFSClientConfiguration::EFSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEFSSpecificConfig(this->profileName); +} + +EFSClientConfiguration::EFSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadEFSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EFSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EFS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointProvider.cpp index 355d6e6f0c43..5b98e3569631 100644 --- a/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_EFS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EFS { namespace Endpoint { EFSEndpointProvider::EFSEndpointProvider() : EFSDefaultEpProviderBase(Aws::EFS::EFSEndpointRules::GetRulesBlob(), Aws::EFS::EFSEndpointRules::RulesBlobSize) {} +void EFSBuiltInParameters::SetFromClientConfiguration(const EFSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EFSBuiltInParameters::SetFromClientConfiguration(const EFSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EFSBuiltInParameters::SetServiceSpecificParameters(const EFSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EFS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingClient.h b/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingClient.h index 5f71c121edcd..b4648cce5939 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingClient.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingClient.h @@ -77,27 +77,6 @@ class AWS_ELASTICLOADBALANCING_API ElasticLoadBalancingClient const Aws::ElasticLoadBalancing::ElasticLoadBalancingClientConfiguration& clientConfiguration = Aws::ElasticLoadBalancing::ElasticLoadBalancingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ElasticLoadBalancingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ElasticLoadBalancingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ElasticLoadBalancingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ElasticLoadBalancingClient(); /** @@ -1110,7 +1089,6 @@ class AWS_ELASTICLOADBALANCING_API ElasticLoadBalancingClient return SubmitAsync(&ElasticLoadBalancingClient::SetLoadBalancerPoliciesOfListener, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingClientConfiguration.h b/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingClientConfiguration.h new file mode 100644 index 000000000000..d20f3893ebe0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ElasticLoadBalancing { +struct AWS_ELASTICLOADBALANCING_API ElasticLoadBalancingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ElasticLoadBalancingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElasticLoadBalancingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElasticLoadBalancingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ElasticLoadBalancingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadElasticLoadBalancingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ELASTICLOADBALANCING_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ElasticLoadBalancingClientConfiguration& config); +} // namespace ElasticLoadBalancing +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingEndpointProvider.h b/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingEndpointProvider.h index 03b482d91bfe..31012171a7ea 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ElasticLoadBalancing { namespace Endpoint { +using ElasticLoadBalancingClientConfiguration = Aws::ElasticLoadBalancing::ElasticLoadBalancingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ElasticLoadBalancingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ElasticLoadBalancingClientConfiguration = Aws::Client::GenericClientConfiguration; -using ElasticLoadBalancingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ELASTICLOADBALANCING_API ElasticLoadBalancingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ElasticLoadBalancingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ElasticLoadBalancingClientConfiguration& config); + virtual void SetFromClientConfiguration(const ElasticLoadBalancingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ElasticLoadBalancingClientConfiguration& config); +}; /** * The type for the ElasticLoadBalancing Client Endpoint Provider. @@ -36,6 +45,26 @@ using ElasticLoadBalancingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ElasticLoadBalancing + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ELASTICLOADBALANCING_EXTERN template class AWS_ELASTICLOADBALANCING_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ELASTICLOADBALANCING_EXTERN template class AWS_ELASTICLOADBALANCING_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ElasticLoadBalancing { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingServiceClientModel.h b/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingServiceClientModel.h index 5272d8236011..c4a89cfd622c 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingServiceClientModel.h @@ -79,7 +79,6 @@ class RetryStrategy; } // namespace Client namespace ElasticLoadBalancing { -using ElasticLoadBalancingClientConfiguration = Aws::Client::GenericClientConfiguration; using ElasticLoadBalancingEndpointProviderBase = Aws::ElasticLoadBalancing::Endpoint::ElasticLoadBalancingEndpointProviderBase; using ElasticLoadBalancingEndpointProvider = Aws::ElasticLoadBalancing::Endpoint::ElasticLoadBalancingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingClient.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingClient.cpp index 1cf630ff4999..ac43657364ba 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingClient.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingClient.cpp @@ -112,42 +112,6 @@ ElasticLoadBalancingClient::ElasticLoadBalancingClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ElasticLoadBalancingClient::ElasticLoadBalancingClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElasticLoadBalancingClient::ElasticLoadBalancingClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElasticLoadBalancingClient::ElasticLoadBalancingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ElasticLoadBalancingClient::~ElasticLoadBalancingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ElasticLoadBalancingClient::accessEndpointProvider() { @@ -167,12 +131,7 @@ void ElasticLoadBalancingClient::init(const ElasticLoadBalancing::ElasticLoadBal AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "elasticloadbalancing"); -} - -void ElasticLoadBalancingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String ElasticLoadBalancingClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingClientConfiguration.cpp new file mode 100644 index 000000000000..2665de14ab4a --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ElasticLoadBalancing { + +void ElasticLoadBalancingClientConfiguration::LoadElasticLoadBalancingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ElasticLoadBalancingClientConfiguration::ElasticLoadBalancingClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadElasticLoadBalancingSpecificConfig(this->profileName); +} + +ElasticLoadBalancingClientConfiguration::ElasticLoadBalancingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadElasticLoadBalancingSpecificConfig(Aws::String(inputProfileName)); +} + +ElasticLoadBalancingClientConfiguration::ElasticLoadBalancingClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadElasticLoadBalancingSpecificConfig(this->profileName); +} + +ElasticLoadBalancingClientConfiguration::ElasticLoadBalancingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadElasticLoadBalancingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElasticLoadBalancingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ElasticLoadBalancing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingEndpointProvider.cpp index 4b8e549c0062..84e165fb42b6 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ELASTICLOADBALANCING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ElasticLoadBalancing { namespace Endpoint { ElasticLoadBalancingEndpointProvider::ElasticLoadBalancingEndpointProvider() : ElasticLoadBalancingDefaultEpProviderBase(Aws::ElasticLoadBalancing::ElasticLoadBalancingEndpointRules::GetRulesBlob(), Aws::ElasticLoadBalancing::ElasticLoadBalancingEndpointRules::RulesBlobSize) {} +void ElasticLoadBalancingBuiltInParameters::SetFromClientConfiguration(const ElasticLoadBalancingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ElasticLoadBalancingBuiltInParameters::SetFromClientConfiguration(const ElasticLoadBalancingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ElasticLoadBalancingBuiltInParameters::SetServiceSpecificParameters(const ElasticLoadBalancingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ElasticLoadBalancing } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h index f37ea5f81069..3d178f4ff263 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2Client.h @@ -79,27 +79,6 @@ class AWS_ELASTICLOADBALANCINGV2_API ElasticLoadBalancingv2Client const Aws::ElasticLoadBalancingv2::ElasticLoadBalancingv2ClientConfiguration& clientConfiguration = Aws::ElasticLoadBalancingv2::ElasticLoadBalancingv2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ElasticLoadBalancingv2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ElasticLoadBalancingv2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ElasticLoadBalancingv2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ElasticLoadBalancingv2Client(); /** @@ -1682,7 +1661,6 @@ class AWS_ELASTICLOADBALANCINGV2_API ElasticLoadBalancingv2Client return SubmitAsync(&ElasticLoadBalancingv2Client::SetSubnets, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ClientConfiguration.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ClientConfiguration.h new file mode 100644 index 000000000000..720496d253a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ElasticLoadBalancingv2 { +struct AWS_ELASTICLOADBALANCINGV2_API ElasticLoadBalancingv2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ElasticLoadBalancingv2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElasticLoadBalancingv2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElasticLoadBalancingv2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ElasticLoadBalancingv2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadElasticLoadBalancingv2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ELASTICLOADBALANCINGV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ElasticLoadBalancingv2ClientConfiguration& config); +} // namespace ElasticLoadBalancingv2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2EndpointProvider.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2EndpointProvider.h index a96d84145d42..28f3aebc583e 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ElasticLoadBalancingv2 { namespace Endpoint { +using ElasticLoadBalancingv2ClientConfiguration = Aws::ElasticLoadBalancingv2::ElasticLoadBalancingv2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ElasticLoadBalancingv2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ElasticLoadBalancingv2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using ElasticLoadBalancingv2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ELASTICLOADBALANCINGV2_API ElasticLoadBalancingv2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ElasticLoadBalancingv2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ElasticLoadBalancingv2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const ElasticLoadBalancingv2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ElasticLoadBalancingv2ClientConfiguration& config); +}; /** * The type for the ElasticLoadBalancingv2 Client Endpoint Provider. @@ -36,6 +45,26 @@ using ElasticLoadBalancingv2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ElasticLoadBalancingv2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ELASTICLOADBALANCINGV2_EXTERN template class AWS_ELASTICLOADBALANCINGV2_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ELASTICLOADBALANCINGV2_EXTERN template class AWS_ELASTICLOADBALANCINGV2_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ElasticLoadBalancingv2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h index 42bfe9b9a7f0..a7e129895348 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ServiceClientModel.h @@ -104,7 +104,6 @@ class RetryStrategy; } // namespace Client namespace ElasticLoadBalancingv2 { -using ElasticLoadBalancingv2ClientConfiguration = Aws::Client::GenericClientConfiguration; using ElasticLoadBalancingv2EndpointProviderBase = Aws::ElasticLoadBalancingv2::Endpoint::ElasticLoadBalancingv2EndpointProviderBase; using ElasticLoadBalancingv2EndpointProvider = Aws::ElasticLoadBalancingv2::Endpoint::ElasticLoadBalancingv2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp index 2aba0ad49053..a99cc96b5d2d 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2Client.cpp @@ -134,42 +134,6 @@ ElasticLoadBalancingv2Client::ElasticLoadBalancingv2Client( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ElasticLoadBalancingv2Client::ElasticLoadBalancingv2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElasticLoadBalancingv2Client::ElasticLoadBalancingv2Client(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElasticLoadBalancingv2Client::ElasticLoadBalancingv2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ElasticLoadBalancingv2Client::~ElasticLoadBalancingv2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& ElasticLoadBalancingv2Client::accessEndpointProvider() { @@ -189,12 +153,7 @@ void ElasticLoadBalancingv2Client::init(const ElasticLoadBalancingv2::ElasticLoa AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "elasticloadbalancing"); -} - -void ElasticLoadBalancingv2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String ElasticLoadBalancingv2Client::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2ClientConfiguration.cpp new file mode 100644 index 000000000000..5f580e6fc9fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2ClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ElasticLoadBalancingv2 { + +void ElasticLoadBalancingv2ClientConfiguration::LoadElasticLoadBalancingv2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ElasticLoadBalancingv2ClientConfiguration::ElasticLoadBalancingv2ClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadElasticLoadBalancingv2SpecificConfig(this->profileName); +} + +ElasticLoadBalancingv2ClientConfiguration::ElasticLoadBalancingv2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadElasticLoadBalancingv2SpecificConfig(Aws::String(inputProfileName)); +} + +ElasticLoadBalancingv2ClientConfiguration::ElasticLoadBalancingv2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadElasticLoadBalancingv2SpecificConfig(this->profileName); +} + +ElasticLoadBalancingv2ClientConfiguration::ElasticLoadBalancingv2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadElasticLoadBalancingv2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElasticLoadBalancingv2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ElasticLoadBalancingv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2EndpointProvider.cpp index c1a197c1c61b..15fbed5a8f15 100644 --- a/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ELASTICLOADBALANCINGV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ElasticLoadBalancingv2 { namespace Endpoint { ElasticLoadBalancingv2EndpointProvider::ElasticLoadBalancingv2EndpointProvider() : ElasticLoadBalancingv2DefaultEpProviderBase(Aws::ElasticLoadBalancingv2::ElasticLoadBalancingv2EndpointRules::GetRulesBlob(), Aws::ElasticLoadBalancingv2::ElasticLoadBalancingv2EndpointRules::RulesBlobSize) {} +void ElasticLoadBalancingv2BuiltInParameters::SetFromClientConfiguration(const ElasticLoadBalancingv2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ElasticLoadBalancingv2BuiltInParameters::SetFromClientConfiguration(const ElasticLoadBalancingv2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ElasticLoadBalancingv2BuiltInParameters::SetServiceSpecificParameters(const ElasticLoadBalancingv2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ElasticLoadBalancingv2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRClient.h b/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRClient.h index 16210b65cbec..773be37712aa 100644 --- a/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRClient.h +++ b/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRClient.h @@ -56,27 +56,6 @@ class AWS_EMR_API EMRClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::EMR::EMRClientConfiguration& clientConfiguration = Aws::EMR::EMRClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EMRClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EMRClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EMRClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EMRClient(); /** @@ -2019,7 +1998,6 @@ class AWS_EMR_API EMRClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&EMRClient::UpdateStudioSessionMapping, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRClientConfiguration.h b/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRClientConfiguration.h new file mode 100644 index 000000000000..1a0a9aa98bd1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EMR { +struct AWS_EMR_API EMRClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EMRClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EMRClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EMRClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EMRClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEMRSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EMR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EMRClientConfiguration& config); +} // namespace EMR +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMREndpointProvider.h b/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMREndpointProvider.h index 4cf038a30563..2f4a8c555b75 100644 --- a/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMREndpointProvider.h +++ b/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMREndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EMR { namespace Endpoint { +using EMRClientConfiguration = Aws::EMR::EMRClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EMRClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EMRClientConfiguration = Aws::Client::GenericClientConfiguration; -using EMRBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EMR_API EMRBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EMRBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EMRClientConfiguration& config); + virtual void SetFromClientConfiguration(const EMRClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EMRClientConfiguration& config); +}; /** * The type for the EMR Client Endpoint Provider. @@ -32,6 +41,22 @@ using EMREndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace EMR + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EMR_EXTERN template class AWS_EMR_API Aws::Endpoint::EndpointProviderBase< + EMR::Endpoint::EMRClientConfiguration, EMR::Endpoint::EMRBuiltInParameters, EMR::Endpoint::EMRClientContextParameters>; + +AWS_EMR_EXTERN template class AWS_EMR_API Aws::Endpoint::BDDEndpointProvider< + EMR::Endpoint::EMRClientConfiguration, EMR::Endpoint::EMRBuiltInParameters, EMR::Endpoint::EMRClientContextParameters>; +} // namespace Endpoint + +namespace EMR { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRServiceClientModel.h b/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRServiceClientModel.h index 351595b5046a..8200c20b7715 100644 --- a/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRServiceClientModel.h @@ -107,7 +107,6 @@ class RetryStrategy; } // namespace Client namespace EMR { -using EMRClientConfiguration = Aws::Client::GenericClientConfiguration; using EMREndpointProviderBase = Aws::EMR::Endpoint::EMREndpointProviderBase; using EMREndpointProvider = Aws::EMR::Endpoint::EMREndpointProvider; diff --git a/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMRClient.cpp b/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMRClient.cpp index 5796b0e1dfe3..5e1e5b50e403 100644 --- a/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMRClient.cpp +++ b/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMRClient.cpp @@ -139,41 +139,6 @@ EMRClient::EMRClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -EMRClient::EMRClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EMRClient::EMRClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EMRClient::EMRClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EMRClient::~EMRClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EMRClient::accessEndpointProvider() { return m_endpointProvider; } @@ -191,12 +156,7 @@ void EMRClient::init(const EMR::EMRClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "elasticmapreduce"); -} - -void EMRClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EMRClient::InvokeOperationOutcome EMRClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMRClientConfiguration.cpp b/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMRClientConfiguration.cpp new file mode 100644 index 000000000000..ab924d9ee0a2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMRClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EMR { + +void EMRClientConfiguration::LoadEMRSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EMRClientConfiguration::EMRClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEMRSpecificConfig(this->profileName); +} + +EMRClientConfiguration::EMRClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEMRSpecificConfig(Aws::String(inputProfileName)); +} + +EMRClientConfiguration::EMRClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEMRSpecificConfig(this->profileName); +} + +EMRClientConfiguration::EMRClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadEMRSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EMRClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EMR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMREndpointProvider.cpp b/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMREndpointProvider.cpp index 8e5424c03dac..df065110c870 100644 --- a/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMREndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-elasticmapreduce/source/EMREndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_EMR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EMR { namespace Endpoint { EMREndpointProvider::EMREndpointProvider() : EMRDefaultEpProviderBase(Aws::EMR::EMREndpointRules::GetRulesBlob(), Aws::EMR::EMREndpointRules::RulesBlobSize) {} +void EMRBuiltInParameters::SetFromClientConfiguration(const EMRClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EMRBuiltInParameters::SetFromClientConfiguration(const EMRClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EMRBuiltInParameters::SetServiceSpecificParameters(const EMRClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EMR } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceClient.h b/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceClient.h index 7caabbee71a2..5db86bf8b5de 100644 --- a/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceClient.h +++ b/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceClient.h @@ -62,27 +62,6 @@ class AWS_ELEMENTALINFERENCE_API ElementalInferenceClient : public Aws::Client:: const Aws::ElementalInference::ElementalInferenceClientConfiguration& clientConfiguration = Aws::ElementalInference::ElementalInferenceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ElementalInferenceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ElementalInferenceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ElementalInferenceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ElementalInferenceClient(); /** @@ -767,7 +746,6 @@ class AWS_ELEMENTALINFERENCE_API ElementalInferenceClient : public Aws::Client:: return SubmitAsync(&ElementalInferenceClient::UpdateFeed, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceClientConfiguration.h b/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceClientConfiguration.h new file mode 100644 index 000000000000..70bf1b10a88d --- /dev/null +++ b/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ElementalInference { +struct AWS_ELEMENTALINFERENCE_API ElementalInferenceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ElementalInferenceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElementalInferenceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElementalInferenceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ElementalInferenceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadElementalInferenceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ELEMENTALINFERENCE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElementalInferenceClientConfiguration& config); +} // namespace ElementalInference +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceEndpointProvider.h b/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceEndpointProvider.h index 0fc293a85800..0905e276a731 100644 --- a/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ElementalInference { namespace Endpoint { +using ElementalInferenceClientConfiguration = Aws::ElementalInference::ElementalInferenceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ElementalInferenceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ElementalInferenceClientConfiguration = Aws::Client::GenericClientConfiguration; -using ElementalInferenceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ELEMENTALINFERENCE_API ElementalInferenceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ElementalInferenceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ElementalInferenceClientConfiguration& config); + virtual void SetFromClientConfiguration(const ElementalInferenceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ElementalInferenceClientConfiguration& config); +}; /** * The type for the ElementalInference Client Endpoint Provider. @@ -36,6 +45,24 @@ using ElementalInferenceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ElementalInference + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ELEMENTALINFERENCE_EXTERN template class AWS_ELEMENTALINFERENCE_API Aws::Endpoint::EndpointProviderBase< + ElementalInference::Endpoint::ElementalInferenceClientConfiguration, ElementalInference::Endpoint::ElementalInferenceBuiltInParameters, + ElementalInference::Endpoint::ElementalInferenceClientContextParameters>; + +AWS_ELEMENTALINFERENCE_EXTERN template class AWS_ELEMENTALINFERENCE_API Aws::Endpoint::BDDEndpointProvider< + ElementalInference::Endpoint::ElementalInferenceClientConfiguration, ElementalInference::Endpoint::ElementalInferenceBuiltInParameters, + ElementalInference::Endpoint::ElementalInferenceClientContextParameters>; +} // namespace Endpoint + +namespace ElementalInference { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceServiceClientModel.h b/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceServiceClientModel.h index 73cbf7d38818..09039d0d1e47 100644 --- a/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceServiceClientModel.h @@ -70,7 +70,6 @@ class RetryStrategy; } // namespace Client namespace ElementalInference { -using ElementalInferenceClientConfiguration = Aws::Client::GenericClientConfiguration; using ElementalInferenceEndpointProviderBase = Aws::ElementalInference::Endpoint::ElementalInferenceEndpointProviderBase; using ElementalInferenceEndpointProvider = Aws::ElementalInference::Endpoint::ElementalInferenceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceClient.cpp b/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceClient.cpp index 57e34ac8428b..d3e6625197e2 100644 --- a/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceClient.cpp +++ b/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceClient.cpp @@ -105,42 +105,6 @@ ElementalInferenceClient::ElementalInferenceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElementalInferenceClient::ElementalInferenceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElementalInferenceClient::ElementalInferenceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ElementalInferenceClient::~ElementalInferenceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ElementalInferenceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -158,12 +122,7 @@ void ElementalInferenceClient::init(const ElementalInference::ElementalInference AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "elemental-inference"); -} - -void ElementalInferenceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ElementalInferenceClient::InvokeOperationOutcome ElementalInferenceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceClientConfiguration.cpp new file mode 100644 index 000000000000..3b34a0c93b71 --- /dev/null +++ b/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ElementalInference { + +void ElementalInferenceClientConfiguration::LoadElementalInferenceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ElementalInferenceClientConfiguration::ElementalInferenceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadElementalInferenceSpecificConfig(this->profileName); +} + +ElementalInferenceClientConfiguration::ElementalInferenceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadElementalInferenceSpecificConfig(Aws::String(inputProfileName)); +} + +ElementalInferenceClientConfiguration::ElementalInferenceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadElementalInferenceSpecificConfig(this->profileName); +} + +ElementalInferenceClientConfiguration::ElementalInferenceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadElementalInferenceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElementalInferenceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ElementalInference +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceEndpointProvider.cpp index 2439eeb890b0..4f8a8f01bb61 100644 --- a/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ELEMENTALINFERENCE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ElementalInference { namespace Endpoint { ElementalInferenceEndpointProvider::ElementalInferenceEndpointProvider() : ElementalInferenceDefaultEpProviderBase(Aws::ElementalInference::ElementalInferenceEndpointRules::GetRulesBlob(), Aws::ElementalInference::ElementalInferenceEndpointRules::RulesBlobSize) {} +void ElementalInferenceBuiltInParameters::SetFromClientConfiguration(const ElementalInferenceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ElementalInferenceBuiltInParameters::SetFromClientConfiguration(const ElementalInferenceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ElementalInferenceBuiltInParameters::SetServiceSpecificParameters(const ElementalInferenceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ElementalInference } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-email/include/aws/email/SESClient.h b/generated/src/aws-cpp-sdk-email/include/aws/email/SESClient.h index 615d6d3c6e92..aa7810468c14 100644 --- a/generated/src/aws-cpp-sdk-email/include/aws/email/SESClient.h +++ b/generated/src/aws-cpp-sdk-email/include/aws/email/SESClient.h @@ -72,27 +72,6 @@ class AWS_SES_API SESClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::SES::SESClientConfiguration& clientConfiguration = Aws::SES::SESClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SESClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SESClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SESClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SESClient(); /** @@ -2580,7 +2559,6 @@ class AWS_SES_API SESClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&SESClient::VerifyEmailIdentity, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-email/include/aws/email/SESClientConfiguration.h b/generated/src/aws-cpp-sdk-email/include/aws/email/SESClientConfiguration.h new file mode 100644 index 000000000000..f02979ab8ec3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-email/include/aws/email/SESClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SES { +struct AWS_SES_API SESClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SESClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SESClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SESClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SESClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSESSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SESClientConfiguration& config); +} // namespace SES +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-email/include/aws/email/SESEndpointProvider.h b/generated/src/aws-cpp-sdk-email/include/aws/email/SESEndpointProvider.h index a6d8c4f3e882..b6445aff73bf 100644 --- a/generated/src/aws-cpp-sdk-email/include/aws/email/SESEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-email/include/aws/email/SESEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SES { namespace Endpoint { +using SESClientConfiguration = Aws::SES::SESClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SESClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SESClientConfiguration = Aws::Client::GenericClientConfiguration; -using SESBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SES_API SESBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SESBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SESClientConfiguration& config); + virtual void SetFromClientConfiguration(const SESClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SESClientConfiguration& config); +}; /** * The type for the SES Client Endpoint Provider. @@ -32,6 +41,22 @@ using SESEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SES + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SES_EXTERN template class AWS_SES_API Aws::Endpoint::EndpointProviderBase< + SES::Endpoint::SESClientConfiguration, SES::Endpoint::SESBuiltInParameters, SES::Endpoint::SESClientContextParameters>; + +AWS_SES_EXTERN template class AWS_SES_API Aws::Endpoint::BDDEndpointProvider< + SES::Endpoint::SESClientConfiguration, SES::Endpoint::SESBuiltInParameters, SES::Endpoint::SESClientContextParameters>; +} // namespace Endpoint + +namespace SES { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-email/include/aws/email/SESServiceClientModel.h b/generated/src/aws-cpp-sdk-email/include/aws/email/SESServiceClientModel.h index 98756f3dfe65..adb4aade93ca 100644 --- a/generated/src/aws-cpp-sdk-email/include/aws/email/SESServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-email/include/aws/email/SESServiceClientModel.h @@ -123,7 +123,6 @@ class RetryStrategy; } // namespace Client namespace SES { -using SESClientConfiguration = Aws::Client::GenericClientConfiguration; using SESEndpointProviderBase = Aws::SES::Endpoint::SESEndpointProviderBase; using SESEndpointProvider = Aws::SES::Endpoint::SESEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-email/source/SESClient.cpp b/generated/src/aws-cpp-sdk-email/source/SESClient.cpp index 399f4140ad9c..d7c65b9108b9 100644 --- a/generated/src/aws-cpp-sdk-email/source/SESClient.cpp +++ b/generated/src/aws-cpp-sdk-email/source/SESClient.cpp @@ -146,41 +146,6 @@ SESClient::SESClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SESClient::SESClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SESClient::SESClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SESClient::SESClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SESClient::~SESClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SESClient::accessEndpointProvider() { return m_endpointProvider; } @@ -198,12 +163,7 @@ void SESClient::init(const SES::SESClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ses"); -} - -void SESClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String SESClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const { diff --git a/generated/src/aws-cpp-sdk-email/source/SESClientConfiguration.cpp b/generated/src/aws-cpp-sdk-email/source/SESClientConfiguration.cpp new file mode 100644 index 000000000000..ac7cb232d080 --- /dev/null +++ b/generated/src/aws-cpp-sdk-email/source/SESClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SES { + +void SESClientConfiguration::LoadSESSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SESClientConfiguration::SESClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSESSpecificConfig(this->profileName); +} + +SESClientConfiguration::SESClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSESSpecificConfig(Aws::String(inputProfileName)); +} + +SESClientConfiguration::SESClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSESSpecificConfig(this->profileName); +} + +SESClientConfiguration::SESClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadSESSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SESClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SES +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-email/source/SESEndpointProvider.cpp b/generated/src/aws-cpp-sdk-email/source/SESEndpointProvider.cpp index b30478916174..7deea0256871 100644 --- a/generated/src/aws-cpp-sdk-email/source/SESEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-email/source/SESEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SES { namespace Endpoint { SESEndpointProvider::SESEndpointProvider() : SESDefaultEpProviderBase(Aws::SES::SESEndpointRules::GetRulesBlob(), Aws::SES::SESEndpointRules::RulesBlobSize) {} +void SESBuiltInParameters::SetFromClientConfiguration(const SESClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SESBuiltInParameters::SetFromClientConfiguration(const SESClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SESBuiltInParameters::SetServiceSpecificParameters(const SESClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SES } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersClient.h b/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersClient.h index 27958d9e9ba5..0495e9d5e87d 100644 --- a/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersClient.h +++ b/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersClient.h @@ -76,27 +76,6 @@ class AWS_EMRCONTAINERS_API EMRContainersClient : public Aws::Client::AWSJsonCli const Aws::EMRContainers::EMRContainersClientConfiguration& clientConfiguration = Aws::EMRContainers::EMRContainersClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EMRContainersClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EMRContainersClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EMRContainersClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EMRContainersClient(); /** @@ -842,7 +821,6 @@ class AWS_EMRCONTAINERS_API EMRContainersClient : public Aws::Client::AWSJsonCli return SubmitAsync(&EMRContainersClient::UpdateVirtualCluster, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersClientConfiguration.h b/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersClientConfiguration.h new file mode 100644 index 000000000000..fd8e4f0aedd9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EMRContainers { +struct AWS_EMRCONTAINERS_API EMRContainersClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EMRContainersClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EMRContainersClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EMRContainersClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EMRContainersClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEMRContainersSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EMRCONTAINERS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EMRContainersClientConfiguration& config); +} // namespace EMRContainers +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersEndpointProvider.h b/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersEndpointProvider.h index 9522015f1bfa..d01e61872958 100644 --- a/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EMRContainers { namespace Endpoint { +using EMRContainersClientConfiguration = Aws::EMRContainers::EMRContainersClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EMRContainersClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EMRContainersClientConfiguration = Aws::Client::GenericClientConfiguration; -using EMRContainersBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EMRCONTAINERS_API EMRContainersBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EMRContainersBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EMRContainersClientConfiguration& config); + virtual void SetFromClientConfiguration(const EMRContainersClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EMRContainersClientConfiguration& config); +}; /** * The type for the EMRContainers Client Endpoint Provider. @@ -34,6 +43,24 @@ using EMRContainersEndpointProviderBase = using EMRContainersDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace EMRContainers + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EMRCONTAINERS_EXTERN template class AWS_EMRCONTAINERS_API Aws::Endpoint::EndpointProviderBase< + EMRContainers::Endpoint::EMRContainersClientConfiguration, EMRContainers::Endpoint::EMRContainersBuiltInParameters, + EMRContainers::Endpoint::EMRContainersClientContextParameters>; + +AWS_EMRCONTAINERS_EXTERN template class AWS_EMRCONTAINERS_API Aws::Endpoint::BDDEndpointProvider< + EMRContainers::Endpoint::EMRContainersClientConfiguration, EMRContainers::Endpoint::EMRContainersBuiltInParameters, + EMRContainers::Endpoint::EMRContainersClientContextParameters>; +} // namespace Endpoint + +namespace EMRContainers { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersServiceClientModel.h b/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersServiceClientModel.h index 4c2cf38ddced..cf021342c825 100644 --- a/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersServiceClientModel.h @@ -74,7 +74,6 @@ class RetryStrategy; } // namespace Client namespace EMRContainers { -using EMRContainersClientConfiguration = Aws::Client::GenericClientConfiguration; using EMRContainersEndpointProviderBase = Aws::EMRContainers::Endpoint::EMRContainersEndpointProviderBase; using EMRContainersEndpointProvider = Aws::EMRContainers::Endpoint::EMRContainersEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersClient.cpp b/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersClient.cpp index 2adbd38a3bc7..dfc752fcfc4f 100644 --- a/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersClient.cpp +++ b/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersClient.cpp @@ -103,41 +103,6 @@ EMRContainersClient::EMRContainersClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EMRContainersClient::EMRContainersClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EMRContainersClient::EMRContainersClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EMRContainersClient::~EMRContainersClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EMRContainersClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void EMRContainersClient::init(const EMRContainers::EMRContainersClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "emr-containers"); -} - -void EMRContainersClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EMRContainersClient::InvokeOperationOutcome EMRContainersClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersClientConfiguration.cpp b/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersClientConfiguration.cpp new file mode 100644 index 000000000000..473076f05ffd --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EMRContainers { + +void EMRContainersClientConfiguration::LoadEMRContainersSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EMRContainersClientConfiguration::EMRContainersClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEMRContainersSpecificConfig(this->profileName); +} + +EMRContainersClientConfiguration::EMRContainersClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEMRContainersSpecificConfig(Aws::String(inputProfileName)); +} + +EMRContainersClientConfiguration::EMRContainersClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEMRContainersSpecificConfig(this->profileName); +} + +EMRContainersClientConfiguration::EMRContainersClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadEMRContainersSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EMRContainersClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EMRContainers +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersEndpointProvider.cpp b/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersEndpointProvider.cpp index c5b96afe8d7c..2207362b4237 100644 --- a/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_EMRCONTAINERS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EMRContainers { namespace Endpoint { EMRContainersEndpointProvider::EMRContainersEndpointProvider() : EMRContainersDefaultEpProviderBase(Aws::EMRContainers::EMRContainersEndpointRules::GetRulesBlob(), Aws::EMRContainers::EMRContainersEndpointRules::RulesBlobSize) {} +void EMRContainersBuiltInParameters::SetFromClientConfiguration(const EMRContainersClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EMRContainersBuiltInParameters::SetFromClientConfiguration(const EMRContainersClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EMRContainersBuiltInParameters::SetServiceSpecificParameters(const EMRContainersClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EMRContainers } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessClient.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessClient.h index 4bb5cc13eca7..a466bf4798f6 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessClient.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessClient.h @@ -71,27 +71,6 @@ class AWS_EMRSERVERLESS_API EMRServerlessClient : public Aws::Client::AWSJsonCli const Aws::EMRServerless::EMRServerlessClientConfiguration& clientConfiguration = Aws::EMRServerless::EMRServerlessClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EMRServerlessClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EMRServerlessClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EMRServerlessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EMRServerlessClient(); /** @@ -693,7 +672,6 @@ class AWS_EMRSERVERLESS_API EMRServerlessClient : public Aws::Client::AWSJsonCli return SubmitAsync(&EMRServerlessClient::UpdateApplication, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessClientConfiguration.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessClientConfiguration.h new file mode 100644 index 000000000000..357613e608d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EMRServerless { +struct AWS_EMRSERVERLESS_API EMRServerlessClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EMRServerlessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EMRServerlessClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EMRServerlessClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EMRServerlessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEMRServerlessSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EMRSERVERLESS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EMRServerlessClientConfiguration& config); +} // namespace EMRServerless +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessEndpointProvider.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessEndpointProvider.h index fd309d0c4089..b10c9559eef9 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EMRServerless { namespace Endpoint { +using EMRServerlessClientConfiguration = Aws::EMRServerless::EMRServerlessClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EMRServerlessClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EMRServerlessClientConfiguration = Aws::Client::GenericClientConfiguration; -using EMRServerlessBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EMRSERVERLESS_API EMRServerlessBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EMRServerlessBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EMRServerlessClientConfiguration& config); + virtual void SetFromClientConfiguration(const EMRServerlessClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EMRServerlessClientConfiguration& config); +}; /** * The type for the EMRServerless Client Endpoint Provider. @@ -34,6 +43,24 @@ using EMRServerlessEndpointProviderBase = using EMRServerlessDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace EMRServerless + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EMRSERVERLESS_EXTERN template class AWS_EMRSERVERLESS_API Aws::Endpoint::EndpointProviderBase< + EMRServerless::Endpoint::EMRServerlessClientConfiguration, EMRServerless::Endpoint::EMRServerlessBuiltInParameters, + EMRServerless::Endpoint::EMRServerlessClientContextParameters>; + +AWS_EMRSERVERLESS_EXTERN template class AWS_EMRSERVERLESS_API Aws::Endpoint::BDDEndpointProvider< + EMRServerless::Endpoint::EMRServerlessClientConfiguration, EMRServerless::Endpoint::EMRServerlessBuiltInParameters, + EMRServerless::Endpoint::EMRServerlessClientContextParameters>; +} // namespace Endpoint + +namespace EMRServerless { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessServiceClientModel.h b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessServiceClientModel.h index 94d6323b725e..18c22d36c195 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessServiceClientModel.h @@ -69,7 +69,6 @@ class RetryStrategy; } // namespace Client namespace EMRServerless { -using EMRServerlessClientConfiguration = Aws::Client::GenericClientConfiguration; using EMRServerlessEndpointProviderBase = Aws::EMRServerless::Endpoint::EMRServerlessEndpointProviderBase; using EMRServerlessEndpointProvider = Aws::EMRServerless::Endpoint::EMRServerlessEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessClient.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessClient.cpp index dd68290322e9..2f46118753c5 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessClient.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessClient.cpp @@ -100,41 +100,6 @@ EMRServerlessClient::EMRServerlessClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EMRServerlessClient::EMRServerlessClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EMRServerlessClient::EMRServerlessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EMRServerlessClient::~EMRServerlessClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EMRServerlessClient::accessEndpointProvider() { return m_endpointProvider; } @@ -152,12 +117,7 @@ void EMRServerlessClient::init(const EMRServerless::EMRServerlessClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "emr-serverless"); -} - -void EMRServerlessClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EMRServerlessClient::InvokeOperationOutcome EMRServerlessClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessClientConfiguration.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessClientConfiguration.cpp new file mode 100644 index 000000000000..f87982bfe989 --- /dev/null +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EMRServerless { + +void EMRServerlessClientConfiguration::LoadEMRServerlessSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EMRServerlessClientConfiguration::EMRServerlessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEMRServerlessSpecificConfig(this->profileName); +} + +EMRServerlessClientConfiguration::EMRServerlessClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEMRServerlessSpecificConfig(Aws::String(inputProfileName)); +} + +EMRServerlessClientConfiguration::EMRServerlessClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEMRServerlessSpecificConfig(this->profileName); +} + +EMRServerlessClientConfiguration::EMRServerlessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadEMRServerlessSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EMRServerlessClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EMRServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessEndpointProvider.cpp b/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessEndpointProvider.cpp index 2a178fcd67ef..59d310f053c9 100644 --- a/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_EMRSERVERLESS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EMRServerless { namespace Endpoint { EMRServerlessEndpointProvider::EMRServerlessEndpointProvider() : EMRServerlessDefaultEpProviderBase(Aws::EMRServerless::EMRServerlessEndpointRules::GetRulesBlob(), Aws::EMRServerless::EMRServerlessEndpointRules::RulesBlobSize) {} +void EMRServerlessBuiltInParameters::SetFromClientConfiguration(const EMRServerlessClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EMRServerlessBuiltInParameters::SetFromClientConfiguration(const EMRServerlessClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EMRServerlessBuiltInParameters::SetServiceSpecificParameters(const EMRServerlessClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EMRServerless } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingClient.h b/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingClient.h index 07a45c8c9c70..2d89bff9ff06 100644 --- a/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingClient.h +++ b/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingClient.h @@ -59,27 +59,6 @@ class AWS_ENDUSERMESSAGING_API EndUserMessagingClient : public Aws::Client::AWSJ const Aws::EndUserMessaging::EndUserMessagingClientConfiguration& clientConfiguration = Aws::EndUserMessaging::EndUserMessagingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EndUserMessagingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EndUserMessagingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EndUserMessagingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EndUserMessagingClient(); /** @@ -878,7 +857,6 @@ class AWS_ENDUSERMESSAGING_API EndUserMessagingClient : public Aws::Client::AWSJ return SubmitAsync(&EndUserMessagingClient::ValidateNotifyCodeVerification, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingClientConfiguration.h b/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingClientConfiguration.h new file mode 100644 index 000000000000..08c967c5128e --- /dev/null +++ b/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EndUserMessaging { +struct AWS_ENDUSERMESSAGING_API EndUserMessagingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EndUserMessagingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EndUserMessagingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EndUserMessagingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EndUserMessagingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEndUserMessagingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ENDUSERMESSAGING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EndUserMessagingClientConfiguration& config); +} // namespace EndUserMessaging +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingEndpointProvider.h b/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingEndpointProvider.h index 87ca993127fa..bdebe7f3cbf2 100644 --- a/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EndUserMessaging { namespace Endpoint { +using EndUserMessagingClientConfiguration = Aws::EndUserMessaging::EndUserMessagingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EndUserMessagingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EndUserMessagingClientConfiguration = Aws::Client::GenericClientConfiguration; -using EndUserMessagingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ENDUSERMESSAGING_API EndUserMessagingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EndUserMessagingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EndUserMessagingClientConfiguration& config); + virtual void SetFromClientConfiguration(const EndUserMessagingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EndUserMessagingClientConfiguration& config); +}; /** * The type for the EndUserMessaging Client Endpoint Provider. @@ -34,6 +43,24 @@ using EndUserMessagingEndpointProviderBase = using EndUserMessagingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace EndUserMessaging + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ENDUSERMESSAGING_EXTERN template class AWS_ENDUSERMESSAGING_API Aws::Endpoint::EndpointProviderBase< + EndUserMessaging::Endpoint::EndUserMessagingClientConfiguration, EndUserMessaging::Endpoint::EndUserMessagingBuiltInParameters, + EndUserMessaging::Endpoint::EndUserMessagingClientContextParameters>; + +AWS_ENDUSERMESSAGING_EXTERN template class AWS_ENDUSERMESSAGING_API Aws::Endpoint::BDDEndpointProvider< + EndUserMessaging::Endpoint::EndUserMessagingClientConfiguration, EndUserMessaging::Endpoint::EndUserMessagingBuiltInParameters, + EndUserMessaging::Endpoint::EndUserMessagingClientContextParameters>; +} // namespace Endpoint + +namespace EndUserMessaging { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingServiceClientModel.h b/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingServiceClientModel.h index 75f790df3415..b9a92067f989 100644 --- a/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace EndUserMessaging { -using EndUserMessagingClientConfiguration = Aws::Client::GenericClientConfiguration; using EndUserMessagingEndpointProviderBase = Aws::EndUserMessaging::Endpoint::EndUserMessagingEndpointProviderBase; using EndUserMessagingEndpointProvider = Aws::EndUserMessaging::Endpoint::EndUserMessagingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingClient.cpp b/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingClient.cpp index f739c1c85f9b..3e7dee6b6f1f 100644 --- a/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingClient.cpp +++ b/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingClient.cpp @@ -108,42 +108,6 @@ EndUserMessagingClient::EndUserMessagingClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EndUserMessagingClient::EndUserMessagingClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EndUserMessagingClient::EndUserMessagingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EndUserMessagingClient::~EndUserMessagingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EndUserMessagingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -161,12 +125,7 @@ void EndUserMessagingClient::init(const EndUserMessaging::EndUserMessagingClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "end-user-messaging"); -} - -void EndUserMessagingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EndUserMessagingClient::InvokeOperationOutcome EndUserMessagingClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingClientConfiguration.cpp new file mode 100644 index 000000000000..95e874711f48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EndUserMessaging { + +void EndUserMessagingClientConfiguration::LoadEndUserMessagingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EndUserMessagingClientConfiguration::EndUserMessagingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEndUserMessagingSpecificConfig(this->profileName); +} + +EndUserMessagingClientConfiguration::EndUserMessagingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEndUserMessagingSpecificConfig(Aws::String(inputProfileName)); +} + +EndUserMessagingClientConfiguration::EndUserMessagingClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEndUserMessagingSpecificConfig(this->profileName); +} + +EndUserMessagingClientConfiguration::EndUserMessagingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadEndUserMessagingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EndUserMessagingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EndUserMessaging +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingEndpointProvider.cpp index 25d7b47b9718..b6334ec45816 100644 --- a/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ENDUSERMESSAGING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EndUserMessaging { namespace Endpoint { EndUserMessagingEndpointProvider::EndUserMessagingEndpointProvider() : EndUserMessagingDefaultEpProviderBase(Aws::EndUserMessaging::EndUserMessagingEndpointRules::GetRulesBlob(), Aws::EndUserMessaging::EndUserMessagingEndpointRules::RulesBlobSize) {} +void EndUserMessagingBuiltInParameters::SetFromClientConfiguration(const EndUserMessagingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EndUserMessagingBuiltInParameters::SetFromClientConfiguration(const EndUserMessagingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EndUserMessagingBuiltInParameters::SetServiceSpecificParameters(const EndUserMessagingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EndUserMessaging } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionClient.h b/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionClient.h index a827ba38bb6a..06db73d95d8d 100644 --- a/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionClient.h +++ b/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionClient.h @@ -68,27 +68,6 @@ class AWS_ENTITYRESOLUTION_API EntityResolutionClient : public Aws::Client::AWSJ const Aws::EntityResolution::EntityResolutionClientConfiguration& clientConfiguration = Aws::EntityResolution::EntityResolutionClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EntityResolutionClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EntityResolutionClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EntityResolutionClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EntityResolutionClient(); /** @@ -1161,7 +1140,6 @@ class AWS_ENTITYRESOLUTION_API EntityResolutionClient : public Aws::Client::AWSJ return SubmitAsync(&EntityResolutionClient::UpdateSchemaMapping, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionClientConfiguration.h b/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionClientConfiguration.h new file mode 100644 index 000000000000..8b5d9dbbb1bd --- /dev/null +++ b/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EntityResolution { +struct AWS_ENTITYRESOLUTION_API EntityResolutionClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EntityResolutionClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EntityResolutionClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EntityResolutionClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EntityResolutionClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEntityResolutionSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ENTITYRESOLUTION_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EntityResolutionClientConfiguration& config); +} // namespace EntityResolution +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionEndpointProvider.h b/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionEndpointProvider.h index a76ca30e070c..1db115f53360 100644 --- a/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EntityResolution { namespace Endpoint { +using EntityResolutionClientConfiguration = Aws::EntityResolution::EntityResolutionClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EntityResolutionClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EntityResolutionClientConfiguration = Aws::Client::GenericClientConfiguration; -using EntityResolutionBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ENTITYRESOLUTION_API EntityResolutionBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EntityResolutionBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EntityResolutionClientConfiguration& config); + virtual void SetFromClientConfiguration(const EntityResolutionClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EntityResolutionClientConfiguration& config); +}; /** * The type for the EntityResolution Client Endpoint Provider. @@ -34,6 +43,24 @@ using EntityResolutionEndpointProviderBase = using EntityResolutionDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace EntityResolution + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ENTITYRESOLUTION_EXTERN template class AWS_ENTITYRESOLUTION_API Aws::Endpoint::EndpointProviderBase< + EntityResolution::Endpoint::EntityResolutionClientConfiguration, EntityResolution::Endpoint::EntityResolutionBuiltInParameters, + EntityResolution::Endpoint::EntityResolutionClientContextParameters>; + +AWS_ENTITYRESOLUTION_EXTERN template class AWS_ENTITYRESOLUTION_API Aws::Endpoint::BDDEndpointProvider< + EntityResolution::Endpoint::EntityResolutionClientConfiguration, EntityResolution::Endpoint::EntityResolutionBuiltInParameters, + EntityResolution::Endpoint::EntityResolutionClientContextParameters>; +} // namespace Endpoint + +namespace EntityResolution { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionServiceClientModel.h b/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionServiceClientModel.h index 022033332d41..dde6ebaabe4e 100644 --- a/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionServiceClientModel.h @@ -89,7 +89,6 @@ class RetryStrategy; } // namespace Client namespace EntityResolution { -using EntityResolutionClientConfiguration = Aws::Client::GenericClientConfiguration; using EntityResolutionEndpointProviderBase = Aws::EntityResolution::Endpoint::EntityResolutionEndpointProviderBase; using EntityResolutionEndpointProvider = Aws::EntityResolution::Endpoint::EntityResolutionEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionClient.cpp b/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionClient.cpp index 9f763c337250..6626501d678b 100644 --- a/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionClient.cpp +++ b/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionClient.cpp @@ -119,42 +119,6 @@ EntityResolutionClient::EntityResolutionClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EntityResolutionClient::EntityResolutionClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EntityResolutionClient::EntityResolutionClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EntityResolutionClient::~EntityResolutionClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EntityResolutionClient::accessEndpointProvider() { return m_endpointProvider; } @@ -172,12 +136,7 @@ void EntityResolutionClient::init(const EntityResolution::EntityResolutionClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "entityresolution"); -} - -void EntityResolutionClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EntityResolutionClient::InvokeOperationOutcome EntityResolutionClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionClientConfiguration.cpp b/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionClientConfiguration.cpp new file mode 100644 index 000000000000..274073ab000e --- /dev/null +++ b/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EntityResolution { + +void EntityResolutionClientConfiguration::LoadEntityResolutionSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EntityResolutionClientConfiguration::EntityResolutionClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEntityResolutionSpecificConfig(this->profileName); +} + +EntityResolutionClientConfiguration::EntityResolutionClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEntityResolutionSpecificConfig(Aws::String(inputProfileName)); +} + +EntityResolutionClientConfiguration::EntityResolutionClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEntityResolutionSpecificConfig(this->profileName); +} + +EntityResolutionClientConfiguration::EntityResolutionClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadEntityResolutionSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EntityResolutionClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EntityResolution +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionEndpointProvider.cpp b/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionEndpointProvider.cpp index b9867c379966..3f311b6c7490 100644 --- a/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ENTITYRESOLUTION_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EntityResolution { namespace Endpoint { EntityResolutionEndpointProvider::EntityResolutionEndpointProvider() : EntityResolutionDefaultEpProviderBase(Aws::EntityResolution::EntityResolutionEndpointRules::GetRulesBlob(), Aws::EntityResolution::EntityResolutionEndpointRules::RulesBlobSize) {} +void EntityResolutionBuiltInParameters::SetFromClientConfiguration(const EntityResolutionClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EntityResolutionBuiltInParameters::SetFromClientConfiguration(const EntityResolutionClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EntityResolutionBuiltInParameters::SetServiceSpecificParameters(const EntityResolutionClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EntityResolution } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceClient.h b/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceClient.h index 9e24d78403ab..b0225914edff 100644 --- a/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceClient.h +++ b/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceClient.h @@ -69,27 +69,6 @@ class AWS_ELASTICSEARCHSERVICE_API ElasticsearchServiceClient const Aws::ElasticsearchService::ElasticsearchServiceClientConfiguration& clientConfiguration = Aws::ElasticsearchService::ElasticsearchServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ElasticsearchServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ElasticsearchServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ElasticsearchServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ElasticsearchServiceClient(); /** @@ -1574,7 +1553,6 @@ class AWS_ELASTICSEARCHSERVICE_API ElasticsearchServiceClient return SubmitAsync(&ElasticsearchServiceClient::UpgradeElasticsearchDomain, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceClientConfiguration.h new file mode 100644 index 000000000000..229571e5e645 --- /dev/null +++ b/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ElasticsearchService { +struct AWS_ELASTICSEARCHSERVICE_API ElasticsearchServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ElasticsearchServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElasticsearchServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ElasticsearchServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ElasticsearchServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadElasticsearchServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ELASTICSEARCHSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ElasticsearchServiceClientConfiguration& config); +} // namespace ElasticsearchService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceEndpointProvider.h index 66c8acd69ce6..1e75450a175a 100644 --- a/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ElasticsearchService { namespace Endpoint { +using ElasticsearchServiceClientConfiguration = Aws::ElasticsearchService::ElasticsearchServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ElasticsearchServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ElasticsearchServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using ElasticsearchServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ELASTICSEARCHSERVICE_API ElasticsearchServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ElasticsearchServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ElasticsearchServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const ElasticsearchServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ElasticsearchServiceClientConfiguration& config); +}; /** * The type for the ElasticsearchService Client Endpoint Provider. @@ -36,6 +45,26 @@ using ElasticsearchServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ElasticsearchService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ELASTICSEARCHSERVICE_EXTERN template class AWS_ELASTICSEARCHSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ELASTICSEARCHSERVICE_EXTERN template class AWS_ELASTICSEARCHSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ElasticsearchService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceServiceClientModel.h index e5bfeb53ba7b..cb7ff3a5d049 100644 --- a/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceServiceClientModel.h @@ -105,7 +105,6 @@ class RetryStrategy; } // namespace Client namespace ElasticsearchService { -using ElasticsearchServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using ElasticsearchServiceEndpointProviderBase = Aws::ElasticsearchService::Endpoint::ElasticsearchServiceEndpointProviderBase; using ElasticsearchServiceEndpointProvider = Aws::ElasticsearchService::Endpoint::ElasticsearchServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceClient.cpp b/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceClient.cpp index 2cd972b2ff73..1b341e343b08 100644 --- a/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceClient.cpp @@ -134,42 +134,6 @@ ElasticsearchServiceClient::ElasticsearchServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ElasticsearchServiceClient::ElasticsearchServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElasticsearchServiceClient::ElasticsearchServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ElasticsearchServiceClient::ElasticsearchServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ElasticsearchServiceClient::~ElasticsearchServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ElasticsearchServiceClient::accessEndpointProvider() { @@ -189,12 +153,7 @@ void ElasticsearchServiceClient::init(const ElasticsearchService::ElasticsearchS AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "es"); -} - -void ElasticsearchServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ElasticsearchServiceClient::InvokeOperationOutcome ElasticsearchServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceClientConfiguration.cpp new file mode 100644 index 000000000000..1e985251ad3d --- /dev/null +++ b/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ElasticsearchService { + +void ElasticsearchServiceClientConfiguration::LoadElasticsearchServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ElasticsearchServiceClientConfiguration::ElasticsearchServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadElasticsearchServiceSpecificConfig(this->profileName); +} + +ElasticsearchServiceClientConfiguration::ElasticsearchServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadElasticsearchServiceSpecificConfig(Aws::String(inputProfileName)); +} + +ElasticsearchServiceClientConfiguration::ElasticsearchServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadElasticsearchServiceSpecificConfig(this->profileName); +} + +ElasticsearchServiceClientConfiguration::ElasticsearchServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadElasticsearchServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ElasticsearchServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ElasticsearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceEndpointProvider.cpp index fb55c8cbbcd7..87e6d53f53d0 100644 --- a/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ELASTICSEARCHSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ElasticsearchService { namespace Endpoint { ElasticsearchServiceEndpointProvider::ElasticsearchServiceEndpointProvider() : ElasticsearchServiceDefaultEpProviderBase(Aws::ElasticsearchService::ElasticsearchServiceEndpointRules::GetRulesBlob(), Aws::ElasticsearchService::ElasticsearchServiceEndpointRules::RulesBlobSize) {} +void ElasticsearchServiceBuiltInParameters::SetFromClientConfiguration(const ElasticsearchServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ElasticsearchServiceBuiltInParameters::SetFromClientConfiguration(const ElasticsearchServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ElasticsearchServiceBuiltInParameters::SetServiceSpecificParameters(const ElasticsearchServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ElasticsearchService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClient.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClient.h index dc1526ac8b9f..5870c37feb88 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClient.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClient.h @@ -68,27 +68,6 @@ class AWS_EVENTBRIDGE_API EventBridgeClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::EventBridge::EventBridgeClientConfiguration& clientConfiguration = Aws::EventBridge::EventBridgeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EventBridgeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EventBridgeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EventBridgeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EventBridgeClient(); /** @@ -1929,7 +1908,6 @@ class AWS_EVENTBRIDGE_API EventBridgeClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&EventBridgeClient::UpdateEventBus, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClientConfiguration.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClientConfiguration.h new file mode 100644 index 000000000000..c5b63dcdf362 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClientConfiguration.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EventBridge { +struct AWS_EVENTBRIDGE_API EventBridgeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EventBridgeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EventBridgeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EventBridgeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EventBridgeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + + private: + void LoadEventBridgeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EVENTBRIDGE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EventBridgeClientConfiguration& config); +} // namespace EventBridge +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeEndpointProvider.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeEndpointProvider.h index 68e86b5f4c7e..f1b4695ec6bf 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EventBridge { namespace Endpoint { +using EventBridgeClientConfiguration = Aws::EventBridge::EventBridgeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EventBridgeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EventBridgeClientConfiguration = Aws::Client::GenericClientConfiguration; -using EventBridgeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EVENTBRIDGE_API EventBridgeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EventBridgeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EventBridgeClientConfiguration& config); + virtual void SetFromClientConfiguration(const EventBridgeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EventBridgeClientConfiguration& config); +}; /** * The type for the EventBridge Client Endpoint Provider. @@ -34,6 +43,24 @@ using EventBridgeEndpointProviderBase = using EventBridgeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace EventBridge + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EVENTBRIDGE_EXTERN template class AWS_EVENTBRIDGE_API Aws::Endpoint::EndpointProviderBase< + EventBridge::Endpoint::EventBridgeClientConfiguration, EventBridge::Endpoint::EventBridgeBuiltInParameters, + EventBridge::Endpoint::EventBridgeClientContextParameters>; + +AWS_EVENTBRIDGE_EXTERN template class AWS_EVENTBRIDGE_API Aws::Endpoint::BDDEndpointProvider< + EventBridge::Endpoint::EventBridgeClientConfiguration, EventBridge::Endpoint::EventBridgeBuiltInParameters, + EventBridge::Endpoint::EventBridgeClientContextParameters>; +} // namespace Endpoint + +namespace EventBridge { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeServiceClientModel.h b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeServiceClientModel.h index f6ac84015da6..fc9d8309c537 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeServiceClientModel.h @@ -107,7 +107,6 @@ class RetryStrategy; } // namespace Client namespace EventBridge { -using EventBridgeClientConfiguration = Aws::Client::GenericClientConfiguration; using EventBridgeEndpointProviderBase = Aws::EventBridge::Endpoint::EventBridgeEndpointProviderBase; using EventBridgeEndpointProvider = Aws::EventBridge::Endpoint::EventBridgeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeClient.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeClient.cpp index 0aebf9a68359..e37501b5ea58 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeClient.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeClient.cpp @@ -136,43 +136,6 @@ EventBridgeClient::EventBridgeClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EventBridgeClient::EventBridgeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EventBridgeClient::EventBridgeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EventBridgeClient::~EventBridgeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EventBridgeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -190,12 +153,7 @@ void EventBridgeClient::init(const EventBridge::EventBridgeClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "events"); -} - -void EventBridgeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EventBridgeClient::InvokeOperationOutcome EventBridgeClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeClientConfiguration.cpp new file mode 100644 index 000000000000..a8f3c3add391 --- /dev/null +++ b/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EventBridge { + +void EventBridgeClientConfiguration::LoadEventBridgeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EventBridgeClientConfiguration::EventBridgeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEventBridgeSpecificConfig(this->profileName); +} + +EventBridgeClientConfiguration::EventBridgeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEventBridgeSpecificConfig(Aws::String(inputProfileName)); +} + +EventBridgeClientConfiguration::EventBridgeClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEventBridgeSpecificConfig(this->profileName); +} + +EventBridgeClientConfiguration::EventBridgeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadEventBridgeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EventBridgeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + +} // namespace EventBridge +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeEndpointProvider.cpp index 03d76c4330f0..b77a299d1624 100644 --- a/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_EVENTBRIDGE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EventBridge { namespace Endpoint { EventBridgeEndpointProvider::EventBridgeEndpointProvider() : EventBridgeDefaultEpProviderBase(Aws::EventBridge::EventBridgeEndpointRules::GetRulesBlob(), Aws::EventBridge::EventBridgeEndpointRules::RulesBlobSize) {} +void EventBridgeBuiltInParameters::SetFromClientConfiguration(const EventBridgeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EventBridgeBuiltInParameters::SetFromClientConfiguration(const EventBridgeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EventBridgeBuiltInParameters::SetServiceSpecificParameters(const EventBridgeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EventBridge } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridgev2/include/aws/eventbridgev2/EventBridgeV2Client.h b/generated/src/aws-cpp-sdk-eventbridgev2/include/aws/eventbridgev2/EventBridgeV2Client.h index 69f3b281c333..b9d92a98c9b9 100644 --- a/generated/src/aws-cpp-sdk-eventbridgev2/include/aws/eventbridgev2/EventBridgeV2Client.h +++ b/generated/src/aws-cpp-sdk-eventbridgev2/include/aws/eventbridgev2/EventBridgeV2Client.h @@ -62,27 +62,6 @@ class AWS_EVENTBRIDGEV2_API EventBridgeV2Client : public Aws::Client::AWSRpcV2Cb const Aws::EventBridgeV2::EventBridgeV2ClientConfiguration& clientConfiguration = Aws::EventBridgeV2::EventBridgeV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EventBridgeV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EventBridgeV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EventBridgeV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EventBridgeV2Client(); /** @@ -777,7 +756,6 @@ class AWS_EVENTBRIDGEV2_API EventBridgeV2Client : public Aws::Client::AWSRpcV2Cb return SubmitAsync(&EventBridgeV2Client::UpdateSubscriber, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-eventbridgev2/include/aws/eventbridgev2/EventBridgeV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-eventbridgev2/include/aws/eventbridgev2/EventBridgeV2ClientConfiguration.h index 4dee9a81824f..16b3ddd6ffef 100644 --- a/generated/src/aws-cpp-sdk-eventbridgev2/include/aws/eventbridgev2/EventBridgeV2ClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-eventbridgev2/include/aws/eventbridgev2/EventBridgeV2ClientConfiguration.h @@ -32,12 +32,46 @@ struct AWS_EVENTBRIDGEV2_API EventBridgeV2ClientConfiguration : public Aws::Clie EventBridgeV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - EventBridgeV2ClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit EventBridgeV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * The AWS account ID. Used for account-based endpoint routing. An AWS account ID has a format like 111122223333. + * Account-based endpoint routing provides better request performance for some services. + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountId; + + /** + * This setting is used to turn off account-based endpoint routing if necessary, and bypass account-based rules. + * Can be the case sensitive string values "required", "disabled", or "preferred". Defaults to "preferred". + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountIdEndpointMode = "preferred"; private: void LoadEventBridgeV2SpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EVENTBRIDGEV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EventBridgeV2ClientConfiguration& config); } // namespace EventBridgeV2 } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2Client.cpp b/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2Client.cpp index fdef7a799bd8..a1bf5bcacf84 100644 --- a/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2Client.cpp +++ b/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2Client.cpp @@ -103,41 +103,6 @@ EventBridgeV2Client::EventBridgeV2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EventBridgeV2Client::EventBridgeV2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EventBridgeV2Client::EventBridgeV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EventBridgeV2Client::~EventBridgeV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& EventBridgeV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void EventBridgeV2Client::init(const EventBridgeV2::EventBridgeV2ClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "events"); -} - -void EventBridgeV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EventBridgeV2Client::InvokeOperationOutcome EventBridgeV2Client::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2ClientConfiguration.cpp index 2624a4feb317..3216e5ceb911 100644 --- a/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2ClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2ClientConfiguration.cpp @@ -9,6 +9,9 @@ namespace Aws { namespace EventBridgeV2 { void EventBridgeV2ClientConfiguration::LoadEventBridgeV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + accountIdEndpointMode = Aws::Client::LoadAccountIdEndpointModeFromEnvOrProfile(this->profileName); #if defined(_MSC_VER) (&reinterpret_cast(inputProfileName)); #else @@ -31,10 +34,17 @@ EventBridgeV2ClientConfiguration::EventBridgeV2ClientConfiguration(bool useSmart LoadEventBridgeV2SpecificConfig(this->profileName); } -EventBridgeV2ClientConfiguration::EventBridgeV2ClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config) { +EventBridgeV2ClientConfiguration::EventBridgeV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadEventBridgeV2SpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EventBridgeV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.accountId = config.accountId; + options.accountIdEndpointMode = config.accountIdEndpointMode; + return options; +} + } // namespace EventBridgeV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2EndpointProvider.cpp index 4880a46bba31..6bd0d5bbaa74 100644 --- a/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-eventbridgev2/source/EventBridgeV2EndpointProvider.cpp @@ -40,6 +40,12 @@ void EventBridgeV2BuiltInParameters::SetFromClientConfiguration(const EventBridg } void EventBridgeV2BuiltInParameters::SetServiceSpecificParameters(const EventBridgeV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } if (!config.accountId.empty()) { SetStringParameter("AccountId", config.accountId); } diff --git a/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsClient.h b/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsClient.h index a94971558c0f..ccd2bb82c067 100644 --- a/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsClient.h +++ b/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsClient.h @@ -69,27 +69,6 @@ class AWS_CLOUDWATCHEVENTS_API CloudWatchEventsClient : public Aws::Client::AWSJ const Aws::CloudWatchEvents::CloudWatchEventsClientConfiguration& clientConfiguration = Aws::CloudWatchEvents::CloudWatchEventsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudWatchEventsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudWatchEventsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudWatchEventsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudWatchEventsClient(); /** @@ -1720,7 +1699,6 @@ class AWS_CLOUDWATCHEVENTS_API CloudWatchEventsClient : public Aws::Client::AWSJ return SubmitAsync(&CloudWatchEventsClient::UpdateConnection, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsClientConfiguration.h b/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsClientConfiguration.h new file mode 100644 index 000000000000..07119f38a137 --- /dev/null +++ b/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudWatchEvents { +struct AWS_CLOUDWATCHEVENTS_API CloudWatchEventsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudWatchEventsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchEventsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchEventsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudWatchEventsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadCloudWatchEventsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDWATCHEVENTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchEventsClientConfiguration& config); +} // namespace CloudWatchEvents +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsEndpointProvider.h b/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsEndpointProvider.h index f95ddbf6335e..c0f307806e06 100644 --- a/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace CloudWatchEvents { namespace Endpoint { +using CloudWatchEventsClientConfiguration = Aws::CloudWatchEvents::CloudWatchEventsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudWatchEventsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudWatchEventsClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudWatchEventsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDWATCHEVENTS_API CloudWatchEventsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudWatchEventsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudWatchEventsClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudWatchEventsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudWatchEventsClientConfiguration& config); +}; /** * The type for the CloudWatchEvents Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudWatchEventsEndpointProviderBase = using CloudWatchEventsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudWatchEvents + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDWATCHEVENTS_EXTERN template class AWS_CLOUDWATCHEVENTS_API Aws::Endpoint::EndpointProviderBase< + CloudWatchEvents::Endpoint::CloudWatchEventsClientConfiguration, CloudWatchEvents::Endpoint::CloudWatchEventsBuiltInParameters, + CloudWatchEvents::Endpoint::CloudWatchEventsClientContextParameters>; + +AWS_CLOUDWATCHEVENTS_EXTERN template class AWS_CLOUDWATCHEVENTS_API Aws::Endpoint::BDDEndpointProvider< + CloudWatchEvents::Endpoint::CloudWatchEventsClientConfiguration, CloudWatchEvents::Endpoint::CloudWatchEventsBuiltInParameters, + CloudWatchEvents::Endpoint::CloudWatchEventsClientContextParameters>; +} // namespace Endpoint + +namespace CloudWatchEvents { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsServiceClientModel.h b/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsServiceClientModel.h index 540e7833fc36..0d41122343c5 100644 --- a/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsServiceClientModel.h @@ -99,7 +99,6 @@ class RetryStrategy; } // namespace Client namespace CloudWatchEvents { -using CloudWatchEventsClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudWatchEventsEndpointProviderBase = Aws::CloudWatchEvents::Endpoint::CloudWatchEventsEndpointProviderBase; using CloudWatchEventsEndpointProvider = Aws::CloudWatchEvents::Endpoint::CloudWatchEventsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsClient.cpp b/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsClient.cpp index 9f138406e8ac..9b30dd465a4e 100644 --- a/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsClient.cpp +++ b/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsClient.cpp @@ -132,42 +132,6 @@ CloudWatchEventsClient::CloudWatchEventsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchEventsClient::CloudWatchEventsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchEventsClient::CloudWatchEventsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudWatchEventsClient::~CloudWatchEventsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudWatchEventsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -185,12 +149,7 @@ void CloudWatchEventsClient::init(const CloudWatchEvents::CloudWatchEventsClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "events"); -} - -void CloudWatchEventsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudWatchEventsClient::InvokeOperationOutcome CloudWatchEventsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsClientConfiguration.cpp new file mode 100644 index 000000000000..634d03d0df8d --- /dev/null +++ b/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudWatchEvents { + +void CloudWatchEventsClientConfiguration::LoadCloudWatchEventsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudWatchEventsClientConfiguration::CloudWatchEventsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudWatchEventsSpecificConfig(this->profileName); +} + +CloudWatchEventsClientConfiguration::CloudWatchEventsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudWatchEventsSpecificConfig(Aws::String(inputProfileName)); +} + +CloudWatchEventsClientConfiguration::CloudWatchEventsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudWatchEventsSpecificConfig(this->profileName); +} + +CloudWatchEventsClientConfiguration::CloudWatchEventsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudWatchEventsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchEventsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudWatchEvents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsEndpointProvider.cpp index 52384787231e..1f94fc88f9ea 100644 --- a/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-events/source/CloudWatchEventsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDWATCHEVENTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudWatchEvents { namespace Endpoint { CloudWatchEventsEndpointProvider::CloudWatchEventsEndpointProvider() : CloudWatchEventsDefaultEpProviderBase(Aws::CloudWatchEvents::CloudWatchEventsEndpointRules::GetRulesBlob(), Aws::CloudWatchEvents::CloudWatchEventsEndpointRules::RulesBlobSize) {} +void CloudWatchEventsBuiltInParameters::SetFromClientConfiguration(const CloudWatchEventsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudWatchEventsBuiltInParameters::SetFromClientConfiguration(const CloudWatchEventsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudWatchEventsBuiltInParameters::SetServiceSpecificParameters(const CloudWatchEventsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudWatchEvents } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSClient.h b/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSClient.h index a3e071ebe68f..9ee0818f4252 100644 --- a/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSClient.h +++ b/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSClient.h @@ -57,27 +57,6 @@ class AWS_EVS_API EVSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::EVS::EVSClientConfiguration& clientConfiguration = Aws::EVS::EVSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - EVSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - EVSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - EVSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~EVSClient(); /** @@ -800,7 +779,6 @@ class AWS_EVS_API EVSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&EVSClient::UpdateEnvironmentConnector, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSClientConfiguration.h b/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSClientConfiguration.h new file mode 100644 index 000000000000..ff791971e6c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace EVS { +struct AWS_EVS_API EVSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + EVSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EVSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + EVSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit EVSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadEVSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_EVS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const EVSClientConfiguration& config); +} // namespace EVS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSEndpointProvider.h b/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSEndpointProvider.h index cf09628c5212..960aa3836551 100644 --- a/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace EVS { namespace Endpoint { +using EVSClientConfiguration = Aws::EVS::EVSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using EVSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using EVSClientConfiguration = Aws::Client::GenericClientConfiguration; -using EVSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_EVS_API EVSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~EVSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const EVSClientConfiguration& config); + virtual void SetFromClientConfiguration(const EVSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const EVSClientConfiguration& config); +}; /** * The type for the EVS Client Endpoint Provider. @@ -32,6 +41,22 @@ using EVSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace EVS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_EVS_EXTERN template class AWS_EVS_API Aws::Endpoint::EndpointProviderBase< + EVS::Endpoint::EVSClientConfiguration, EVS::Endpoint::EVSBuiltInParameters, EVS::Endpoint::EVSClientContextParameters>; + +AWS_EVS_EXTERN template class AWS_EVS_API Aws::Endpoint::BDDEndpointProvider< + EVS::Endpoint::EVSClientConfiguration, EVS::Endpoint::EVSBuiltInParameters, EVS::Endpoint::EVSClientContextParameters>; +} // namespace Endpoint + +namespace EVS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSServiceClientModel.h b/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSServiceClientModel.h index cc18711f849b..18d1b6cf36e5 100644 --- a/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSServiceClientModel.h @@ -73,7 +73,6 @@ class RetryStrategy; } // namespace Client namespace EVS { -using EVSClientConfiguration = Aws::Client::GenericClientConfiguration; using EVSEndpointProviderBase = Aws::EVS::Endpoint::EVSEndpointProviderBase; using EVSEndpointProvider = Aws::EVS::Endpoint::EVSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-evs/source/EVSClient.cpp b/generated/src/aws-cpp-sdk-evs/source/EVSClient.cpp index 79f0e213e7e1..17c3c565470e 100644 --- a/generated/src/aws-cpp-sdk-evs/source/EVSClient.cpp +++ b/generated/src/aws-cpp-sdk-evs/source/EVSClient.cpp @@ -99,41 +99,6 @@ EVSClient::EVSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -EVSClient::EVSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EVSClient::EVSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -EVSClient::EVSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ EVSClient::~EVSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& EVSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -151,12 +116,7 @@ void EVSClient::init(const EVS::EVSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "evs"); -} - -void EVSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } EVSClient::InvokeOperationOutcome EVSClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-evs/source/EVSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-evs/source/EVSClientConfiguration.cpp new file mode 100644 index 000000000000..9f59cf7858ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-evs/source/EVSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace EVS { + +void EVSClientConfiguration::LoadEVSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +EVSClientConfiguration::EVSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadEVSSpecificConfig(this->profileName); +} + +EVSClientConfiguration::EVSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadEVSSpecificConfig(Aws::String(inputProfileName)); +} + +EVSClientConfiguration::EVSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadEVSSpecificConfig(this->profileName); +} + +EVSClientConfiguration::EVSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadEVSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const EVSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace EVS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-evs/source/EVSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-evs/source/EVSEndpointProvider.cpp index 82488320cb7b..c773cd018d9e 100644 --- a/generated/src/aws-cpp-sdk-evs/source/EVSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-evs/source/EVSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_EVS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace EVS { namespace Endpoint { EVSEndpointProvider::EVSEndpointProvider() : EVSDefaultEpProviderBase(Aws::EVS::EVSEndpointRules::GetRulesBlob(), Aws::EVS::EVSEndpointRules::RulesBlobSize) {} +void EVSBuiltInParameters::SetFromClientConfiguration(const EVSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void EVSBuiltInParameters::SetFromClientConfiguration(const EVSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void EVSBuiltInParameters::SetServiceSpecificParameters(const EVSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace EVS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseClient.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseClient.h index 7f75118abf10..fd8145ab7a78 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseClient.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseClient.h @@ -57,27 +57,6 @@ class AWS_FIREHOSE_API FirehoseClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Firehose::FirehoseClientConfiguration& clientConfiguration = Aws::Firehose::FirehoseClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - FirehoseClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - FirehoseClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - FirehoseClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~FirehoseClient(); /** @@ -700,7 +679,6 @@ class AWS_FIREHOSE_API FirehoseClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&FirehoseClient::UpdateDestination, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseClientConfiguration.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseClientConfiguration.h new file mode 100644 index 000000000000..d9eb869c7791 --- /dev/null +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Firehose { +struct AWS_FIREHOSE_API FirehoseClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + FirehoseClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FirehoseClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FirehoseClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit FirehoseClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadFirehoseSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_FIREHOSE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const FirehoseClientConfiguration& config); +} // namespace Firehose +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseEndpointProvider.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseEndpointProvider.h index c7e6ce4a6da9..c1458dca9804 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Firehose { namespace Endpoint { +using FirehoseClientConfiguration = Aws::Firehose::FirehoseClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using FirehoseClientContextParameters = Aws::Endpoint::ClientContextParameters; -using FirehoseClientConfiguration = Aws::Client::GenericClientConfiguration; -using FirehoseBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_FIREHOSE_API FirehoseBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~FirehoseBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const FirehoseClientConfiguration& config); + virtual void SetFromClientConfiguration(const FirehoseClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const FirehoseClientConfiguration& config); +}; /** * The type for the Firehose Client Endpoint Provider. @@ -34,6 +43,24 @@ using FirehoseEndpointProviderBase = using FirehoseDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Firehose + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_FIREHOSE_EXTERN template class AWS_FIREHOSE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_FIREHOSE_EXTERN template class AWS_FIREHOSE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Firehose { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseServiceClientModel.h b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseServiceClientModel.h index 43a35ad528dc..5708ec791f76 100644 --- a/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseServiceClientModel.h @@ -59,7 +59,6 @@ class RetryStrategy; } // namespace Client namespace Firehose { -using FirehoseClientConfiguration = Aws::Client::GenericClientConfiguration; using FirehoseEndpointProviderBase = Aws::Firehose::Endpoint::FirehoseEndpointProviderBase; using FirehoseEndpointProvider = Aws::Firehose::Endpoint::FirehoseEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-firehose/source/FirehoseClient.cpp b/generated/src/aws-cpp-sdk-firehose/source/FirehoseClient.cpp index 27099ec9f2c2..45ad6ba11213 100644 --- a/generated/src/aws-cpp-sdk-firehose/source/FirehoseClient.cpp +++ b/generated/src/aws-cpp-sdk-firehose/source/FirehoseClient.cpp @@ -89,41 +89,6 @@ FirehoseClient::FirehoseClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -FirehoseClient::FirehoseClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FirehoseClient::FirehoseClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FirehoseClient::FirehoseClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ FirehoseClient::~FirehoseClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& FirehoseClient::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +106,7 @@ void FirehoseClient::init(const Firehose::FirehoseClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "firehose"); -} - -void FirehoseClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } FirehoseClient::InvokeOperationOutcome FirehoseClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-firehose/source/FirehoseClientConfiguration.cpp b/generated/src/aws-cpp-sdk-firehose/source/FirehoseClientConfiguration.cpp new file mode 100644 index 000000000000..3bfa775d2f13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-firehose/source/FirehoseClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Firehose { + +void FirehoseClientConfiguration::LoadFirehoseSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +FirehoseClientConfiguration::FirehoseClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadFirehoseSpecificConfig(this->profileName); +} + +FirehoseClientConfiguration::FirehoseClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadFirehoseSpecificConfig(Aws::String(inputProfileName)); +} + +FirehoseClientConfiguration::FirehoseClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadFirehoseSpecificConfig(this->profileName); +} + +FirehoseClientConfiguration::FirehoseClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadFirehoseSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const FirehoseClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Firehose +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-firehose/source/FirehoseEndpointProvider.cpp b/generated/src/aws-cpp-sdk-firehose/source/FirehoseEndpointProvider.cpp index c04cf18f1127..c1cf6d96ade0 100644 --- a/generated/src/aws-cpp-sdk-firehose/source/FirehoseEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-firehose/source/FirehoseEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_FIREHOSE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Firehose { namespace Endpoint { FirehoseEndpointProvider::FirehoseEndpointProvider() : FirehoseDefaultEpProviderBase(Aws::Firehose::FirehoseEndpointRules::GetRulesBlob(), Aws::Firehose::FirehoseEndpointRules::RulesBlobSize) {} +void FirehoseBuiltInParameters::SetFromClientConfiguration(const FirehoseClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void FirehoseBuiltInParameters::SetFromClientConfiguration(const FirehoseClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void FirehoseBuiltInParameters::SetServiceSpecificParameters(const FirehoseClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Firehose } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISClient.h b/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISClient.h index 8ab6a2837cb8..f62407622cc3 100644 --- a/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISClient.h +++ b/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISClient.h @@ -56,27 +56,6 @@ class AWS_FIS_API FISClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::FIS::FISClientConfiguration& clientConfiguration = Aws::FIS::FISClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - FISClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - FISClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - FISClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~FISClient(); /** @@ -811,7 +790,6 @@ class AWS_FIS_API FISClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&FISClient::UpdateTargetAccountConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISClientConfiguration.h b/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISClientConfiguration.h new file mode 100644 index 000000000000..0e9aac7ab560 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace FIS { +struct AWS_FIS_API FISClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + FISClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FISClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FISClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit FISClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadFISSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_FIS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const FISClientConfiguration& config); +} // namespace FIS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISEndpointProvider.h b/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISEndpointProvider.h index 2f3b77e8be25..0ef49bd15c36 100644 --- a/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace FIS { namespace Endpoint { +using FISClientConfiguration = Aws::FIS::FISClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using FISClientContextParameters = Aws::Endpoint::ClientContextParameters; -using FISClientConfiguration = Aws::Client::GenericClientConfiguration; -using FISBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_FIS_API FISBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~FISBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const FISClientConfiguration& config); + virtual void SetFromClientConfiguration(const FISClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const FISClientConfiguration& config); +}; /** * The type for the FIS Client Endpoint Provider. @@ -32,6 +41,22 @@ using FISEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace FIS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_FIS_EXTERN template class AWS_FIS_API Aws::Endpoint::EndpointProviderBase< + FIS::Endpoint::FISClientConfiguration, FIS::Endpoint::FISBuiltInParameters, FIS::Endpoint::FISClientContextParameters>; + +AWS_FIS_EXTERN template class AWS_FIS_API Aws::Endpoint::BDDEndpointProvider< + FIS::Endpoint::FISClientConfiguration, FIS::Endpoint::FISBuiltInParameters, FIS::Endpoint::FISClientContextParameters>; +} // namespace Endpoint + +namespace FIS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISServiceClientModel.h b/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISServiceClientModel.h index 8f63a8a87815..5e39a3a24125 100644 --- a/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-fis/include/aws/fis/FISServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace FIS { -using FISClientConfiguration = Aws::Client::GenericClientConfiguration; using FISEndpointProviderBase = Aws::FIS::Endpoint::FISEndpointProviderBase; using FISEndpointProvider = Aws::FIS::Endpoint::FISEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-fis/source/FISClient.cpp b/generated/src/aws-cpp-sdk-fis/source/FISClient.cpp index b6924220d215..9480c70414e7 100644 --- a/generated/src/aws-cpp-sdk-fis/source/FISClient.cpp +++ b/generated/src/aws-cpp-sdk-fis/source/FISClient.cpp @@ -101,41 +101,6 @@ FISClient::FISClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -FISClient::FISClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FISClient::FISClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FISClient::FISClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ FISClient::~FISClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& FISClient::accessEndpointProvider() { return m_endpointProvider; } @@ -153,12 +118,7 @@ void FISClient::init(const FIS::FISClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "fis"); -} - -void FISClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } FISClient::InvokeOperationOutcome FISClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-fis/source/FISClientConfiguration.cpp b/generated/src/aws-cpp-sdk-fis/source/FISClientConfiguration.cpp new file mode 100644 index 000000000000..dd1a45a0d42c --- /dev/null +++ b/generated/src/aws-cpp-sdk-fis/source/FISClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace FIS { + +void FISClientConfiguration::LoadFISSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +FISClientConfiguration::FISClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadFISSpecificConfig(this->profileName); +} + +FISClientConfiguration::FISClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadFISSpecificConfig(Aws::String(inputProfileName)); +} + +FISClientConfiguration::FISClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadFISSpecificConfig(this->profileName); +} + +FISClientConfiguration::FISClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadFISSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const FISClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace FIS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fis/source/FISEndpointProvider.cpp b/generated/src/aws-cpp-sdk-fis/source/FISEndpointProvider.cpp index d47099fd6ca0..e38c756b39fb 100644 --- a/generated/src/aws-cpp-sdk-fis/source/FISEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-fis/source/FISEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_FIS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace FIS { namespace Endpoint { FISEndpointProvider::FISEndpointProvider() : FISDefaultEpProviderBase(Aws::FIS::FISEndpointRules::GetRulesBlob(), Aws::FIS::FISEndpointRules::RulesBlobSize) {} +void FISBuiltInParameters::SetFromClientConfiguration(const FISClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void FISBuiltInParameters::SetFromClientConfiguration(const FISClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void FISBuiltInParameters::SetServiceSpecificParameters(const FISClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace FIS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSClient.h b/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSClient.h index 78f1da63250a..99c2de999a66 100644 --- a/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSClient.h +++ b/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSClient.h @@ -60,27 +60,6 @@ class AWS_FMS_API FMSClient : public Aws::Client::AWSRpcV2CborClient, std::shared_ptr endpointProvider = nullptr, const Aws::FMS::FMSClientConfiguration& clientConfiguration = Aws::FMS::FMSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - FMSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - FMSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - FMSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~FMSClient(); /** @@ -1315,7 +1294,6 @@ class AWS_FMS_API FMSClient : public Aws::Client::AWSRpcV2CborClient, return SubmitAsync(&FMSClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSClientConfiguration.h b/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSClientConfiguration.h new file mode 100644 index 000000000000..adbd0c479c34 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace FMS { +struct AWS_FMS_API FMSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + FMSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FMSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FMSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit FMSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadFMSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_FMS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const FMSClientConfiguration& config); +} // namespace FMS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSEndpointProvider.h b/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSEndpointProvider.h index 12610528e705..6915f895c9be 100644 --- a/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace FMS { namespace Endpoint { +using FMSClientConfiguration = Aws::FMS::FMSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using FMSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using FMSClientConfiguration = Aws::Client::GenericClientConfiguration; -using FMSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_FMS_API FMSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~FMSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const FMSClientConfiguration& config); + virtual void SetFromClientConfiguration(const FMSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const FMSClientConfiguration& config); +}; /** * The type for the FMS Client Endpoint Provider. @@ -32,6 +41,22 @@ using FMSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace FMS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_FMS_EXTERN template class AWS_FMS_API Aws::Endpoint::EndpointProviderBase< + FMS::Endpoint::FMSClientConfiguration, FMS::Endpoint::FMSBuiltInParameters, FMS::Endpoint::FMSClientContextParameters>; + +AWS_FMS_EXTERN template class AWS_FMS_API Aws::Endpoint::BDDEndpointProvider< + FMS::Endpoint::FMSClientConfiguration, FMS::Endpoint::FMSBuiltInParameters, FMS::Endpoint::FMSClientContextParameters>; +} // namespace Endpoint + +namespace FMS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSServiceClientModel.h b/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSServiceClientModel.h index 6d1343f16b4e..37c7b341b827 100644 --- a/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSServiceClientModel.h @@ -89,7 +89,6 @@ class RetryStrategy; } // namespace Client namespace FMS { -using FMSClientConfiguration = Aws::Client::GenericClientConfiguration; using FMSEndpointProviderBase = Aws::FMS::Endpoint::FMSEndpointProviderBase; using FMSEndpointProvider = Aws::FMS::Endpoint::FMSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-fms/source/FMSClient.cpp b/generated/src/aws-cpp-sdk-fms/source/FMSClient.cpp index 3b4d86c9d47f..e5c2d812d7b1 100644 --- a/generated/src/aws-cpp-sdk-fms/source/FMSClient.cpp +++ b/generated/src/aws-cpp-sdk-fms/source/FMSClient.cpp @@ -117,41 +117,6 @@ FMSClient::FMSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -FMSClient::FMSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FMSClient::FMSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FMSClient::FMSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ FMSClient::~FMSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& FMSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -169,12 +134,7 @@ void FMSClient::init(const FMS::FMSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "fms"); -} - -void FMSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } FMSClient::InvokeOperationOutcome FMSClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-fms/source/FMSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-fms/source/FMSClientConfiguration.cpp new file mode 100644 index 000000000000..767f54e10b15 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fms/source/FMSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace FMS { + +void FMSClientConfiguration::LoadFMSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +FMSClientConfiguration::FMSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadFMSSpecificConfig(this->profileName); +} + +FMSClientConfiguration::FMSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadFMSSpecificConfig(Aws::String(inputProfileName)); +} + +FMSClientConfiguration::FMSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadFMSSpecificConfig(this->profileName); +} + +FMSClientConfiguration::FMSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadFMSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const FMSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace FMS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fms/source/FMSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-fms/source/FMSEndpointProvider.cpp index 817f644955c5..93a2acb34ba2 100644 --- a/generated/src/aws-cpp-sdk-fms/source/FMSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-fms/source/FMSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_FMS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace FMS { namespace Endpoint { FMSEndpointProvider::FMSEndpointProvider() : FMSDefaultEpProviderBase(Aws::FMS::FMSEndpointRules::GetRulesBlob(), Aws::FMS::FMSEndpointRules::RulesBlobSize) {} +void FMSBuiltInParameters::SetFromClientConfiguration(const FMSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void FMSBuiltInParameters::SetFromClientConfiguration(const FMSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void FMSBuiltInParameters::SetServiceSpecificParameters(const FMSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace FMS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceClient.h b/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceClient.h index af4a0d2b2a00..a3037025fe4d 100644 --- a/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceClient.h +++ b/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceClient.h @@ -56,27 +56,6 @@ class AWS_FORECASTSERVICE_API ForecastServiceClient : public Aws::Client::AWSJso const Aws::ForecastService::ForecastServiceClientConfiguration& clientConfiguration = Aws::ForecastService::ForecastServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ForecastServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ForecastServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ForecastServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ForecastServiceClient(); /** @@ -2267,7 +2246,6 @@ class AWS_FORECASTSERVICE_API ForecastServiceClient : public Aws::Client::AWSJso return SubmitAsync(&ForecastServiceClient::UpdateDatasetGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceClientConfiguration.h new file mode 100644 index 000000000000..a0291f21cb9e --- /dev/null +++ b/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ForecastService { +struct AWS_FORECASTSERVICE_API ForecastServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ForecastServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ForecastServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ForecastServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ForecastServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadForecastServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_FORECASTSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ForecastServiceClientConfiguration& config); +} // namespace ForecastService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceEndpointProvider.h index 04e29d59b9b8..5299a2ec7fa8 100644 --- a/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ForecastService { namespace Endpoint { +using ForecastServiceClientConfiguration = Aws::ForecastService::ForecastServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ForecastServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ForecastServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using ForecastServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_FORECASTSERVICE_API ForecastServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ForecastServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ForecastServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const ForecastServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ForecastServiceClientConfiguration& config); +}; /** * The type for the ForecastService Client Endpoint Provider. @@ -34,6 +43,24 @@ using ForecastServiceEndpointProviderBase = using ForecastServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ForecastService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_FORECASTSERVICE_EXTERN template class AWS_FORECASTSERVICE_API Aws::Endpoint::EndpointProviderBase< + ForecastService::Endpoint::ForecastServiceClientConfiguration, ForecastService::Endpoint::ForecastServiceBuiltInParameters, + ForecastService::Endpoint::ForecastServiceClientContextParameters>; + +AWS_FORECASTSERVICE_EXTERN template class AWS_FORECASTSERVICE_API Aws::Endpoint::BDDEndpointProvider< + ForecastService::Endpoint::ForecastServiceClientConfiguration, ForecastService::Endpoint::ForecastServiceBuiltInParameters, + ForecastService::Endpoint::ForecastServiceClientContextParameters>; +} // namespace Endpoint + +namespace ForecastService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceServiceClientModel.h index 020940cf9e01..f68ec0053166 100644 --- a/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceServiceClientModel.h @@ -107,7 +107,6 @@ class RetryStrategy; } // namespace Client namespace ForecastService { -using ForecastServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using ForecastServiceEndpointProviderBase = Aws::ForecastService::Endpoint::ForecastServiceEndpointProviderBase; using ForecastServiceEndpointProvider = Aws::ForecastService::Endpoint::ForecastServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceClient.cpp b/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceClient.cpp index ddc0edbf0e21..5920575e1326 100644 --- a/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceClient.cpp @@ -144,41 +144,6 @@ ForecastServiceClient::ForecastServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ForecastServiceClient::ForecastServiceClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ForecastServiceClient::ForecastServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ForecastServiceClient::~ForecastServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ForecastServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -196,12 +161,7 @@ void ForecastServiceClient::init(const ForecastService::ForecastServiceClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "forecast"); -} - -void ForecastServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ForecastServiceClient::InvokeOperationOutcome ForecastServiceClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceClientConfiguration.cpp new file mode 100644 index 000000000000..6f4d663042d0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ForecastService { + +void ForecastServiceClientConfiguration::LoadForecastServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ForecastServiceClientConfiguration::ForecastServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadForecastServiceSpecificConfig(this->profileName); +} + +ForecastServiceClientConfiguration::ForecastServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadForecastServiceSpecificConfig(Aws::String(inputProfileName)); +} + +ForecastServiceClientConfiguration::ForecastServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadForecastServiceSpecificConfig(this->profileName); +} + +ForecastServiceClientConfiguration::ForecastServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadForecastServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ForecastServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ForecastService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceEndpointProvider.cpp index e4ad96b15487..8b9635790de7 100644 --- a/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-forecast/source/ForecastServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_FORECASTSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ForecastService { namespace Endpoint { ForecastServiceEndpointProvider::ForecastServiceEndpointProvider() : ForecastServiceDefaultEpProviderBase(Aws::ForecastService::ForecastServiceEndpointRules::GetRulesBlob(), Aws::ForecastService::ForecastServiceEndpointRules::RulesBlobSize) {} +void ForecastServiceBuiltInParameters::SetFromClientConfiguration(const ForecastServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ForecastServiceBuiltInParameters::SetFromClientConfiguration(const ForecastServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ForecastServiceBuiltInParameters::SetServiceSpecificParameters(const ForecastServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ForecastService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceClient.h b/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceClient.h index 57bf2f9ba144..33450ae1e092 100644 --- a/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceClient.h +++ b/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceClient.h @@ -57,27 +57,6 @@ class AWS_FORECASTQUERYSERVICE_API ForecastQueryServiceClient const Aws::ForecastQueryService::ForecastQueryServiceClientConfiguration& clientConfiguration = Aws::ForecastQueryService::ForecastQueryServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ForecastQueryServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ForecastQueryServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ForecastQueryServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ForecastQueryServiceClient(); /** @@ -142,7 +121,6 @@ class AWS_FORECASTQUERYSERVICE_API ForecastQueryServiceClient return SubmitAsync(&ForecastQueryServiceClient::QueryWhatIfForecast, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceClientConfiguration.h new file mode 100644 index 000000000000..e08408c4c31d --- /dev/null +++ b/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ForecastQueryService { +struct AWS_FORECASTQUERYSERVICE_API ForecastQueryServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ForecastQueryServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ForecastQueryServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ForecastQueryServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ForecastQueryServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadForecastQueryServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_FORECASTQUERYSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ForecastQueryServiceClientConfiguration& config); +} // namespace ForecastQueryService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceEndpointProvider.h index a22e5daeaa2c..0d5989f231ed 100644 --- a/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ForecastQueryService { namespace Endpoint { +using ForecastQueryServiceClientConfiguration = Aws::ForecastQueryService::ForecastQueryServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ForecastQueryServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ForecastQueryServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using ForecastQueryServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_FORECASTQUERYSERVICE_API ForecastQueryServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ForecastQueryServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ForecastQueryServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const ForecastQueryServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ForecastQueryServiceClientConfiguration& config); +}; /** * The type for the ForecastQueryService Client Endpoint Provider. @@ -36,6 +45,26 @@ using ForecastQueryServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ForecastQueryService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_FORECASTQUERYSERVICE_EXTERN template class AWS_FORECASTQUERYSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_FORECASTQUERYSERVICE_EXTERN template class AWS_FORECASTQUERYSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ForecastQueryService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceServiceClientModel.h index 219ccc5acf0c..d9f47a6915f2 100644 --- a/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace ForecastQueryService { -using ForecastQueryServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using ForecastQueryServiceEndpointProviderBase = Aws::ForecastQueryService::Endpoint::ForecastQueryServiceEndpointProviderBase; using ForecastQueryServiceEndpointProvider = Aws::ForecastQueryService::Endpoint::ForecastQueryServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceClient.cpp b/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceClient.cpp index f340141bcc87..37e9505cb575 100644 --- a/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceClient.cpp @@ -85,42 +85,6 @@ ForecastQueryServiceClient::ForecastQueryServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ForecastQueryServiceClient::ForecastQueryServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ForecastQueryServiceClient::ForecastQueryServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ForecastQueryServiceClient::ForecastQueryServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ForecastQueryServiceClient::~ForecastQueryServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ForecastQueryServiceClient::accessEndpointProvider() { @@ -140,12 +104,7 @@ void ForecastQueryServiceClient::init(const ForecastQueryService::ForecastQueryS AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "forecast"); -} - -void ForecastQueryServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ForecastQueryServiceClient::InvokeOperationOutcome ForecastQueryServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceClientConfiguration.cpp new file mode 100644 index 000000000000..13e159bdd12f --- /dev/null +++ b/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ForecastQueryService { + +void ForecastQueryServiceClientConfiguration::LoadForecastQueryServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ForecastQueryServiceClientConfiguration::ForecastQueryServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadForecastQueryServiceSpecificConfig(this->profileName); +} + +ForecastQueryServiceClientConfiguration::ForecastQueryServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadForecastQueryServiceSpecificConfig(Aws::String(inputProfileName)); +} + +ForecastQueryServiceClientConfiguration::ForecastQueryServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadForecastQueryServiceSpecificConfig(this->profileName); +} + +ForecastQueryServiceClientConfiguration::ForecastQueryServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadForecastQueryServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ForecastQueryServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ForecastQueryService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceEndpointProvider.cpp index 109a54521f63..14ba495e00dd 100644 --- a/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_FORECASTQUERYSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ForecastQueryService { namespace Endpoint { ForecastQueryServiceEndpointProvider::ForecastQueryServiceEndpointProvider() : ForecastQueryServiceDefaultEpProviderBase(Aws::ForecastQueryService::ForecastQueryServiceEndpointRules::GetRulesBlob(), Aws::ForecastQueryService::ForecastQueryServiceEndpointRules::RulesBlobSize) {} +void ForecastQueryServiceBuiltInParameters::SetFromClientConfiguration(const ForecastQueryServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ForecastQueryServiceBuiltInParameters::SetFromClientConfiguration(const ForecastQueryServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ForecastQueryServiceBuiltInParameters::SetServiceSpecificParameters(const ForecastQueryServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ForecastQueryService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorClient.h b/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorClient.h index 7b9a40911a5b..24667d5f9d04 100644 --- a/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorClient.h +++ b/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorClient.h @@ -73,27 +73,6 @@ class AWS_FRAUDDETECTOR_API FraudDetectorClient : public Aws::Client::AWSJsonCli const Aws::FraudDetector::FraudDetectorClientConfiguration& clientConfiguration = Aws::FraudDetector::FraudDetectorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - FraudDetectorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - FraudDetectorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - FraudDetectorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~FraudDetectorClient(); /** @@ -2178,7 +2157,6 @@ class AWS_FRAUDDETECTOR_API FraudDetectorClient : public Aws::Client::AWSJsonCli return SubmitAsync(&FraudDetectorClient::UpdateVariable, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorClientConfiguration.h b/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorClientConfiguration.h new file mode 100644 index 000000000000..e57368c90a6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace FraudDetector { +struct AWS_FRAUDDETECTOR_API FraudDetectorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + FraudDetectorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FraudDetectorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FraudDetectorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit FraudDetectorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadFraudDetectorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_FRAUDDETECTOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const FraudDetectorClientConfiguration& config); +} // namespace FraudDetector +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorEndpointProvider.h b/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorEndpointProvider.h index 853e078cbfca..c723f1cb06fb 100644 --- a/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace FraudDetector { namespace Endpoint { +using FraudDetectorClientConfiguration = Aws::FraudDetector::FraudDetectorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using FraudDetectorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using FraudDetectorClientConfiguration = Aws::Client::GenericClientConfiguration; -using FraudDetectorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_FRAUDDETECTOR_API FraudDetectorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~FraudDetectorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const FraudDetectorClientConfiguration& config); + virtual void SetFromClientConfiguration(const FraudDetectorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const FraudDetectorClientConfiguration& config); +}; /** * The type for the FraudDetector Client Endpoint Provider. @@ -34,6 +43,24 @@ using FraudDetectorEndpointProviderBase = using FraudDetectorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace FraudDetector + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_FRAUDDETECTOR_EXTERN template class AWS_FRAUDDETECTOR_API Aws::Endpoint::EndpointProviderBase< + FraudDetector::Endpoint::FraudDetectorClientConfiguration, FraudDetector::Endpoint::FraudDetectorBuiltInParameters, + FraudDetector::Endpoint::FraudDetectorClientContextParameters>; + +AWS_FRAUDDETECTOR_EXTERN template class AWS_FRAUDDETECTOR_API Aws::Endpoint::BDDEndpointProvider< + FraudDetector::Endpoint::FraudDetectorClientConfiguration, FraudDetector::Endpoint::FraudDetectorBuiltInParameters, + FraudDetector::Endpoint::FraudDetectorClientContextParameters>; +} // namespace Endpoint + +namespace FraudDetector { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorServiceClientModel.h b/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorServiceClientModel.h index 2453926573f5..f3812a9e3a4b 100644 --- a/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorServiceClientModel.h @@ -133,7 +133,6 @@ class RetryStrategy; } // namespace Client namespace FraudDetector { -using FraudDetectorClientConfiguration = Aws::Client::GenericClientConfiguration; using FraudDetectorEndpointProviderBase = Aws::FraudDetector::Endpoint::FraudDetectorEndpointProviderBase; using FraudDetectorEndpointProvider = Aws::FraudDetector::Endpoint::FraudDetectorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorClient.cpp b/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorClient.cpp index 9c331966d14b..699d177ee72b 100644 --- a/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorClient.cpp +++ b/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorClient.cpp @@ -151,41 +151,6 @@ FraudDetectorClient::FraudDetectorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FraudDetectorClient::FraudDetectorClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FraudDetectorClient::FraudDetectorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ FraudDetectorClient::~FraudDetectorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& FraudDetectorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -203,12 +168,7 @@ void FraudDetectorClient::init(const FraudDetector::FraudDetectorClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "frauddetector"); -} - -void FraudDetectorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } FraudDetectorClient::InvokeOperationOutcome FraudDetectorClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorClientConfiguration.cpp new file mode 100644 index 000000000000..a8867dba6c28 --- /dev/null +++ b/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace FraudDetector { + +void FraudDetectorClientConfiguration::LoadFraudDetectorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +FraudDetectorClientConfiguration::FraudDetectorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadFraudDetectorSpecificConfig(this->profileName); +} + +FraudDetectorClientConfiguration::FraudDetectorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadFraudDetectorSpecificConfig(Aws::String(inputProfileName)); +} + +FraudDetectorClientConfiguration::FraudDetectorClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadFraudDetectorSpecificConfig(this->profileName); +} + +FraudDetectorClientConfiguration::FraudDetectorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadFraudDetectorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const FraudDetectorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace FraudDetector +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorEndpointProvider.cpp index aedcf155570e..4f5b2bb88dab 100644 --- a/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_FRAUDDETECTOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace FraudDetector { namespace Endpoint { FraudDetectorEndpointProvider::FraudDetectorEndpointProvider() : FraudDetectorDefaultEpProviderBase(Aws::FraudDetector::FraudDetectorEndpointRules::GetRulesBlob(), Aws::FraudDetector::FraudDetectorEndpointRules::RulesBlobSize) {} +void FraudDetectorBuiltInParameters::SetFromClientConfiguration(const FraudDetectorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void FraudDetectorBuiltInParameters::SetFromClientConfiguration(const FraudDetectorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void FraudDetectorBuiltInParameters::SetServiceSpecificParameters(const FraudDetectorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace FraudDetector } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClient.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClient.h index bcd29ef275e6..60e68894b3dd 100644 --- a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClient.h +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClient.h @@ -59,27 +59,6 @@ class AWS_FREETIER_API FreeTierClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::FreeTier::FreeTierClientConfiguration& clientConfiguration = Aws::FreeTier::FreeTierClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - FreeTierClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - FreeTierClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - FreeTierClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~FreeTierClient(); /** @@ -220,7 +199,6 @@ class AWS_FREETIER_API FreeTierClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&FreeTierClient::UpgradeAccountPlan, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClientConfiguration.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClientConfiguration.h new file mode 100644 index 000000000000..47edb10b6f2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace FreeTier { +struct AWS_FREETIER_API FreeTierClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + FreeTierClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FreeTierClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FreeTierClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit FreeTierClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadFreeTierSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_FREETIER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const FreeTierClientConfiguration& config); +} // namespace FreeTier +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointProvider.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointProvider.h index e8732c1d681c..991c545206a1 100644 --- a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace FreeTier { namespace Endpoint { +using FreeTierClientConfiguration = Aws::FreeTier::FreeTierClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using FreeTierClientContextParameters = Aws::Endpoint::ClientContextParameters; -using FreeTierClientConfiguration = Aws::Client::GenericClientConfiguration; -using FreeTierBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_FREETIER_API FreeTierBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~FreeTierBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const FreeTierClientConfiguration& config); + virtual void SetFromClientConfiguration(const FreeTierClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const FreeTierClientConfiguration& config); +}; /** * The type for the FreeTier Client Endpoint Provider. @@ -34,6 +43,24 @@ using FreeTierEndpointProviderBase = using FreeTierDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace FreeTier + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_FREETIER_EXTERN template class AWS_FREETIER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_FREETIER_EXTERN template class AWS_FREETIER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace FreeTier { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierServiceClientModel.h b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierServiceClientModel.h index b06a35dfc8dd..749b25d25f19 100644 --- a/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierServiceClientModel.h @@ -54,7 +54,6 @@ class RetryStrategy; } // namespace Client namespace FreeTier { -using FreeTierClientConfiguration = Aws::Client::GenericClientConfiguration; using FreeTierEndpointProviderBase = Aws::FreeTier::Endpoint::FreeTierEndpointProviderBase; using FreeTierEndpointProvider = Aws::FreeTier::Endpoint::FreeTierEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierClient.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierClient.cpp index edc4df3c71e3..6d9d1945ecca 100644 --- a/generated/src/aws-cpp-sdk-freetier/source/FreeTierClient.cpp +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierClient.cpp @@ -82,41 +82,6 @@ FreeTierClient::FreeTierClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -FreeTierClient::FreeTierClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FreeTierClient::FreeTierClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FreeTierClient::FreeTierClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ FreeTierClient::~FreeTierClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& FreeTierClient::accessEndpointProvider() { return m_endpointProvider; } @@ -134,12 +99,7 @@ void FreeTierClient::init(const FreeTier::FreeTierClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "freetier"); -} - -void FreeTierClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } FreeTierClient::InvokeOperationOutcome FreeTierClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierClientConfiguration.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierClientConfiguration.cpp new file mode 100644 index 000000000000..9ae2eb727de1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace FreeTier { + +void FreeTierClientConfiguration::LoadFreeTierSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +FreeTierClientConfiguration::FreeTierClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadFreeTierSpecificConfig(this->profileName); +} + +FreeTierClientConfiguration::FreeTierClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadFreeTierSpecificConfig(Aws::String(inputProfileName)); +} + +FreeTierClientConfiguration::FreeTierClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadFreeTierSpecificConfig(this->profileName); +} + +FreeTierClientConfiguration::FreeTierClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadFreeTierSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const FreeTierClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace FreeTier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointProvider.cpp b/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointProvider.cpp index aa4ad15fe694..73e0044b66d7 100644 --- a/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-freetier/source/FreeTierEndpointProvider.cpp @@ -7,12 +7,42 @@ #include namespace Aws { +#ifndef AWS_FREETIER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace FreeTier { namespace Endpoint { FreeTierEndpointProvider::FreeTierEndpointProvider() : FreeTierDefaultEpProviderBase(Aws::FreeTier::FreeTierEndpointRules::GetRulesBlob(), Aws::FreeTier::FreeTierEndpointRules::RulesBlobSize) {} +void FreeTierBuiltInParameters::SetFromClientConfiguration(const FreeTierClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void FreeTierBuiltInParameters::SetFromClientConfiguration(const FreeTierClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void FreeTierBuiltInParameters::SetServiceSpecificParameters(const FreeTierClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace FreeTier } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h index c10366bfab98..23b1e550584a 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClient.h @@ -53,27 +53,6 @@ class AWS_FSX_API FSxClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::FSx::FSxClientConfiguration& clientConfiguration = Aws::FSx::FSxClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - FSxClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - FSxClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - FSxClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~FSxClient(); /** @@ -1906,7 +1885,6 @@ class AWS_FSX_API FSxClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&FSxClient::UpdateVolume, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClientConfiguration.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClientConfiguration.h new file mode 100644 index 000000000000..35806cb1774a --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace FSx { +struct AWS_FSX_API FSxClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + FSxClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FSxClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + FSxClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit FSxClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadFSxSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_FSX_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const FSxClientConfiguration& config); +} // namespace FSx +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxEndpointProvider.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxEndpointProvider.h index ca3fb9e1d2a3..caae6ada824a 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace FSx { namespace Endpoint { +using FSxClientConfiguration = Aws::FSx::FSxClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using FSxClientContextParameters = Aws::Endpoint::ClientContextParameters; -using FSxClientConfiguration = Aws::Client::GenericClientConfiguration; -using FSxBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_FSX_API FSxBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~FSxBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const FSxClientConfiguration& config); + virtual void SetFromClientConfiguration(const FSxClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const FSxClientConfiguration& config); +}; /** * The type for the FSx Client Endpoint Provider. @@ -32,6 +41,22 @@ using FSxEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace FSx + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_FSX_EXTERN template class AWS_FSX_API Aws::Endpoint::EndpointProviderBase< + FSx::Endpoint::FSxClientConfiguration, FSx::Endpoint::FSxBuiltInParameters, FSx::Endpoint::FSxClientContextParameters>; + +AWS_FSX_EXTERN template class AWS_FSX_API Aws::Endpoint::BDDEndpointProvider< + FSx::Endpoint::FSxClientConfiguration, FSx::Endpoint::FSxBuiltInParameters, FSx::Endpoint::FSxClientContextParameters>; +} // namespace Endpoint + +namespace FSx { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxServiceClientModel.h b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxServiceClientModel.h index 23603ef19dab..c2a772b91a3e 100644 --- a/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxServiceClientModel.h @@ -106,7 +106,6 @@ class RetryStrategy; } // namespace Client namespace FSx { -using FSxClientConfiguration = Aws::Client::GenericClientConfiguration; using FSxEndpointProviderBase = Aws::FSx::Endpoint::FSxEndpointProviderBase; using FSxEndpointProvider = Aws::FSx::Endpoint::FSxEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-fsx/source/FSxClient.cpp b/generated/src/aws-cpp-sdk-fsx/source/FSxClient.cpp index d5a43bca91e7..8e1f8b38055c 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/FSxClient.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/FSxClient.cpp @@ -123,41 +123,6 @@ FSxClient::FSxClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -FSxClient::FSxClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FSxClient::FSxClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -FSxClient::FSxClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ FSxClient::~FSxClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& FSxClient::accessEndpointProvider() { return m_endpointProvider; } @@ -175,12 +140,7 @@ void FSxClient::init(const FSx::FSxClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "fsx"); -} - -void FSxClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } FSxClient::InvokeOperationOutcome FSxClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-fsx/source/FSxClientConfiguration.cpp b/generated/src/aws-cpp-sdk-fsx/source/FSxClientConfiguration.cpp new file mode 100644 index 000000000000..553c3731e392 --- /dev/null +++ b/generated/src/aws-cpp-sdk-fsx/source/FSxClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace FSx { + +void FSxClientConfiguration::LoadFSxSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +FSxClientConfiguration::FSxClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadFSxSpecificConfig(this->profileName); +} + +FSxClientConfiguration::FSxClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadFSxSpecificConfig(Aws::String(inputProfileName)); +} + +FSxClientConfiguration::FSxClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadFSxSpecificConfig(this->profileName); +} + +FSxClientConfiguration::FSxClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadFSxSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const FSxClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace FSx +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-fsx/source/FSxEndpointProvider.cpp b/generated/src/aws-cpp-sdk-fsx/source/FSxEndpointProvider.cpp index fe6e16360e20..e48ae371eb94 100644 --- a/generated/src/aws-cpp-sdk-fsx/source/FSxEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-fsx/source/FSxEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_FSX_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace FSx { namespace Endpoint { FSxEndpointProvider::FSxEndpointProvider() : FSxDefaultEpProviderBase(Aws::FSx::FSxEndpointRules::GetRulesBlob(), Aws::FSx::FSxEndpointRules::RulesBlobSize) {} +void FSxBuiltInParameters::SetFromClientConfiguration(const FSxClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void FSxBuiltInParameters::SetFromClientConfiguration(const FSxClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void FSxBuiltInParameters::SetServiceSpecificParameters(const FSxClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace FSx } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftClient.h b/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftClient.h index 17d60dc6e31e..a26b4f9aa5dc 100644 --- a/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftClient.h +++ b/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftClient.h @@ -90,27 +90,6 @@ class AWS_GAMELIFT_API GameLiftClient : public Aws::Client::AWSRpcV2CborClient, std::shared_ptr endpointProvider = nullptr, const Aws::GameLift::GameLiftClientConfiguration& clientConfiguration = Aws::GameLift::GameLiftClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GameLiftClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GameLiftClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GameLiftClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GameLiftClient(); /** @@ -5446,7 +5425,6 @@ class AWS_GAMELIFT_API GameLiftClient : public Aws::Client::AWSRpcV2CborClient, return SubmitAsync(&GameLiftClient::ValidateMatchmakingRuleSet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftClientConfiguration.h b/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftClientConfiguration.h new file mode 100644 index 000000000000..677bc9c622e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GameLift { +struct AWS_GAMELIFT_API GameLiftClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GameLiftClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GameLiftClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GameLiftClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GameLiftClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGameLiftSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GAMELIFT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GameLiftClientConfiguration& config); +} // namespace GameLift +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftEndpointProvider.h b/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftEndpointProvider.h index a7a2395d8461..f777c6f74482 100644 --- a/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GameLift { namespace Endpoint { +using GameLiftClientConfiguration = Aws::GameLift::GameLiftClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GameLiftClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GameLiftClientConfiguration = Aws::Client::GenericClientConfiguration; -using GameLiftBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GAMELIFT_API GameLiftBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GameLiftBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GameLiftClientConfiguration& config); + virtual void SetFromClientConfiguration(const GameLiftClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GameLiftClientConfiguration& config); +}; /** * The type for the GameLift Client Endpoint Provider. @@ -34,6 +43,24 @@ using GameLiftEndpointProviderBase = using GameLiftDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GameLift + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GAMELIFT_EXTERN template class AWS_GAMELIFT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_GAMELIFT_EXTERN template class AWS_GAMELIFT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace GameLift { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftServiceClientModel.h b/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftServiceClientModel.h index 799b90810d17..2b762ae74bf7 100644 --- a/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftServiceClientModel.h @@ -185,7 +185,6 @@ class RetryStrategy; } // namespace Client namespace GameLift { -using GameLiftClientConfiguration = Aws::Client::GenericClientConfiguration; using GameLiftEndpointProviderBase = Aws::GameLift::Endpoint::GameLiftEndpointProviderBase; using GameLiftEndpointProvider = Aws::GameLift::Endpoint::GameLiftEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-gamelift/source/GameLiftClient.cpp b/generated/src/aws-cpp-sdk-gamelift/source/GameLiftClient.cpp index aeaff80474ff..8b196b8d4969 100644 --- a/generated/src/aws-cpp-sdk-gamelift/source/GameLiftClient.cpp +++ b/generated/src/aws-cpp-sdk-gamelift/source/GameLiftClient.cpp @@ -197,41 +197,6 @@ GameLiftClient::GameLiftClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -GameLiftClient::GameLiftClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GameLiftClient::GameLiftClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GameLiftClient::GameLiftClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GameLiftClient::~GameLiftClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GameLiftClient::accessEndpointProvider() { return m_endpointProvider; } @@ -249,12 +214,7 @@ void GameLiftClient::init(const GameLift::GameLiftClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "gamelift"); -} - -void GameLiftClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GameLiftClient::InvokeOperationOutcome GameLiftClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-gamelift/source/GameLiftClientConfiguration.cpp b/generated/src/aws-cpp-sdk-gamelift/source/GameLiftClientConfiguration.cpp new file mode 100644 index 000000000000..abe66dc69e5b --- /dev/null +++ b/generated/src/aws-cpp-sdk-gamelift/source/GameLiftClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GameLift { + +void GameLiftClientConfiguration::LoadGameLiftSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GameLiftClientConfiguration::GameLiftClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGameLiftSpecificConfig(this->profileName); +} + +GameLiftClientConfiguration::GameLiftClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGameLiftSpecificConfig(Aws::String(inputProfileName)); +} + +GameLiftClientConfiguration::GameLiftClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGameLiftSpecificConfig(this->profileName); +} + +GameLiftClientConfiguration::GameLiftClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGameLiftSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GameLiftClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GameLift +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-gamelift/source/GameLiftEndpointProvider.cpp b/generated/src/aws-cpp-sdk-gamelift/source/GameLiftEndpointProvider.cpp index c48bd82a8dcf..11723a58e080 100644 --- a/generated/src/aws-cpp-sdk-gamelift/source/GameLiftEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-gamelift/source/GameLiftEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_GAMELIFT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GameLift { namespace Endpoint { GameLiftEndpointProvider::GameLiftEndpointProvider() : GameLiftDefaultEpProviderBase(Aws::GameLift::GameLiftEndpointRules::GetRulesBlob(), Aws::GameLift::GameLiftEndpointRules::RulesBlobSize) {} +void GameLiftBuiltInParameters::SetFromClientConfiguration(const GameLiftClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GameLiftBuiltInParameters::SetFromClientConfiguration(const GameLiftClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GameLiftBuiltInParameters::SetServiceSpecificParameters(const GameLiftClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GameLift } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClient.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClient.h index 8b9bb6ce96fc..df2a7938dda1 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClient.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClient.h @@ -65,27 +65,6 @@ class AWS_GAMELIFTSTREAMS_API GameLiftStreamsClient : public Aws::Client::AWSJso const Aws::GameLiftStreams::GameLiftStreamsClientConfiguration& clientConfiguration = Aws::GameLiftStreams::GameLiftStreamsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GameLiftStreamsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GameLiftStreamsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GameLiftStreamsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GameLiftStreamsClient(); /** @@ -1229,7 +1208,6 @@ class AWS_GAMELIFTSTREAMS_API GameLiftStreamsClient : public Aws::Client::AWSJso return SubmitAsync(&GameLiftStreamsClient::UpdateStreamGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClientConfiguration.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClientConfiguration.h new file mode 100644 index 000000000000..0046c1792564 --- /dev/null +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GameLiftStreams { +struct AWS_GAMELIFTSTREAMS_API GameLiftStreamsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GameLiftStreamsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GameLiftStreamsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GameLiftStreamsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GameLiftStreamsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadGameLiftStreamsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GAMELIFTSTREAMS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GameLiftStreamsClientConfiguration& config); +} // namespace GameLiftStreams +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsEndpointProvider.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsEndpointProvider.h index 0b88c6e0cfd8..914721ac407e 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GameLiftStreams { namespace Endpoint { +using GameLiftStreamsClientConfiguration = Aws::GameLiftStreams::GameLiftStreamsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GameLiftStreamsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GameLiftStreamsClientConfiguration = Aws::Client::GenericClientConfiguration; -using GameLiftStreamsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GAMELIFTSTREAMS_API GameLiftStreamsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GameLiftStreamsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GameLiftStreamsClientConfiguration& config); + virtual void SetFromClientConfiguration(const GameLiftStreamsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GameLiftStreamsClientConfiguration& config); +}; /** * The type for the GameLiftStreams Client Endpoint Provider. @@ -34,6 +43,24 @@ using GameLiftStreamsEndpointProviderBase = using GameLiftStreamsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GameLiftStreams + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GAMELIFTSTREAMS_EXTERN template class AWS_GAMELIFTSTREAMS_API Aws::Endpoint::EndpointProviderBase< + GameLiftStreams::Endpoint::GameLiftStreamsClientConfiguration, GameLiftStreams::Endpoint::GameLiftStreamsBuiltInParameters, + GameLiftStreams::Endpoint::GameLiftStreamsClientContextParameters>; + +AWS_GAMELIFTSTREAMS_EXTERN template class AWS_GAMELIFTSTREAMS_API Aws::Endpoint::BDDEndpointProvider< + GameLiftStreams::Endpoint::GameLiftStreamsClientConfiguration, GameLiftStreams::Endpoint::GameLiftStreamsBuiltInParameters, + GameLiftStreams::Endpoint::GameLiftStreamsClientContextParameters>; +} // namespace Endpoint + +namespace GameLiftStreams { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsServiceClientModel.h b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsServiceClientModel.h index 7eb5f9e4ca28..fb1e022d59d3 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace GameLiftStreams { -using GameLiftStreamsClientConfiguration = Aws::Client::GenericClientConfiguration; using GameLiftStreamsEndpointProviderBase = Aws::GameLiftStreams::Endpoint::GameLiftStreamsEndpointProviderBase; using GameLiftStreamsEndpointProvider = Aws::GameLiftStreams::Endpoint::GameLiftStreamsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsClient.cpp b/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsClient.cpp index ab6b9c1c861d..bc593b86b3a4 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsClient.cpp +++ b/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsClient.cpp @@ -111,41 +111,6 @@ GameLiftStreamsClient::GameLiftStreamsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GameLiftStreamsClient::GameLiftStreamsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GameLiftStreamsClient::GameLiftStreamsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GameLiftStreamsClient::~GameLiftStreamsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GameLiftStreamsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -163,12 +128,7 @@ void GameLiftStreamsClient::init(const GameLiftStreams::GameLiftStreamsClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "gameliftstreams"); -} - -void GameLiftStreamsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GameLiftStreamsClient::InvokeOperationOutcome GameLiftStreamsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsClientConfiguration.cpp new file mode 100644 index 000000000000..1ad03a133ffa --- /dev/null +++ b/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GameLiftStreams { + +void GameLiftStreamsClientConfiguration::LoadGameLiftStreamsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GameLiftStreamsClientConfiguration::GameLiftStreamsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGameLiftStreamsSpecificConfig(this->profileName); +} + +GameLiftStreamsClientConfiguration::GameLiftStreamsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGameLiftStreamsSpecificConfig(Aws::String(inputProfileName)); +} + +GameLiftStreamsClientConfiguration::GameLiftStreamsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGameLiftStreamsSpecificConfig(this->profileName); +} + +GameLiftStreamsClientConfiguration::GameLiftStreamsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGameLiftStreamsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GameLiftStreamsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GameLiftStreams +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsEndpointProvider.cpp index 98e0b63d57c3..f7fc4259b287 100644 --- a/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_GAMELIFTSTREAMS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GameLiftStreams { namespace Endpoint { GameLiftStreamsEndpointProvider::GameLiftStreamsEndpointProvider() : GameLiftStreamsDefaultEpProviderBase(Aws::GameLiftStreams::GameLiftStreamsEndpointRules::GetRulesBlob(), Aws::GameLiftStreams::GameLiftStreamsEndpointRules::RulesBlobSize) {} +void GameLiftStreamsBuiltInParameters::SetFromClientConfiguration(const GameLiftStreamsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GameLiftStreamsBuiltInParameters::SetFromClientConfiguration(const GameLiftStreamsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GameLiftStreamsBuiltInParameters::SetServiceSpecificParameters(const GameLiftStreamsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace GameLiftStreams } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClient.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClient.h index ae1920ebab08..390627703661 100644 --- a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClient.h +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClient.h @@ -66,27 +66,6 @@ class AWS_GEOMAPS_API GeoMapsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::GeoMaps::GeoMapsClientConfiguration& clientConfiguration = Aws::GeoMaps::GeoMapsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GeoMapsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GeoMapsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GeoMapsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GeoMapsClient(); /** @@ -244,7 +223,6 @@ class AWS_GEOMAPS_API GeoMapsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&GeoMapsClient::GetTile, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClientConfiguration.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClientConfiguration.h new file mode 100644 index 000000000000..546ebf7144fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GeoMaps { +struct AWS_GEOMAPS_API GeoMapsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GeoMapsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GeoMapsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GeoMapsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GeoMapsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGeoMapsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GEOMAPS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GeoMapsClientConfiguration& config); +} // namespace GeoMaps +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointProvider.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointProvider.h index 12b0f5162e8d..a2a17a1a34c7 100644 --- a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GeoMaps { namespace Endpoint { +using GeoMapsClientConfiguration = Aws::GeoMaps::GeoMapsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GeoMapsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GeoMapsClientConfiguration = Aws::Client::GenericClientConfiguration; -using GeoMapsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GEOMAPS_API GeoMapsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GeoMapsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GeoMapsClientConfiguration& config); + virtual void SetFromClientConfiguration(const GeoMapsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GeoMapsClientConfiguration& config); +}; /** * The type for the GeoMaps Client Endpoint Provider. @@ -34,6 +43,24 @@ using GeoMapsEndpointProviderBase = using GeoMapsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GeoMaps + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GEOMAPS_EXTERN template class AWS_GEOMAPS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_GEOMAPS_EXTERN template class AWS_GEOMAPS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace GeoMaps { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsServiceClientModel.h b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsServiceClientModel.h index e005736d1bca..81c02346bf99 100644 --- a/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace GeoMaps { -using GeoMapsClientConfiguration = Aws::Client::GenericClientConfiguration; using GeoMapsEndpointProviderBase = Aws::GeoMaps::Endpoint::GeoMapsEndpointProviderBase; using GeoMapsEndpointProvider = Aws::GeoMaps::Endpoint::GeoMapsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClient.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClient.cpp index 5e6b1b2d028d..abf2bb525bb9 100644 --- a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClient.cpp +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClient.cpp @@ -82,41 +82,6 @@ GeoMapsClient::GeoMapsClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -GeoMapsClient::GeoMapsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GeoMapsClient::GeoMapsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GeoMapsClient::GeoMapsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GeoMapsClient::~GeoMapsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GeoMapsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -134,12 +99,7 @@ void GeoMapsClient::init(const GeoMaps::GeoMapsClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "geo-maps"); -} - -void GeoMapsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GeoMapsClient::InvokeOperationOutcome GeoMapsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClientConfiguration.cpp new file mode 100644 index 000000000000..d9b28cb5a450 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GeoMaps { + +void GeoMapsClientConfiguration::LoadGeoMapsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GeoMapsClientConfiguration::GeoMapsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGeoMapsSpecificConfig(this->profileName); +} + +GeoMapsClientConfiguration::GeoMapsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGeoMapsSpecificConfig(Aws::String(inputProfileName)); +} + +GeoMapsClientConfiguration::GeoMapsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGeoMapsSpecificConfig(this->profileName); +} + +GeoMapsClientConfiguration::GeoMapsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGeoMapsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GeoMapsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GeoMaps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointProvider.cpp index 69c22f78fcd2..c49522fd34df 100644 --- a/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_GEOMAPS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GeoMaps { namespace Endpoint { GeoMapsEndpointProvider::GeoMapsEndpointProvider() : GeoMapsDefaultEpProviderBase(Aws::GeoMaps::GeoMapsEndpointRules::GetRulesBlob(), Aws::GeoMaps::GeoMapsEndpointRules::RulesBlobSize) {} +void GeoMapsBuiltInParameters::SetFromClientConfiguration(const GeoMapsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GeoMapsBuiltInParameters::SetFromClientConfiguration(const GeoMapsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GeoMapsBuiltInParameters::SetServiceSpecificParameters(const GeoMapsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GeoMaps } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h index b7ace61fe83f..d111660c8656 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClient.h @@ -82,27 +82,6 @@ class AWS_GEOPLACES_API GeoPlacesClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::GeoPlaces::GeoPlacesClientConfiguration& clientConfiguration = Aws::GeoPlaces::GeoPlacesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GeoPlacesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GeoPlacesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GeoPlacesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GeoPlacesClient(); /** @@ -347,7 +326,6 @@ class AWS_GEOPLACES_API GeoPlacesClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&GeoPlacesClient::Suggest, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClientConfiguration.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClientConfiguration.h new file mode 100644 index 000000000000..3f010a90cbbf --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GeoPlaces { +struct AWS_GEOPLACES_API GeoPlacesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GeoPlacesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GeoPlacesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GeoPlacesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GeoPlacesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGeoPlacesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GEOPLACES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GeoPlacesClientConfiguration& config); +} // namespace GeoPlaces +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointProvider.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointProvider.h index 44f2be50642d..aba6e0122e79 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GeoPlaces { namespace Endpoint { +using GeoPlacesClientConfiguration = Aws::GeoPlaces::GeoPlacesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GeoPlacesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GeoPlacesClientConfiguration = Aws::Client::GenericClientConfiguration; -using GeoPlacesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GEOPLACES_API GeoPlacesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GeoPlacesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GeoPlacesClientConfiguration& config); + virtual void SetFromClientConfiguration(const GeoPlacesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GeoPlacesClientConfiguration& config); +}; /** * The type for the GeoPlaces Client Endpoint Provider. @@ -34,6 +43,24 @@ using GeoPlacesEndpointProviderBase = using GeoPlacesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GeoPlaces + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GEOPLACES_EXTERN template class AWS_GEOPLACES_API + Aws::Endpoint::EndpointProviderBase; + +AWS_GEOPLACES_EXTERN template class AWS_GEOPLACES_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace GeoPlaces { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesServiceClientModel.h b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesServiceClientModel.h index fbe956cbff74..776e44248511 100644 --- a/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesServiceClientModel.h @@ -55,7 +55,6 @@ class RetryStrategy; } // namespace Client namespace GeoPlaces { -using GeoPlacesClientConfiguration = Aws::Client::GenericClientConfiguration; using GeoPlacesEndpointProviderBase = Aws::GeoPlaces::Endpoint::GeoPlacesEndpointProviderBase; using GeoPlacesEndpointProvider = Aws::GeoPlaces::Endpoint::GeoPlacesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClient.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClient.cpp index 8a1d47cf5de9..ec455896f209 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClient.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClient.cpp @@ -84,41 +84,6 @@ GeoPlacesClient::GeoPlacesClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -GeoPlacesClient::GeoPlacesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GeoPlacesClient::GeoPlacesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GeoPlacesClient::GeoPlacesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GeoPlacesClient::~GeoPlacesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GeoPlacesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -136,12 +101,7 @@ void GeoPlacesClient::init(const GeoPlaces::GeoPlacesClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "geo-places"); -} - -void GeoPlacesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GeoPlacesClient::InvokeOperationOutcome GeoPlacesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClientConfiguration.cpp new file mode 100644 index 000000000000..b6e95eb49352 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GeoPlaces { + +void GeoPlacesClientConfiguration::LoadGeoPlacesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GeoPlacesClientConfiguration::GeoPlacesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGeoPlacesSpecificConfig(this->profileName); +} + +GeoPlacesClientConfiguration::GeoPlacesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGeoPlacesSpecificConfig(Aws::String(inputProfileName)); +} + +GeoPlacesClientConfiguration::GeoPlacesClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGeoPlacesSpecificConfig(this->profileName); +} + +GeoPlacesClientConfiguration::GeoPlacesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGeoPlacesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GeoPlacesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GeoPlaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointProvider.cpp index 2b31645008c5..385bf9c9cb92 100644 --- a/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_GEOPLACES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GeoPlaces { namespace Endpoint { GeoPlacesEndpointProvider::GeoPlacesEndpointProvider() : GeoPlacesDefaultEpProviderBase(Aws::GeoPlaces::GeoPlacesEndpointRules::GetRulesBlob(), Aws::GeoPlaces::GeoPlacesEndpointRules::RulesBlobSize) {} +void GeoPlacesBuiltInParameters::SetFromClientConfiguration(const GeoPlacesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GeoPlacesBuiltInParameters::SetFromClientConfiguration(const GeoPlacesClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GeoPlacesBuiltInParameters::SetServiceSpecificParameters(const GeoPlacesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GeoPlaces } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClient.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClient.h index 1e21767ab81a..6df2d6bde428 100644 --- a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClient.h +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClient.h @@ -67,27 +67,6 @@ class AWS_GEOROUTES_API GeoRoutesClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::GeoRoutes::GeoRoutesClientConfiguration& clientConfiguration = Aws::GeoRoutes::GeoRoutesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GeoRoutesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GeoRoutesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GeoRoutesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GeoRoutesClient(); /** @@ -255,7 +234,6 @@ class AWS_GEOROUTES_API GeoRoutesClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&GeoRoutesClient::SnapToRoads, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClientConfiguration.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClientConfiguration.h new file mode 100644 index 000000000000..59bcfa7a1fbc --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GeoRoutes { +struct AWS_GEOROUTES_API GeoRoutesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GeoRoutesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GeoRoutesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GeoRoutesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GeoRoutesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGeoRoutesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GEOROUTES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GeoRoutesClientConfiguration& config); +} // namespace GeoRoutes +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointProvider.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointProvider.h index a2a596bf400e..158687b4c41f 100644 --- a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GeoRoutes { namespace Endpoint { +using GeoRoutesClientConfiguration = Aws::GeoRoutes::GeoRoutesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GeoRoutesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GeoRoutesClientConfiguration = Aws::Client::GenericClientConfiguration; -using GeoRoutesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GEOROUTES_API GeoRoutesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GeoRoutesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GeoRoutesClientConfiguration& config); + virtual void SetFromClientConfiguration(const GeoRoutesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GeoRoutesClientConfiguration& config); +}; /** * The type for the GeoRoutes Client Endpoint Provider. @@ -34,6 +43,24 @@ using GeoRoutesEndpointProviderBase = using GeoRoutesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GeoRoutes + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GEOROUTES_EXTERN template class AWS_GEOROUTES_API + Aws::Endpoint::EndpointProviderBase; + +AWS_GEOROUTES_EXTERN template class AWS_GEOROUTES_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace GeoRoutes { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesServiceClientModel.h b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesServiceClientModel.h index ac4afd1dfe39..25a018d7d4a8 100644 --- a/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace GeoRoutes { -using GeoRoutesClientConfiguration = Aws::Client::GenericClientConfiguration; using GeoRoutesEndpointProviderBase = Aws::GeoRoutes::Endpoint::GeoRoutesEndpointProviderBase; using GeoRoutesEndpointProvider = Aws::GeoRoutes::Endpoint::GeoRoutesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClient.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClient.cpp index a142f9606acc..907ffed40bf6 100644 --- a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClient.cpp +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClient.cpp @@ -82,41 +82,6 @@ GeoRoutesClient::GeoRoutesClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -GeoRoutesClient::GeoRoutesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GeoRoutesClient::GeoRoutesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GeoRoutesClient::GeoRoutesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GeoRoutesClient::~GeoRoutesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GeoRoutesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -134,12 +99,7 @@ void GeoRoutesClient::init(const GeoRoutes::GeoRoutesClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "geo-routes"); -} - -void GeoRoutesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GeoRoutesClient::InvokeOperationOutcome GeoRoutesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClientConfiguration.cpp new file mode 100644 index 000000000000..260e20c52d78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GeoRoutes { + +void GeoRoutesClientConfiguration::LoadGeoRoutesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GeoRoutesClientConfiguration::GeoRoutesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGeoRoutesSpecificConfig(this->profileName); +} + +GeoRoutesClientConfiguration::GeoRoutesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGeoRoutesSpecificConfig(Aws::String(inputProfileName)); +} + +GeoRoutesClientConfiguration::GeoRoutesClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGeoRoutesSpecificConfig(this->profileName); +} + +GeoRoutesClientConfiguration::GeoRoutesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGeoRoutesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GeoRoutesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GeoRoutes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointProvider.cpp index 56fa66da95ef..d15f065ca067 100644 --- a/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_GEOROUTES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GeoRoutes { namespace Endpoint { GeoRoutesEndpointProvider::GeoRoutesEndpointProvider() : GeoRoutesDefaultEpProviderBase(Aws::GeoRoutes::GeoRoutesEndpointRules::GetRulesBlob(), Aws::GeoRoutes::GeoRoutesEndpointRules::RulesBlobSize) {} +void GeoRoutesBuiltInParameters::SetFromClientConfiguration(const GeoRoutesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GeoRoutesBuiltInParameters::SetFromClientConfiguration(const GeoRoutesClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GeoRoutesBuiltInParameters::SetServiceSpecificParameters(const GeoRoutesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GeoRoutes } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierClient.h b/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierClient.h index 4bc1ebdac024..952baa34799a 100644 --- a/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierClient.h +++ b/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierClient.h @@ -76,27 +76,6 @@ class AWS_GLACIER_API GlacierClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Glacier::GlacierClientConfiguration& clientConfiguration = Aws::Glacier::GlacierClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GlacierClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GlacierClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GlacierClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GlacierClient(); /** @@ -1540,7 +1519,6 @@ class AWS_GLACIER_API GlacierClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&GlacierClient::UploadMultipartPart, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierClientConfiguration.h b/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierClientConfiguration.h new file mode 100644 index 000000000000..6b47ac5fa118 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Glacier { +struct AWS_GLACIER_API GlacierClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GlacierClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GlacierClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GlacierClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GlacierClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadGlacierSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GLACIER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GlacierClientConfiguration& config); +} // namespace Glacier +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierEndpointProvider.h b/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierEndpointProvider.h index 6b6418e42ea2..fef5e964e650 100644 --- a/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Glacier { namespace Endpoint { +using GlacierClientConfiguration = Aws::Glacier::GlacierClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GlacierClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GlacierClientConfiguration = Aws::Client::GenericClientConfiguration; -using GlacierBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GLACIER_API GlacierBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GlacierBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GlacierClientConfiguration& config); + virtual void SetFromClientConfiguration(const GlacierClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GlacierClientConfiguration& config); +}; /** * The type for the Glacier Client Endpoint Provider. @@ -34,6 +43,24 @@ using GlacierEndpointProviderBase = using GlacierDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Glacier + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GLACIER_EXTERN template class AWS_GLACIER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_GLACIER_EXTERN template class AWS_GLACIER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Glacier { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierServiceClientModel.h b/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierServiceClientModel.h index 838ff6c7589e..7ea9e35bea27 100644 --- a/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierServiceClientModel.h @@ -68,7 +68,6 @@ class RetryStrategy; } // namespace Client namespace Glacier { -using GlacierClientConfiguration = Aws::Client::GenericClientConfiguration; using GlacierEndpointProviderBase = Aws::Glacier::Endpoint::GlacierEndpointProviderBase; using GlacierEndpointProvider = Aws::Glacier::Endpoint::GlacierEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-glacier/source/GlacierClient.cpp b/generated/src/aws-cpp-sdk-glacier/source/GlacierClient.cpp index 6e5d06c4391c..500beedc092a 100644 --- a/generated/src/aws-cpp-sdk-glacier/source/GlacierClient.cpp +++ b/generated/src/aws-cpp-sdk-glacier/source/GlacierClient.cpp @@ -112,43 +112,6 @@ GlacierClient::GlacierClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -GlacierClient::GlacierClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GlacierClient::GlacierClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GlacierClient::GlacierClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GlacierClient::~GlacierClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GlacierClient::accessEndpointProvider() { return m_endpointProvider; } @@ -166,12 +129,7 @@ void GlacierClient::init(const Glacier::GlacierClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "glacier"); -} - -void GlacierClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GlacierClient::InvokeOperationOutcome GlacierClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-glacier/source/GlacierClientConfiguration.cpp b/generated/src/aws-cpp-sdk-glacier/source/GlacierClientConfiguration.cpp new file mode 100644 index 000000000000..12f0dc213cdd --- /dev/null +++ b/generated/src/aws-cpp-sdk-glacier/source/GlacierClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Glacier { + +void GlacierClientConfiguration::LoadGlacierSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GlacierClientConfiguration::GlacierClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGlacierSpecificConfig(this->profileName); +} + +GlacierClientConfiguration::GlacierClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGlacierSpecificConfig(Aws::String(inputProfileName)); +} + +GlacierClientConfiguration::GlacierClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGlacierSpecificConfig(this->profileName); +} + +GlacierClientConfiguration::GlacierClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGlacierSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GlacierClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace Glacier +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glacier/source/GlacierEndpointProvider.cpp b/generated/src/aws-cpp-sdk-glacier/source/GlacierEndpointProvider.cpp index 8773ac6247e7..c5a132184580 100644 --- a/generated/src/aws-cpp-sdk-glacier/source/GlacierEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-glacier/source/GlacierEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_GLACIER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Glacier { namespace Endpoint { GlacierEndpointProvider::GlacierEndpointProvider() : GlacierDefaultEpProviderBase(Aws::Glacier::GlacierEndpointRules::GetRulesBlob(), Aws::Glacier::GlacierEndpointRules::RulesBlobSize) {} +void GlacierBuiltInParameters::SetFromClientConfiguration(const GlacierClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GlacierBuiltInParameters::SetFromClientConfiguration(const GlacierClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GlacierBuiltInParameters::SetServiceSpecificParameters(const GlacierClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Glacier } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorClient.h b/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorClient.h index b604b988cfc1..0b74253ddb66 100644 --- a/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorClient.h +++ b/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorClient.h @@ -107,27 +107,6 @@ class AWS_GLOBALACCELERATOR_API GlobalAcceleratorClient : public Aws::Client::AW const Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration& clientConfiguration = Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GlobalAcceleratorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GlobalAcceleratorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GlobalAcceleratorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GlobalAcceleratorClient(); /** @@ -1920,7 +1899,6 @@ class AWS_GLOBALACCELERATOR_API GlobalAcceleratorClient : public Aws::Client::AW return SubmitAsync(&GlobalAcceleratorClient::WithdrawByoipCidr, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorClientConfiguration.h b/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorClientConfiguration.h new file mode 100644 index 000000000000..60b5ad824b51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GlobalAccelerator { +struct AWS_GLOBALACCELERATOR_API GlobalAcceleratorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GlobalAcceleratorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GlobalAcceleratorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GlobalAcceleratorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GlobalAcceleratorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGlobalAcceleratorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GLOBALACCELERATOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GlobalAcceleratorClientConfiguration& config); +} // namespace GlobalAccelerator +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorEndpointProvider.h b/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorEndpointProvider.h index 54942b070874..9c854c29b4ed 100644 --- a/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GlobalAccelerator { namespace Endpoint { +using GlobalAcceleratorClientConfiguration = Aws::GlobalAccelerator::GlobalAcceleratorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GlobalAcceleratorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GlobalAcceleratorClientConfiguration = Aws::Client::GenericClientConfiguration; -using GlobalAcceleratorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GLOBALACCELERATOR_API GlobalAcceleratorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GlobalAcceleratorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GlobalAcceleratorClientConfiguration& config); + virtual void SetFromClientConfiguration(const GlobalAcceleratorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GlobalAcceleratorClientConfiguration& config); +}; /** * The type for the GlobalAccelerator Client Endpoint Provider. @@ -34,6 +43,24 @@ using GlobalAcceleratorEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace GlobalAccelerator + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GLOBALACCELERATOR_EXTERN template class AWS_GLOBALACCELERATOR_API Aws::Endpoint::EndpointProviderBase< + GlobalAccelerator::Endpoint::GlobalAcceleratorClientConfiguration, GlobalAccelerator::Endpoint::GlobalAcceleratorBuiltInParameters, + GlobalAccelerator::Endpoint::GlobalAcceleratorClientContextParameters>; + +AWS_GLOBALACCELERATOR_EXTERN template class AWS_GLOBALACCELERATOR_API Aws::Endpoint::BDDEndpointProvider< + GlobalAccelerator::Endpoint::GlobalAcceleratorClientConfiguration, GlobalAccelerator::Endpoint::GlobalAcceleratorBuiltInParameters, + GlobalAccelerator::Endpoint::GlobalAcceleratorClientContextParameters>; +} // namespace Endpoint + +namespace GlobalAccelerator { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorServiceClientModel.h b/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorServiceClientModel.h index f5d1d5272c8d..173ffcf0e4fb 100644 --- a/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorServiceClientModel.h @@ -97,7 +97,6 @@ class RetryStrategy; } // namespace Client namespace GlobalAccelerator { -using GlobalAcceleratorClientConfiguration = Aws::Client::GenericClientConfiguration; using GlobalAcceleratorEndpointProviderBase = Aws::GlobalAccelerator::Endpoint::GlobalAcceleratorEndpointProviderBase; using GlobalAcceleratorEndpointProvider = Aws::GlobalAccelerator::Endpoint::GlobalAcceleratorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorClient.cpp b/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorClient.cpp index 26fc9c1d346c..82a6c33b74b5 100644 --- a/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorClient.cpp +++ b/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorClient.cpp @@ -137,42 +137,6 @@ GlobalAcceleratorClient::GlobalAcceleratorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GlobalAcceleratorClient::GlobalAcceleratorClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GlobalAcceleratorClient::GlobalAcceleratorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GlobalAcceleratorClient::~GlobalAcceleratorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GlobalAcceleratorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -190,12 +154,7 @@ void GlobalAcceleratorClient::init(const GlobalAccelerator::GlobalAcceleratorCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "globalaccelerator"); -} - -void GlobalAcceleratorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GlobalAcceleratorClient::InvokeOperationOutcome GlobalAcceleratorClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorClientConfiguration.cpp new file mode 100644 index 000000000000..2765d15cf0aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GlobalAccelerator { + +void GlobalAcceleratorClientConfiguration::LoadGlobalAcceleratorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GlobalAcceleratorClientConfiguration::GlobalAcceleratorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGlobalAcceleratorSpecificConfig(this->profileName); +} + +GlobalAcceleratorClientConfiguration::GlobalAcceleratorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGlobalAcceleratorSpecificConfig(Aws::String(inputProfileName)); +} + +GlobalAcceleratorClientConfiguration::GlobalAcceleratorClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGlobalAcceleratorSpecificConfig(this->profileName); +} + +GlobalAcceleratorClientConfiguration::GlobalAcceleratorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGlobalAcceleratorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GlobalAcceleratorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GlobalAccelerator +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorEndpointProvider.cpp index f8a5d9483b44..cf9154a7c275 100644 --- a/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_GLOBALACCELERATOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GlobalAccelerator { namespace Endpoint { GlobalAcceleratorEndpointProvider::GlobalAcceleratorEndpointProvider() : GlobalAcceleratorDefaultEpProviderBase(Aws::GlobalAccelerator::GlobalAcceleratorEndpointRules::GetRulesBlob(), Aws::GlobalAccelerator::GlobalAcceleratorEndpointRules::RulesBlobSize) {} +void GlobalAcceleratorBuiltInParameters::SetFromClientConfiguration(const GlobalAcceleratorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GlobalAcceleratorBuiltInParameters::SetFromClientConfiguration(const GlobalAcceleratorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GlobalAcceleratorBuiltInParameters::SetServiceSpecificParameters(const GlobalAcceleratorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GlobalAccelerator } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueClient.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueClient.h index 921c3c2fbd3c..1c80859a4464 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueClient.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueClient.h @@ -53,27 +53,6 @@ class AWS_GLUE_API GlueClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Glue::GlueClientConfiguration& clientConfiguration = Aws::Glue::GlueClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GlueClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GlueClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GlueClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GlueClient(); /** @@ -8812,7 +8791,6 @@ class AWS_GLUE_API GlueClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&GlueClient::UpdateWorkflow, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueClientConfiguration.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueClientConfiguration.h new file mode 100644 index 000000000000..e641b49ab00b --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Glue { +struct AWS_GLUE_API GlueClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GlueClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GlueClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GlueClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GlueClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGlueSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GLUE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GlueClientConfiguration& config); +} // namespace Glue +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueEndpointProvider.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueEndpointProvider.h index 6d1986bb5e66..39da517f9292 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Glue { namespace Endpoint { +using GlueClientConfiguration = Aws::Glue::GlueClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GlueClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GlueClientConfiguration = Aws::Client::GenericClientConfiguration; -using GlueBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GLUE_API GlueBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GlueBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GlueClientConfiguration& config); + virtual void SetFromClientConfiguration(const GlueClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GlueClientConfiguration& config); +}; /** * The type for the Glue Client Endpoint Provider. @@ -32,6 +41,22 @@ using GlueEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Glue + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GLUE_EXTERN template class AWS_GLUE_API Aws::Endpoint::EndpointProviderBase< + Glue::Endpoint::GlueClientConfiguration, Glue::Endpoint::GlueBuiltInParameters, Glue::Endpoint::GlueClientContextParameters>; + +AWS_GLUE_EXTERN template class AWS_GLUE_API Aws::Endpoint::BDDEndpointProvider< + Glue::Endpoint::GlueClientConfiguration, Glue::Endpoint::GlueBuiltInParameters, Glue::Endpoint::GlueClientContextParameters>; +} // namespace Endpoint + +namespace Glue { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueServiceClientModel.h b/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueServiceClientModel.h index 672f2fc18980..771b19bff404 100644 --- a/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueServiceClientModel.h @@ -413,7 +413,6 @@ class RetryStrategy; } // namespace Client namespace Glue { -using GlueClientConfiguration = Aws::Client::GenericClientConfiguration; using GlueEndpointProviderBase = Aws::Glue::Endpoint::GlueEndpointProviderBase; using GlueEndpointProvider = Aws::Glue::Endpoint::GlueEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-glue/source/GlueClient.cpp b/generated/src/aws-cpp-sdk-glue/source/GlueClient.cpp index 92de77da8677..0bfdcaa19ecf 100644 --- a/generated/src/aws-cpp-sdk-glue/source/GlueClient.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/GlueClient.cpp @@ -175,41 +175,6 @@ GlueClient::GlueClient(const std::shared_ptr& credential init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -GlueClient::GlueClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GlueClient::GlueClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GlueClient::GlueClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GlueClient::~GlueClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GlueClient::accessEndpointProvider() { return m_endpointProvider; } @@ -227,12 +192,7 @@ void GlueClient::init(const Glue::GlueClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "glue"); -} - -void GlueClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GlueClient::InvokeOperationOutcome GlueClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-glue/source/GlueClientConfiguration.cpp b/generated/src/aws-cpp-sdk-glue/source/GlueClientConfiguration.cpp new file mode 100644 index 000000000000..40ff1f88d4c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-glue/source/GlueClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Glue { + +void GlueClientConfiguration::LoadGlueSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GlueClientConfiguration::GlueClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGlueSpecificConfig(this->profileName); +} + +GlueClientConfiguration::GlueClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGlueSpecificConfig(Aws::String(inputProfileName)); +} + +GlueClientConfiguration::GlueClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGlueSpecificConfig(this->profileName); +} + +GlueClientConfiguration::GlueClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGlueSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GlueClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Glue +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-glue/source/GlueEndpointProvider.cpp b/generated/src/aws-cpp-sdk-glue/source/GlueEndpointProvider.cpp index 35b8197c6553..01ae1c3fac64 100644 --- a/generated/src/aws-cpp-sdk-glue/source/GlueEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-glue/source/GlueEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_GLUE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Glue { namespace Endpoint { GlueEndpointProvider::GlueEndpointProvider() : GlueDefaultEpProviderBase(Aws::Glue::GlueEndpointRules::GetRulesBlob(), Aws::Glue::GlueEndpointRules::RulesBlobSize) {} +void GlueBuiltInParameters::SetFromClientConfiguration(const GlueClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GlueBuiltInParameters::SetFromClientConfiguration(const GlueClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GlueBuiltInParameters::SetServiceSpecificParameters(const GlueClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Glue } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaClient.h b/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaClient.h index c81a21031bca..69d033c93811 100644 --- a/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaClient.h +++ b/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaClient.h @@ -64,27 +64,6 @@ class AWS_MANAGEDGRAFANA_API ManagedGrafanaClient : public Aws::Client::AWSJsonC const Aws::ManagedGrafana::ManagedGrafanaClientConfiguration& clientConfiguration = Aws::ManagedGrafana::ManagedGrafanaClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ManagedGrafanaClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ManagedGrafanaClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ManagedGrafanaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ManagedGrafanaClient(); /** @@ -858,7 +837,6 @@ class AWS_MANAGEDGRAFANA_API ManagedGrafanaClient : public Aws::Client::AWSJsonC return SubmitAsync(&ManagedGrafanaClient::UpdateWorkspaceConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaClientConfiguration.h b/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaClientConfiguration.h new file mode 100644 index 000000000000..42b8fab44358 --- /dev/null +++ b/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ManagedGrafana { +struct AWS_MANAGEDGRAFANA_API ManagedGrafanaClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ManagedGrafanaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ManagedGrafanaClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ManagedGrafanaClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ManagedGrafanaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadManagedGrafanaSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MANAGEDGRAFANA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ManagedGrafanaClientConfiguration& config); +} // namespace ManagedGrafana +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaEndpointProvider.h b/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaEndpointProvider.h index d10569476b7a..e826757a459e 100644 --- a/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ManagedGrafana { namespace Endpoint { +using ManagedGrafanaClientConfiguration = Aws::ManagedGrafana::ManagedGrafanaClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ManagedGrafanaClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ManagedGrafanaClientConfiguration = Aws::Client::GenericClientConfiguration; -using ManagedGrafanaBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MANAGEDGRAFANA_API ManagedGrafanaBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ManagedGrafanaBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ManagedGrafanaClientConfiguration& config); + virtual void SetFromClientConfiguration(const ManagedGrafanaClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ManagedGrafanaClientConfiguration& config); +}; /** * The type for the ManagedGrafana Client Endpoint Provider. @@ -34,6 +43,24 @@ using ManagedGrafanaEndpointProviderBase = using ManagedGrafanaDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ManagedGrafana + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MANAGEDGRAFANA_EXTERN template class AWS_MANAGEDGRAFANA_API Aws::Endpoint::EndpointProviderBase< + ManagedGrafana::Endpoint::ManagedGrafanaClientConfiguration, ManagedGrafana::Endpoint::ManagedGrafanaBuiltInParameters, + ManagedGrafana::Endpoint::ManagedGrafanaClientContextParameters>; + +AWS_MANAGEDGRAFANA_EXTERN template class AWS_MANAGEDGRAFANA_API Aws::Endpoint::BDDEndpointProvider< + ManagedGrafana::Endpoint::ManagedGrafanaClientConfiguration, ManagedGrafana::Endpoint::ManagedGrafanaBuiltInParameters, + ManagedGrafana::Endpoint::ManagedGrafanaClientContextParameters>; +} // namespace Endpoint + +namespace ManagedGrafana { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaServiceClientModel.h b/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaServiceClientModel.h index 352462c9c235..66e1904bdc52 100644 --- a/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaServiceClientModel.h @@ -73,7 +73,6 @@ class RetryStrategy; } // namespace Client namespace ManagedGrafana { -using ManagedGrafanaClientConfiguration = Aws::Client::GenericClientConfiguration; using ManagedGrafanaEndpointProviderBase = Aws::ManagedGrafana::Endpoint::ManagedGrafanaEndpointProviderBase; using ManagedGrafanaEndpointProvider = Aws::ManagedGrafana::Endpoint::ManagedGrafanaEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaClient.cpp b/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaClient.cpp index 13f660f64e84..812cde262c71 100644 --- a/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaClient.cpp +++ b/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaClient.cpp @@ -103,41 +103,6 @@ ManagedGrafanaClient::ManagedGrafanaClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ManagedGrafanaClient::ManagedGrafanaClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ManagedGrafanaClient::ManagedGrafanaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ManagedGrafanaClient::~ManagedGrafanaClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ManagedGrafanaClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void ManagedGrafanaClient::init(const ManagedGrafana::ManagedGrafanaClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "grafana"); -} - -void ManagedGrafanaClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ManagedGrafanaClient::InvokeOperationOutcome ManagedGrafanaClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaClientConfiguration.cpp b/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaClientConfiguration.cpp new file mode 100644 index 000000000000..bbf7e3bed7bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ManagedGrafana { + +void ManagedGrafanaClientConfiguration::LoadManagedGrafanaSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ManagedGrafanaClientConfiguration::ManagedGrafanaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadManagedGrafanaSpecificConfig(this->profileName); +} + +ManagedGrafanaClientConfiguration::ManagedGrafanaClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadManagedGrafanaSpecificConfig(Aws::String(inputProfileName)); +} + +ManagedGrafanaClientConfiguration::ManagedGrafanaClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadManagedGrafanaSpecificConfig(this->profileName); +} + +ManagedGrafanaClientConfiguration::ManagedGrafanaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadManagedGrafanaSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ManagedGrafanaClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ManagedGrafana +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaEndpointProvider.cpp b/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaEndpointProvider.cpp index ee271a8fdd5f..79fafdaa8391 100644 --- a/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MANAGEDGRAFANA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ManagedGrafana { namespace Endpoint { ManagedGrafanaEndpointProvider::ManagedGrafanaEndpointProvider() : ManagedGrafanaDefaultEpProviderBase(Aws::ManagedGrafana::ManagedGrafanaEndpointRules::GetRulesBlob(), Aws::ManagedGrafana::ManagedGrafanaEndpointRules::RulesBlobSize) {} +void ManagedGrafanaBuiltInParameters::SetFromClientConfiguration(const ManagedGrafanaClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ManagedGrafanaBuiltInParameters::SetFromClientConfiguration(const ManagedGrafanaClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ManagedGrafanaBuiltInParameters::SetServiceSpecificParameters(const ManagedGrafanaClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ManagedGrafana } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassClient.h b/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassClient.h index b95fcc37ec31..b771c8b1bb92 100644 --- a/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassClient.h +++ b/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassClient.h @@ -60,27 +60,6 @@ class AWS_GREENGRASS_API GreengrassClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Greengrass::GreengrassClientConfiguration& clientConfiguration = Aws::Greengrass::GreengrassClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GreengrassClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GreengrassClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GreengrassClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GreengrassClient(); /** @@ -2686,7 +2665,6 @@ class AWS_GREENGRASS_API GreengrassClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&GreengrassClient::UpdateThingRuntimeConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassClientConfiguration.h b/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassClientConfiguration.h new file mode 100644 index 000000000000..c82dc58f5806 --- /dev/null +++ b/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Greengrass { +struct AWS_GREENGRASS_API GreengrassClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GreengrassClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GreengrassClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GreengrassClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GreengrassClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGreengrassSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GREENGRASS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GreengrassClientConfiguration& config); +} // namespace Greengrass +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassEndpointProvider.h b/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassEndpointProvider.h index cd0d516ed39c..e723ef52ad57 100644 --- a/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Greengrass { namespace Endpoint { +using GreengrassClientConfiguration = Aws::Greengrass::GreengrassClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GreengrassClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GreengrassClientConfiguration = Aws::Client::GenericClientConfiguration; -using GreengrassBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GREENGRASS_API GreengrassBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GreengrassBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GreengrassClientConfiguration& config); + virtual void SetFromClientConfiguration(const GreengrassClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GreengrassClientConfiguration& config); +}; /** * The type for the Greengrass Client Endpoint Provider. @@ -34,6 +43,24 @@ using GreengrassEndpointProviderBase = using GreengrassDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Greengrass + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GREENGRASS_EXTERN template class AWS_GREENGRASS_API Aws::Endpoint::EndpointProviderBase< + Greengrass::Endpoint::GreengrassClientConfiguration, Greengrass::Endpoint::GreengrassBuiltInParameters, + Greengrass::Endpoint::GreengrassClientContextParameters>; + +AWS_GREENGRASS_EXTERN template class AWS_GREENGRASS_API Aws::Endpoint::BDDEndpointProvider< + Greengrass::Endpoint::GreengrassClientConfiguration, Greengrass::Endpoint::GreengrassBuiltInParameters, + Greengrass::Endpoint::GreengrassClientContextParameters>; +} // namespace Endpoint + +namespace Greengrass { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassServiceClientModel.h b/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassServiceClientModel.h index da64565e9928..8e2fa0853ef5 100644 --- a/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassServiceClientModel.h @@ -155,7 +155,6 @@ class RetryStrategy; } // namespace Client namespace Greengrass { -using GreengrassClientConfiguration = Aws::Client::GenericClientConfiguration; using GreengrassEndpointProviderBase = Aws::Greengrass::Endpoint::GreengrassEndpointProviderBase; using GreengrassEndpointProvider = Aws::Greengrass::Endpoint::GreengrassEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-greengrass/source/GreengrassClient.cpp b/generated/src/aws-cpp-sdk-greengrass/source/GreengrassClient.cpp index abbcae5ef45a..77836a951de7 100644 --- a/generated/src/aws-cpp-sdk-greengrass/source/GreengrassClient.cpp +++ b/generated/src/aws-cpp-sdk-greengrass/source/GreengrassClient.cpp @@ -169,41 +169,6 @@ GreengrassClient::GreengrassClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -GreengrassClient::GreengrassClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GreengrassClient::GreengrassClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GreengrassClient::GreengrassClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GreengrassClient::~GreengrassClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GreengrassClient::accessEndpointProvider() { return m_endpointProvider; } @@ -221,12 +186,7 @@ void GreengrassClient::init(const Greengrass::GreengrassClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "greengrass"); -} - -void GreengrassClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GreengrassClient::InvokeOperationOutcome GreengrassClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-greengrass/source/GreengrassClientConfiguration.cpp b/generated/src/aws-cpp-sdk-greengrass/source/GreengrassClientConfiguration.cpp new file mode 100644 index 000000000000..883e7594b76b --- /dev/null +++ b/generated/src/aws-cpp-sdk-greengrass/source/GreengrassClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Greengrass { + +void GreengrassClientConfiguration::LoadGreengrassSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GreengrassClientConfiguration::GreengrassClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGreengrassSpecificConfig(this->profileName); +} + +GreengrassClientConfiguration::GreengrassClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGreengrassSpecificConfig(Aws::String(inputProfileName)); +} + +GreengrassClientConfiguration::GreengrassClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGreengrassSpecificConfig(this->profileName); +} + +GreengrassClientConfiguration::GreengrassClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGreengrassSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GreengrassClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Greengrass +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-greengrass/source/GreengrassEndpointProvider.cpp b/generated/src/aws-cpp-sdk-greengrass/source/GreengrassEndpointProvider.cpp index 81ffa8395248..3964527db1b5 100644 --- a/generated/src/aws-cpp-sdk-greengrass/source/GreengrassEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-greengrass/source/GreengrassEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_GREENGRASS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Greengrass { namespace Endpoint { GreengrassEndpointProvider::GreengrassEndpointProvider() : GreengrassDefaultEpProviderBase(Aws::Greengrass::GreengrassEndpointRules::GetRulesBlob(), Aws::Greengrass::GreengrassEndpointRules::RulesBlobSize) {} +void GreengrassBuiltInParameters::SetFromClientConfiguration(const GreengrassClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GreengrassBuiltInParameters::SetFromClientConfiguration(const GreengrassClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GreengrassBuiltInParameters::SetServiceSpecificParameters(const GreengrassClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Greengrass } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2Client.h b/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2Client.h index be0b8606d9df..8aea88efca02 100644 --- a/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2Client.h +++ b/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2Client.h @@ -68,27 +68,6 @@ class AWS_GREENGRASSV2_API GreengrassV2Client : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::GreengrassV2::GreengrassV2ClientConfiguration& clientConfiguration = Aws::GreengrassV2::GreengrassV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GreengrassV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GreengrassV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GreengrassV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GreengrassV2Client(); /** @@ -1055,7 +1034,6 @@ class AWS_GREENGRASSV2_API GreengrassV2Client : public Aws::Client::AWSJsonClien return SubmitAsync(&GreengrassV2Client::UpdateConnectivityInfo, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2ClientConfiguration.h new file mode 100644 index 000000000000..4bbaefafd312 --- /dev/null +++ b/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GreengrassV2 { +struct AWS_GREENGRASSV2_API GreengrassV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GreengrassV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GreengrassV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GreengrassV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GreengrassV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGreengrassV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GREENGRASSV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GreengrassV2ClientConfiguration& config); +} // namespace GreengrassV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2EndpointProvider.h b/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2EndpointProvider.h index d89ace8cb6d9..8dfcc60db6d0 100644 --- a/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GreengrassV2 { namespace Endpoint { +using GreengrassV2ClientConfiguration = Aws::GreengrassV2::GreengrassV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GreengrassV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GreengrassV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using GreengrassV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GREENGRASSV2_API GreengrassV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GreengrassV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GreengrassV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const GreengrassV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GreengrassV2ClientConfiguration& config); +}; /** * The type for the GreengrassV2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using GreengrassV2EndpointProviderBase = using GreengrassV2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GreengrassV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GREENGRASSV2_EXTERN template class AWS_GREENGRASSV2_API Aws::Endpoint::EndpointProviderBase< + GreengrassV2::Endpoint::GreengrassV2ClientConfiguration, GreengrassV2::Endpoint::GreengrassV2BuiltInParameters, + GreengrassV2::Endpoint::GreengrassV2ClientContextParameters>; + +AWS_GREENGRASSV2_EXTERN template class AWS_GREENGRASSV2_API Aws::Endpoint::BDDEndpointProvider< + GreengrassV2::Endpoint::GreengrassV2ClientConfiguration, GreengrassV2::Endpoint::GreengrassV2BuiltInParameters, + GreengrassV2::Endpoint::GreengrassV2ClientContextParameters>; +} // namespace Endpoint + +namespace GreengrassV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2ServiceClientModel.h index 92382cdcee7a..6f1ff8ac5868 100644 --- a/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2ServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace GreengrassV2 { -using GreengrassV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using GreengrassV2EndpointProviderBase = Aws::GreengrassV2::Endpoint::GreengrassV2EndpointProviderBase; using GreengrassV2EndpointProvider = Aws::GreengrassV2::Endpoint::GreengrassV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2Client.cpp b/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2Client.cpp index 05461e600185..4dccdde2ed3b 100644 --- a/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2Client.cpp +++ b/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2Client.cpp @@ -107,41 +107,6 @@ GreengrassV2Client::GreengrassV2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GreengrassV2Client::GreengrassV2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GreengrassV2Client::GreengrassV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GreengrassV2Client::~GreengrassV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& GreengrassV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -159,12 +124,7 @@ void GreengrassV2Client::init(const GreengrassV2::GreengrassV2ClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "greengrass"); -} - -void GreengrassV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GreengrassV2Client::InvokeOperationOutcome GreengrassV2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2ClientConfiguration.cpp new file mode 100644 index 000000000000..0a1b26b54c52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GreengrassV2 { + +void GreengrassV2ClientConfiguration::LoadGreengrassV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GreengrassV2ClientConfiguration::GreengrassV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGreengrassV2SpecificConfig(this->profileName); +} + +GreengrassV2ClientConfiguration::GreengrassV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGreengrassV2SpecificConfig(Aws::String(inputProfileName)); +} + +GreengrassV2ClientConfiguration::GreengrassV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGreengrassV2SpecificConfig(this->profileName); +} + +GreengrassV2ClientConfiguration::GreengrassV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGreengrassV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GreengrassV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GreengrassV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2EndpointProvider.cpp index ae4b827cae3a..17656ae9c94c 100644 --- a/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_GREENGRASSV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GreengrassV2 { namespace Endpoint { GreengrassV2EndpointProvider::GreengrassV2EndpointProvider() : GreengrassV2DefaultEpProviderBase(Aws::GreengrassV2::GreengrassV2EndpointRules::GetRulesBlob(), Aws::GreengrassV2::GreengrassV2EndpointRules::RulesBlobSize) {} +void GreengrassV2BuiltInParameters::SetFromClientConfiguration(const GreengrassV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GreengrassV2BuiltInParameters::SetFromClientConfiguration(const GreengrassV2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GreengrassV2BuiltInParameters::SetServiceSpecificParameters(const GreengrassV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GreengrassV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationClient.h b/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationClient.h index 6d0a92cb753c..4b064c1f978a 100644 --- a/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationClient.h +++ b/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationClient.h @@ -60,27 +60,6 @@ class AWS_GROUNDSTATION_API GroundStationClient : public Aws::Client::AWSJsonCli const Aws::GroundStation::GroundStationClientConfiguration& clientConfiguration = Aws::GroundStation::GroundStationClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GroundStationClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GroundStationClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GroundStationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GroundStationClient(); /** @@ -1170,7 +1149,6 @@ class AWS_GROUNDSTATION_API GroundStationClient : public Aws::Client::AWSJsonCli return SubmitAsync(&GroundStationClient::UpdateMissionProfile, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationClientConfiguration.h b/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationClientConfiguration.h new file mode 100644 index 000000000000..0acb5d76d9d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GroundStation { +struct AWS_GROUNDSTATION_API GroundStationClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GroundStationClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GroundStationClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GroundStationClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GroundStationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGroundStationSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GROUNDSTATION_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GroundStationClientConfiguration& config); +} // namespace GroundStation +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationEndpointProvider.h b/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationEndpointProvider.h index 356febd4410f..61de1ec7c04e 100644 --- a/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GroundStation { namespace Endpoint { +using GroundStationClientConfiguration = Aws::GroundStation::GroundStationClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GroundStationClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GroundStationClientConfiguration = Aws::Client::GenericClientConfiguration; -using GroundStationBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GROUNDSTATION_API GroundStationBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GroundStationBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GroundStationClientConfiguration& config); + virtual void SetFromClientConfiguration(const GroundStationClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GroundStationClientConfiguration& config); +}; /** * The type for the GroundStation Client Endpoint Provider. @@ -34,6 +43,24 @@ using GroundStationEndpointProviderBase = using GroundStationDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GroundStation + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GROUNDSTATION_EXTERN template class AWS_GROUNDSTATION_API Aws::Endpoint::EndpointProviderBase< + GroundStation::Endpoint::GroundStationClientConfiguration, GroundStation::Endpoint::GroundStationBuiltInParameters, + GroundStation::Endpoint::GroundStationClientContextParameters>; + +AWS_GROUNDSTATION_EXTERN template class AWS_GROUNDSTATION_API Aws::Endpoint::BDDEndpointProvider< + GroundStation::Endpoint::GroundStationClientConfiguration, GroundStation::Endpoint::GroundStationBuiltInParameters, + GroundStation::Endpoint::GroundStationClientContextParameters>; +} // namespace Endpoint + +namespace GroundStation { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationServiceClientModel.h b/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationServiceClientModel.h index ce867fefdfff..714afd10f206 100644 --- a/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationServiceClientModel.h @@ -91,7 +91,6 @@ class RetryStrategy; } // namespace Client namespace GroundStation { -using GroundStationClientConfiguration = Aws::Client::GenericClientConfiguration; using GroundStationEndpointProviderBase = Aws::GroundStation::Endpoint::GroundStationEndpointProviderBase; using GroundStationEndpointProvider = Aws::GroundStation::Endpoint::GroundStationEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-groundstation/source/GroundStationClient.cpp b/generated/src/aws-cpp-sdk-groundstation/source/GroundStationClient.cpp index 6acca5ec84c5..d16e07634bd6 100644 --- a/generated/src/aws-cpp-sdk-groundstation/source/GroundStationClient.cpp +++ b/generated/src/aws-cpp-sdk-groundstation/source/GroundStationClient.cpp @@ -118,41 +118,6 @@ GroundStationClient::GroundStationClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GroundStationClient::GroundStationClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GroundStationClient::GroundStationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GroundStationClient::~GroundStationClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GroundStationClient::accessEndpointProvider() { return m_endpointProvider; } @@ -170,12 +135,7 @@ void GroundStationClient::init(const GroundStation::GroundStationClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "groundstation"); -} - -void GroundStationClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GroundStationClient::InvokeOperationOutcome GroundStationClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-groundstation/source/GroundStationClientConfiguration.cpp b/generated/src/aws-cpp-sdk-groundstation/source/GroundStationClientConfiguration.cpp new file mode 100644 index 000000000000..37d00cc5db2c --- /dev/null +++ b/generated/src/aws-cpp-sdk-groundstation/source/GroundStationClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GroundStation { + +void GroundStationClientConfiguration::LoadGroundStationSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GroundStationClientConfiguration::GroundStationClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGroundStationSpecificConfig(this->profileName); +} + +GroundStationClientConfiguration::GroundStationClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGroundStationSpecificConfig(Aws::String(inputProfileName)); +} + +GroundStationClientConfiguration::GroundStationClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGroundStationSpecificConfig(this->profileName); +} + +GroundStationClientConfiguration::GroundStationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGroundStationSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GroundStationClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GroundStation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-groundstation/source/GroundStationEndpointProvider.cpp b/generated/src/aws-cpp-sdk-groundstation/source/GroundStationEndpointProvider.cpp index e07571e01a05..7c4077809d2e 100644 --- a/generated/src/aws-cpp-sdk-groundstation/source/GroundStationEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-groundstation/source/GroundStationEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_GROUNDSTATION_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GroundStation { namespace Endpoint { GroundStationEndpointProvider::GroundStationEndpointProvider() : GroundStationDefaultEpProviderBase(Aws::GroundStation::GroundStationEndpointRules::GetRulesBlob(), Aws::GroundStation::GroundStationEndpointRules::RulesBlobSize) {} +void GroundStationBuiltInParameters::SetFromClientConfiguration(const GroundStationClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GroundStationBuiltInParameters::SetFromClientConfiguration(const GroundStationClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GroundStationBuiltInParameters::SetServiceSpecificParameters(const GroundStationClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GroundStation } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h index 92fae6a5f947..340b9fdefd88 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClient.h @@ -73,27 +73,6 @@ class AWS_GUARDDUTY_API GuardDutyClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::GuardDuty::GuardDutyClientConfiguration& clientConfiguration = Aws::GuardDuty::GuardDutyClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - GuardDutyClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - GuardDutyClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - GuardDutyClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~GuardDutyClient(); /** @@ -3156,7 +3135,6 @@ class AWS_GUARDDUTY_API GuardDutyClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&GuardDutyClient::UpdateTrustedEntitySet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClientConfiguration.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClientConfiguration.h new file mode 100644 index 000000000000..f2fe39fd4ff6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace GuardDuty { +struct AWS_GUARDDUTY_API GuardDutyClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + GuardDutyClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GuardDutyClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + GuardDutyClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit GuardDutyClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadGuardDutySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_GUARDDUTY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const GuardDutyClientConfiguration& config); +} // namespace GuardDuty +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyEndpointProvider.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyEndpointProvider.h index 241797f82a35..f6df5b286322 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace GuardDuty { namespace Endpoint { +using GuardDutyClientConfiguration = Aws::GuardDuty::GuardDutyClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using GuardDutyClientContextParameters = Aws::Endpoint::ClientContextParameters; -using GuardDutyClientConfiguration = Aws::Client::GenericClientConfiguration; -using GuardDutyBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_GUARDDUTY_API GuardDutyBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~GuardDutyBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const GuardDutyClientConfiguration& config); + virtual void SetFromClientConfiguration(const GuardDutyClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const GuardDutyClientConfiguration& config); +}; /** * The type for the GuardDuty Client Endpoint Provider. @@ -34,6 +43,24 @@ using GuardDutyEndpointProviderBase = using GuardDutyDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace GuardDuty + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_GUARDDUTY_EXTERN template class AWS_GUARDDUTY_API + Aws::Endpoint::EndpointProviderBase; + +AWS_GUARDDUTY_EXTERN template class AWS_GUARDDUTY_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace GuardDuty { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyServiceClientModel.h b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyServiceClientModel.h index 93bbf0e3794d..71f9c2f7e61a 100644 --- a/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyServiceClientModel.h @@ -155,7 +155,6 @@ class RetryStrategy; } // namespace Client namespace GuardDuty { -using GuardDutyClientConfiguration = Aws::Client::GenericClientConfiguration; using GuardDutyEndpointProviderBase = Aws::GuardDuty::Endpoint::GuardDutyEndpointProviderBase; using GuardDutyEndpointProvider = Aws::GuardDuty::Endpoint::GuardDutyEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyClient.cpp b/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyClient.cpp index baa92f8c76b5..ee9a5f134869 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyClient.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyClient.cpp @@ -176,41 +176,6 @@ GuardDutyClient::GuardDutyClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -GuardDutyClient::GuardDutyClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GuardDutyClient::GuardDutyClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -GuardDutyClient::GuardDutyClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ GuardDutyClient::~GuardDutyClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& GuardDutyClient::accessEndpointProvider() { return m_endpointProvider; } @@ -228,12 +193,7 @@ void GuardDutyClient::init(const GuardDuty::GuardDutyClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "guardduty"); -} - -void GuardDutyClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } GuardDutyClient::InvokeOperationOutcome GuardDutyClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyClientConfiguration.cpp b/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyClientConfiguration.cpp new file mode 100644 index 000000000000..07e0adb3df95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace GuardDuty { + +void GuardDutyClientConfiguration::LoadGuardDutySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +GuardDutyClientConfiguration::GuardDutyClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadGuardDutySpecificConfig(this->profileName); +} + +GuardDutyClientConfiguration::GuardDutyClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadGuardDutySpecificConfig(Aws::String(inputProfileName)); +} + +GuardDutyClientConfiguration::GuardDutyClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadGuardDutySpecificConfig(this->profileName); +} + +GuardDutyClientConfiguration::GuardDutyClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadGuardDutySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const GuardDutyClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace GuardDuty +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyEndpointProvider.cpp b/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyEndpointProvider.cpp index f896ece0d943..fff337ae116a 100644 --- a/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-guardduty/source/GuardDutyEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_GUARDDUTY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace GuardDuty { namespace Endpoint { GuardDutyEndpointProvider::GuardDutyEndpointProvider() : GuardDutyDefaultEpProviderBase(Aws::GuardDuty::GuardDutyEndpointRules::GetRulesBlob(), Aws::GuardDuty::GuardDutyEndpointRules::RulesBlobSize) {} +void GuardDutyBuiltInParameters::SetFromClientConfiguration(const GuardDutyClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void GuardDutyBuiltInParameters::SetFromClientConfiguration(const GuardDutyClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void GuardDutyBuiltInParameters::SetServiceSpecificParameters(const GuardDutyClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace GuardDuty } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-health/include/aws/health/HealthClient.h b/generated/src/aws-cpp-sdk-health/include/aws/health/HealthClient.h index d642668dc020..6a1dfeab0abd 100644 --- a/generated/src/aws-cpp-sdk-health/include/aws/health/HealthClient.h +++ b/generated/src/aws-cpp-sdk-health/include/aws/health/HealthClient.h @@ -96,27 +96,6 @@ class AWS_HEALTH_API HealthClient : public Aws::Client::AWSRpcV2CborClient, std::shared_ptr endpointProvider = nullptr, const Aws::Health::HealthClientConfiguration& clientConfiguration = Aws::Health::HealthClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - HealthClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - HealthClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - HealthClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~HealthClient(); /** @@ -714,7 +693,6 @@ class AWS_HEALTH_API HealthClient : public Aws::Client::AWSRpcV2CborClient, return SubmitAsync(&HealthClient::EnableHealthServiceAccessForOrganization, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-health/include/aws/health/HealthClientConfiguration.h b/generated/src/aws-cpp-sdk-health/include/aws/health/HealthClientConfiguration.h new file mode 100644 index 000000000000..954bca2e4a44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-health/include/aws/health/HealthClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Health { +struct AWS_HEALTH_API HealthClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + HealthClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + HealthClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + HealthClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit HealthClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadHealthSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_HEALTH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const HealthClientConfiguration& config); +} // namespace Health +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-health/include/aws/health/HealthEndpointProvider.h b/generated/src/aws-cpp-sdk-health/include/aws/health/HealthEndpointProvider.h index b9669fc88fca..b0b163af8d57 100644 --- a/generated/src/aws-cpp-sdk-health/include/aws/health/HealthEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-health/include/aws/health/HealthEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Health { namespace Endpoint { +using HealthClientConfiguration = Aws::Health::HealthClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using HealthClientContextParameters = Aws::Endpoint::ClientContextParameters; -using HealthClientConfiguration = Aws::Client::GenericClientConfiguration; -using HealthBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_HEALTH_API HealthBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~HealthBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const HealthClientConfiguration& config); + virtual void SetFromClientConfiguration(const HealthClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const HealthClientConfiguration& config); +}; /** * The type for the Health Client Endpoint Provider. @@ -32,6 +41,24 @@ using HealthEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Health + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_HEALTH_EXTERN template class AWS_HEALTH_API + Aws::Endpoint::EndpointProviderBase; + +AWS_HEALTH_EXTERN template class AWS_HEALTH_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Health { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-health/include/aws/health/HealthServiceClientModel.h b/generated/src/aws-cpp-sdk-health/include/aws/health/HealthServiceClientModel.h index b01566a809fa..c7a01a8b269c 100644 --- a/generated/src/aws-cpp-sdk-health/include/aws/health/HealthServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-health/include/aws/health/HealthServiceClientModel.h @@ -69,7 +69,6 @@ class RetryStrategy; } // namespace Client namespace Health { -using HealthClientConfiguration = Aws::Client::GenericClientConfiguration; using HealthEndpointProviderBase = Aws::Health::Endpoint::HealthEndpointProviderBase; using HealthEndpointProvider = Aws::Health::Endpoint::HealthEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-health/source/HealthClient.cpp b/generated/src/aws-cpp-sdk-health/source/HealthClient.cpp index de7f3e1e51a3..692ff28772dd 100644 --- a/generated/src/aws-cpp-sdk-health/source/HealthClient.cpp +++ b/generated/src/aws-cpp-sdk-health/source/HealthClient.cpp @@ -92,41 +92,6 @@ HealthClient::HealthClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -HealthClient::HealthClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -HealthClient::HealthClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -HealthClient::HealthClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ HealthClient::~HealthClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& HealthClient::accessEndpointProvider() { return m_endpointProvider; } @@ -144,12 +109,7 @@ void HealthClient::init(const Health::HealthClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "health"); -} - -void HealthClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } HealthClient::InvokeOperationOutcome HealthClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-health/source/HealthClientConfiguration.cpp b/generated/src/aws-cpp-sdk-health/source/HealthClientConfiguration.cpp new file mode 100644 index 000000000000..f384759b1df1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-health/source/HealthClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Health { + +void HealthClientConfiguration::LoadHealthSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +HealthClientConfiguration::HealthClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadHealthSpecificConfig(this->profileName); +} + +HealthClientConfiguration::HealthClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadHealthSpecificConfig(Aws::String(inputProfileName)); +} + +HealthClientConfiguration::HealthClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadHealthSpecificConfig(this->profileName); +} + +HealthClientConfiguration::HealthClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadHealthSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const HealthClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Health +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-health/source/HealthEndpointProvider.cpp b/generated/src/aws-cpp-sdk-health/source/HealthEndpointProvider.cpp index 7e83d7389429..b24b32c10b75 100644 --- a/generated/src/aws-cpp-sdk-health/source/HealthEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-health/source/HealthEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_HEALTH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Health { namespace Endpoint { HealthEndpointProvider::HealthEndpointProvider() : HealthDefaultEpProviderBase(Aws::Health::HealthEndpointRules::GetRulesBlob(), Aws::Health::HealthEndpointRules::RulesBlobSize) {} +void HealthBuiltInParameters::SetFromClientConfiguration(const HealthClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void HealthBuiltInParameters::SetFromClientConfiguration(const HealthClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void HealthBuiltInParameters::SetServiceSpecificParameters(const HealthClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Health } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeClient.h b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeClient.h index 97bf2e08e699..79be96387ecd 100644 --- a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeClient.h +++ b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeClient.h @@ -58,27 +58,6 @@ class AWS_HEALTHLAKE_API HealthLakeClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::HealthLake::HealthLakeClientConfiguration& clientConfiguration = Aws::HealthLake::HealthLakeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - HealthLakeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - HealthLakeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - HealthLakeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~HealthLakeClient(); /** @@ -823,7 +802,6 @@ class AWS_HEALTHLAKE_API HealthLakeClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&HealthLakeClient::UpdateProfileWithAgent, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeClientConfiguration.h b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeClientConfiguration.h new file mode 100644 index 000000000000..d307a4ffc2ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace HealthLake { +struct AWS_HEALTHLAKE_API HealthLakeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + HealthLakeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + HealthLakeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + HealthLakeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit HealthLakeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadHealthLakeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_HEALTHLAKE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const HealthLakeClientConfiguration& config); +} // namespace HealthLake +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeEndpointProvider.h b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeEndpointProvider.h index 41b7627fcf38..79b262f068c6 100644 --- a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace HealthLake { namespace Endpoint { +using HealthLakeClientConfiguration = Aws::HealthLake::HealthLakeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using HealthLakeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using HealthLakeClientConfiguration = Aws::Client::GenericClientConfiguration; -using HealthLakeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_HEALTHLAKE_API HealthLakeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~HealthLakeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const HealthLakeClientConfiguration& config); + virtual void SetFromClientConfiguration(const HealthLakeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const HealthLakeClientConfiguration& config); +}; /** * The type for the HealthLake Client Endpoint Provider. @@ -34,6 +43,24 @@ using HealthLakeEndpointProviderBase = using HealthLakeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace HealthLake + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_HEALTHLAKE_EXTERN template class AWS_HEALTHLAKE_API Aws::Endpoint::EndpointProviderBase< + HealthLake::Endpoint::HealthLakeClientConfiguration, HealthLake::Endpoint::HealthLakeBuiltInParameters, + HealthLake::Endpoint::HealthLakeClientContextParameters>; + +AWS_HEALTHLAKE_EXTERN template class AWS_HEALTHLAKE_API Aws::Endpoint::BDDEndpointProvider< + HealthLake::Endpoint::HealthLakeClientConfiguration, HealthLake::Endpoint::HealthLakeBuiltInParameters, + HealthLake::Endpoint::HealthLakeClientContextParameters>; +} // namespace Endpoint + +namespace HealthLake { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeServiceClientModel.h b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeServiceClientModel.h index 5466e11641af..05938dd9f2a2 100644 --- a/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeServiceClientModel.h @@ -74,7 +74,6 @@ class RetryStrategy; } // namespace Client namespace HealthLake { -using HealthLakeClientConfiguration = Aws::Client::GenericClientConfiguration; using HealthLakeEndpointProviderBase = Aws::HealthLake::Endpoint::HealthLakeEndpointProviderBase; using HealthLakeEndpointProvider = Aws::HealthLake::Endpoint::HealthLakeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeClient.cpp b/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeClient.cpp index a8578b7c3a24..2050552461b2 100644 --- a/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeClient.cpp +++ b/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeClient.cpp @@ -104,41 +104,6 @@ HealthLakeClient::HealthLakeClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -HealthLakeClient::HealthLakeClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -HealthLakeClient::HealthLakeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -HealthLakeClient::HealthLakeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ HealthLakeClient::~HealthLakeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& HealthLakeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -156,12 +121,7 @@ void HealthLakeClient::init(const HealthLake::HealthLakeClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "healthlake"); -} - -void HealthLakeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } HealthLakeClient::InvokeOperationOutcome HealthLakeClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeClientConfiguration.cpp new file mode 100644 index 000000000000..4aa1838f59ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace HealthLake { + +void HealthLakeClientConfiguration::LoadHealthLakeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +HealthLakeClientConfiguration::HealthLakeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadHealthLakeSpecificConfig(this->profileName); +} + +HealthLakeClientConfiguration::HealthLakeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadHealthLakeSpecificConfig(Aws::String(inputProfileName)); +} + +HealthLakeClientConfiguration::HealthLakeClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadHealthLakeSpecificConfig(this->profileName); +} + +HealthLakeClientConfiguration::HealthLakeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadHealthLakeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const HealthLakeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace HealthLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeEndpointProvider.cpp index 21c20ed2b5d2..9a5fb8d6fd4a 100644 --- a/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-healthlake/source/HealthLakeEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_HEALTHLAKE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace HealthLake { namespace Endpoint { HealthLakeEndpointProvider::HealthLakeEndpointProvider() : HealthLakeDefaultEpProviderBase(Aws::HealthLake::HealthLakeEndpointRules::GetRulesBlob(), Aws::HealthLake::HealthLakeEndpointRules::RulesBlobSize) {} +void HealthLakeBuiltInParameters::SetFromClientConfiguration(const HealthLakeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void HealthLakeBuiltInParameters::SetFromClientConfiguration(const HealthLakeClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void HealthLakeBuiltInParameters::SetServiceSpecificParameters(const HealthLakeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace HealthLake } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxClient.h b/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxClient.h index 6a25fcb1ffb9..98a31ca498c5 100644 --- a/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxClient.h +++ b/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxClient.h @@ -55,27 +55,6 @@ class AWS_IAMTOOLBOX_API IAMToolboxClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::IAMToolbox::IAMToolboxClientConfiguration& clientConfiguration = Aws::IAMToolbox::IAMToolboxClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IAMToolboxClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IAMToolboxClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IAMToolboxClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IAMToolboxClient(); /** @@ -115,7 +94,6 @@ class AWS_IAMTOOLBOX_API IAMToolboxClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&IAMToolboxClient::GetRequestAuthorizationDetails, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxClientConfiguration.h b/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxClientConfiguration.h new file mode 100644 index 000000000000..943b948470cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IAMToolbox { +struct AWS_IAMTOOLBOX_API IAMToolboxClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IAMToolboxClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IAMToolboxClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IAMToolboxClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IAMToolboxClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIAMToolboxSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IAMTOOLBOX_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IAMToolboxClientConfiguration& config); +} // namespace IAMToolbox +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxEndpointProvider.h b/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxEndpointProvider.h index 011491f96b45..13347bfa42d0 100644 --- a/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IAMToolbox { namespace Endpoint { +using IAMToolboxClientConfiguration = Aws::IAMToolbox::IAMToolboxClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IAMToolboxClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IAMToolboxClientConfiguration = Aws::Client::GenericClientConfiguration; -using IAMToolboxBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IAMTOOLBOX_API IAMToolboxBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IAMToolboxBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IAMToolboxClientConfiguration& config); + virtual void SetFromClientConfiguration(const IAMToolboxClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IAMToolboxClientConfiguration& config); +}; /** * The type for the IAMToolbox Client Endpoint Provider. @@ -34,6 +43,24 @@ using IAMToolboxEndpointProviderBase = using IAMToolboxDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IAMToolbox + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IAMTOOLBOX_EXTERN template class AWS_IAMTOOLBOX_API Aws::Endpoint::EndpointProviderBase< + IAMToolbox::Endpoint::IAMToolboxClientConfiguration, IAMToolbox::Endpoint::IAMToolboxBuiltInParameters, + IAMToolbox::Endpoint::IAMToolboxClientContextParameters>; + +AWS_IAMTOOLBOX_EXTERN template class AWS_IAMTOOLBOX_API Aws::Endpoint::BDDEndpointProvider< + IAMToolbox::Endpoint::IAMToolboxClientConfiguration, IAMToolbox::Endpoint::IAMToolboxBuiltInParameters, + IAMToolbox::Endpoint::IAMToolboxClientContextParameters>; +} // namespace Endpoint + +namespace IAMToolbox { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxServiceClientModel.h b/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxServiceClientModel.h index 68a6c8b99988..0b8240387f1e 100644 --- a/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace IAMToolbox { -using IAMToolboxClientConfiguration = Aws::Client::GenericClientConfiguration; using IAMToolboxEndpointProviderBase = Aws::IAMToolbox::Endpoint::IAMToolboxEndpointProviderBase; using IAMToolboxEndpointProvider = Aws::IAMToolbox::Endpoint::IAMToolboxEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxClient.cpp b/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxClient.cpp index f851f2fb9ef3..fa8e514a33e0 100644 --- a/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxClient.cpp +++ b/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxClient.cpp @@ -78,41 +78,6 @@ IAMToolboxClient::IAMToolboxClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -IAMToolboxClient::IAMToolboxClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IAMToolboxClient::IAMToolboxClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IAMToolboxClient::IAMToolboxClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IAMToolboxClient::~IAMToolboxClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IAMToolboxClient::accessEndpointProvider() { return m_endpointProvider; } @@ -130,12 +95,7 @@ void IAMToolboxClient::init(const IAMToolbox::IAMToolboxClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iam"); -} - -void IAMToolboxClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IAMToolboxClient::InvokeOperationOutcome IAMToolboxClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxClientConfiguration.cpp new file mode 100644 index 000000000000..c20903c0a472 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IAMToolbox { + +void IAMToolboxClientConfiguration::LoadIAMToolboxSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IAMToolboxClientConfiguration::IAMToolboxClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIAMToolboxSpecificConfig(this->profileName); +} + +IAMToolboxClientConfiguration::IAMToolboxClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIAMToolboxSpecificConfig(Aws::String(inputProfileName)); +} + +IAMToolboxClientConfiguration::IAMToolboxClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIAMToolboxSpecificConfig(this->profileName); +} + +IAMToolboxClientConfiguration::IAMToolboxClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIAMToolboxSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IAMToolboxClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IAMToolbox +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxEndpointProvider.cpp index 1ed873a37c5c..b0bef051a587 100644 --- a/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_IAMTOOLBOX_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IAMToolbox { namespace Endpoint { IAMToolboxEndpointProvider::IAMToolboxEndpointProvider() : IAMToolboxDefaultEpProviderBase(Aws::IAMToolbox::IAMToolboxEndpointRules::GetRulesBlob(), Aws::IAMToolbox::IAMToolboxEndpointRules::RulesBlobSize) {} +void IAMToolboxBuiltInParameters::SetFromClientConfiguration(const IAMToolboxClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IAMToolboxBuiltInParameters::SetFromClientConfiguration(const IAMToolboxClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IAMToolboxBuiltInParameters::SetServiceSpecificParameters(const IAMToolboxClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IAMToolbox } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMClient.h b/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMClient.h index b20774890c73..cd8bfe2aa12d 100644 --- a/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMClient.h +++ b/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMClient.h @@ -101,27 +101,6 @@ class AWS_IAM_API IAMClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::IAM::IAMClientConfiguration& clientConfiguration = Aws::IAM::IAMClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IAMClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IAMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IAMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IAMClient(); /** @@ -6932,7 +6911,6 @@ class AWS_IAM_API IAMClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&IAMClient::UploadSigningCertificate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMClientConfiguration.h b/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMClientConfiguration.h new file mode 100644 index 000000000000..9890bd47938c --- /dev/null +++ b/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IAM { +struct AWS_IAM_API IAMClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IAMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IAMClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IAMClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IAMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIAMSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IAM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IAMClientConfiguration& config); +} // namespace IAM +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMEndpointProvider.h b/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMEndpointProvider.h index 7d2bd3ff4c02..0b8cfa762f06 100644 --- a/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IAM { namespace Endpoint { +using IAMClientConfiguration = Aws::IAM::IAMClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IAMClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IAMClientConfiguration = Aws::Client::GenericClientConfiguration; -using IAMBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IAM_API IAMBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IAMBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IAMClientConfiguration& config); + virtual void SetFromClientConfiguration(const IAMClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IAMClientConfiguration& config); +}; /** * The type for the IAM Client Endpoint Provider. @@ -32,6 +41,22 @@ using IAMEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace IAM + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IAM_EXTERN template class AWS_IAM_API Aws::Endpoint::EndpointProviderBase< + IAM::Endpoint::IAMClientConfiguration, IAM::Endpoint::IAMBuiltInParameters, IAM::Endpoint::IAMClientContextParameters>; + +AWS_IAM_EXTERN template class AWS_IAM_API Aws::Endpoint::BDDEndpointProvider< + IAM::Endpoint::IAMClientConfiguration, IAM::Endpoint::IAMBuiltInParameters, IAM::Endpoint::IAMClientContextParameters>; +} // namespace Endpoint + +namespace IAM { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMServiceClientModel.h b/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMServiceClientModel.h index d577abdbceaa..4bf6d44e097e 100644 --- a/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMServiceClientModel.h @@ -185,7 +185,6 @@ class RetryStrategy; } // namespace Client namespace IAM { -using IAMClientConfiguration = Aws::Client::GenericClientConfiguration; using IAMEndpointProviderBase = Aws::IAM::Endpoint::IAMEndpointProviderBase; using IAMEndpointProvider = Aws::IAM::Endpoint::IAMEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iam/source/IAMClient.cpp b/generated/src/aws-cpp-sdk-iam/source/IAMClient.cpp index b8c290d07eaf..b6996a2303ce 100644 --- a/generated/src/aws-cpp-sdk-iam/source/IAMClient.cpp +++ b/generated/src/aws-cpp-sdk-iam/source/IAMClient.cpp @@ -255,41 +255,6 @@ IAMClient::IAMClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -IAMClient::IAMClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IAMClient::IAMClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IAMClient::IAMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IAMClient::~IAMClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IAMClient::accessEndpointProvider() { return m_endpointProvider; } @@ -307,12 +272,7 @@ void IAMClient::init(const IAM::IAMClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iam"); -} - -void IAMClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String IAMClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const { diff --git a/generated/src/aws-cpp-sdk-iam/source/IAMClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iam/source/IAMClientConfiguration.cpp new file mode 100644 index 000000000000..04df8796e8eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-iam/source/IAMClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IAM { + +void IAMClientConfiguration::LoadIAMSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IAMClientConfiguration::IAMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIAMSpecificConfig(this->profileName); +} + +IAMClientConfiguration::IAMClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIAMSpecificConfig(Aws::String(inputProfileName)); +} + +IAMClientConfiguration::IAMClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIAMSpecificConfig(this->profileName); +} + +IAMClientConfiguration::IAMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadIAMSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IAMClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IAM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iam/source/IAMEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iam/source/IAMEndpointProvider.cpp index 8fa618e899ef..44f8e913b5b9 100644 --- a/generated/src/aws-cpp-sdk-iam/source/IAMEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iam/source/IAMEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_IAM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IAM { namespace Endpoint { IAMEndpointProvider::IAMEndpointProvider() : IAMDefaultEpProviderBase(Aws::IAM::IAMEndpointRules::GetRulesBlob(), Aws::IAM::IAMEndpointRules::RulesBlobSize) {} +void IAMBuiltInParameters::SetFromClientConfiguration(const IAMClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IAMBuiltInParameters::SetFromClientConfiguration(const IAMClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IAMBuiltInParameters::SetServiceSpecificParameters(const IAMClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IAM } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreClient.h b/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreClient.h index 6ccb05db1bef..0b97bfa4aca9 100644 --- a/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreClient.h +++ b/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreClient.h @@ -79,27 +79,6 @@ class AWS_IDENTITYSTORE_API IdentityStoreClient : public Aws::Client::AWSJsonCli const Aws::IdentityStore::IdentityStoreClientConfiguration& clientConfiguration = Aws::IdentityStore::IdentityStoreClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IdentityStoreClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IdentityStoreClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IdentityStoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IdentityStoreClient(); /** @@ -748,7 +727,6 @@ class AWS_IDENTITYSTORE_API IdentityStoreClient : public Aws::Client::AWSJsonCli return SubmitAsync(&IdentityStoreClient::UpdateUser, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreClientConfiguration.h b/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreClientConfiguration.h new file mode 100644 index 000000000000..a777efc58cb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IdentityStore { +struct AWS_IDENTITYSTORE_API IdentityStoreClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IdentityStoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IdentityStoreClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IdentityStoreClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IdentityStoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIdentityStoreSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IDENTITYSTORE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IdentityStoreClientConfiguration& config); +} // namespace IdentityStore +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreEndpointProvider.h b/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreEndpointProvider.h index 134d678154f4..341a037dc6ac 100644 --- a/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IdentityStore { namespace Endpoint { +using IdentityStoreClientConfiguration = Aws::IdentityStore::IdentityStoreClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IdentityStoreClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IdentityStoreClientConfiguration = Aws::Client::GenericClientConfiguration; -using IdentityStoreBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IDENTITYSTORE_API IdentityStoreBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IdentityStoreBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IdentityStoreClientConfiguration& config); + virtual void SetFromClientConfiguration(const IdentityStoreClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IdentityStoreClientConfiguration& config); +}; /** * The type for the IdentityStore Client Endpoint Provider. @@ -34,6 +43,24 @@ using IdentityStoreEndpointProviderBase = using IdentityStoreDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IdentityStore + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IDENTITYSTORE_EXTERN template class AWS_IDENTITYSTORE_API Aws::Endpoint::EndpointProviderBase< + IdentityStore::Endpoint::IdentityStoreClientConfiguration, IdentityStore::Endpoint::IdentityStoreBuiltInParameters, + IdentityStore::Endpoint::IdentityStoreClientContextParameters>; + +AWS_IDENTITYSTORE_EXTERN template class AWS_IDENTITYSTORE_API Aws::Endpoint::BDDEndpointProvider< + IdentityStore::Endpoint::IdentityStoreClientConfiguration, IdentityStore::Endpoint::IdentityStoreBuiltInParameters, + IdentityStore::Endpoint::IdentityStoreClientContextParameters>; +} // namespace Endpoint + +namespace IdentityStore { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreServiceClientModel.h b/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreServiceClientModel.h index 02d997f5bd21..71d4bbec77f7 100644 --- a/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreServiceClientModel.h @@ -69,7 +69,6 @@ class RetryStrategy; } // namespace Client namespace IdentityStore { -using IdentityStoreClientConfiguration = Aws::Client::GenericClientConfiguration; using IdentityStoreEndpointProviderBase = Aws::IdentityStore::Endpoint::IdentityStoreEndpointProviderBase; using IdentityStoreEndpointProvider = Aws::IdentityStore::Endpoint::IdentityStoreEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreClient.cpp b/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreClient.cpp index 069a6a4f0e98..6c853351180b 100644 --- a/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreClient.cpp +++ b/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreClient.cpp @@ -100,41 +100,6 @@ IdentityStoreClient::IdentityStoreClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IdentityStoreClient::IdentityStoreClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IdentityStoreClient::IdentityStoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IdentityStoreClient::~IdentityStoreClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IdentityStoreClient::accessEndpointProvider() { return m_endpointProvider; } @@ -152,12 +117,7 @@ void IdentityStoreClient::init(const IdentityStore::IdentityStoreClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "identitystore"); -} - -void IdentityStoreClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IdentityStoreClient::InvokeOperationOutcome IdentityStoreClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreClientConfiguration.cpp b/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreClientConfiguration.cpp new file mode 100644 index 000000000000..91d071f74e83 --- /dev/null +++ b/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IdentityStore { + +void IdentityStoreClientConfiguration::LoadIdentityStoreSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IdentityStoreClientConfiguration::IdentityStoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIdentityStoreSpecificConfig(this->profileName); +} + +IdentityStoreClientConfiguration::IdentityStoreClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIdentityStoreSpecificConfig(Aws::String(inputProfileName)); +} + +IdentityStoreClientConfiguration::IdentityStoreClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIdentityStoreSpecificConfig(this->profileName); +} + +IdentityStoreClientConfiguration::IdentityStoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIdentityStoreSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IdentityStoreClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IdentityStore +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreEndpointProvider.cpp b/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreEndpointProvider.cpp index fa0134107e9b..2b9a72d701e1 100644 --- a/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IDENTITYSTORE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IdentityStore { namespace Endpoint { IdentityStoreEndpointProvider::IdentityStoreEndpointProvider() : IdentityStoreDefaultEpProviderBase(Aws::IdentityStore::IdentityStoreEndpointRules::GetRulesBlob(), Aws::IdentityStore::IdentityStoreEndpointRules::RulesBlobSize) {} +void IdentityStoreBuiltInParameters::SetFromClientConfiguration(const IdentityStoreClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IdentityStoreBuiltInParameters::SetFromClientConfiguration(const IdentityStoreClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IdentityStoreBuiltInParameters::SetServiceSpecificParameters(const IdentityStoreClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IdentityStore } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClient.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClient.h index 906c437a6191..bd9d2c563bb2 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClient.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClient.h @@ -61,27 +61,6 @@ class AWS_IMAGEBUILDER_API ImagebuilderClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::imagebuilder::ImagebuilderClientConfiguration& clientConfiguration = Aws::imagebuilder::ImagebuilderClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ImagebuilderClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ImagebuilderClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ImagebuilderClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ImagebuilderClient(); /** @@ -2341,7 +2320,6 @@ class AWS_IMAGEBUILDER_API ImagebuilderClient : public Aws::Client::AWSJsonClien return SubmitAsync(&ImagebuilderClient::UpdateLifecyclePolicy, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClientConfiguration.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClientConfiguration.h new file mode 100644 index 000000000000..dee7562a2e13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace imagebuilder { +struct AWS_IMAGEBUILDER_API ImagebuilderClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ImagebuilderClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ImagebuilderClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ImagebuilderClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ImagebuilderClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadimagebuilderSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IMAGEBUILDER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ImagebuilderClientConfiguration& config); +} // namespace imagebuilder +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderEndpointProvider.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderEndpointProvider.h index 0e4360985f17..4c28737885d8 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace imagebuilder { namespace Endpoint { +using ImagebuilderClientConfiguration = Aws::imagebuilder::ImagebuilderClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ImagebuilderClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ImagebuilderClientConfiguration = Aws::Client::GenericClientConfiguration; -using ImagebuilderBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IMAGEBUILDER_API ImagebuilderBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ImagebuilderBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ImagebuilderClientConfiguration& config); + virtual void SetFromClientConfiguration(const ImagebuilderClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ImagebuilderClientConfiguration& config); +}; /** * The type for the imagebuilder Client Endpoint Provider. @@ -34,6 +43,24 @@ using ImagebuilderEndpointProviderBase = using ImagebuilderDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace imagebuilder + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IMAGEBUILDER_EXTERN template class AWS_IMAGEBUILDER_API Aws::Endpoint::EndpointProviderBase< + imagebuilder::Endpoint::ImagebuilderClientConfiguration, imagebuilder::Endpoint::ImagebuilderBuiltInParameters, + imagebuilder::Endpoint::ImagebuilderClientContextParameters>; + +AWS_IMAGEBUILDER_EXTERN template class AWS_IMAGEBUILDER_API Aws::Endpoint::BDDEndpointProvider< + imagebuilder::Endpoint::ImagebuilderClientConfiguration, imagebuilder::Endpoint::ImagebuilderBuiltInParameters, + imagebuilder::Endpoint::ImagebuilderClientContextParameters>; +} // namespace Endpoint + +namespace imagebuilder { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderServiceClientModel.h b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderServiceClientModel.h index ecbc1f3556ea..744687faca1a 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderServiceClientModel.h @@ -138,7 +138,6 @@ class RetryStrategy; } // namespace Client namespace imagebuilder { -using ImagebuilderClientConfiguration = Aws::Client::GenericClientConfiguration; using ImagebuilderEndpointProviderBase = Aws::imagebuilder::Endpoint::ImagebuilderEndpointProviderBase; using ImagebuilderEndpointProvider = Aws::imagebuilder::Endpoint::ImagebuilderEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClient.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClient.cpp index d2567baa668f..52ac207f4f7d 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClient.cpp +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClient.cpp @@ -155,41 +155,6 @@ ImagebuilderClient::ImagebuilderClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ImagebuilderClient::ImagebuilderClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ImagebuilderClient::ImagebuilderClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ImagebuilderClient::~ImagebuilderClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ImagebuilderClient::accessEndpointProvider() { return m_endpointProvider; } @@ -207,12 +172,7 @@ void ImagebuilderClient::init(const imagebuilder::ImagebuilderClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "imagebuilder"); -} - -void ImagebuilderClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ImagebuilderClient::InvokeOperationOutcome ImagebuilderClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClientConfiguration.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClientConfiguration.cpp new file mode 100644 index 000000000000..ebf42c60ac48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace imagebuilder { + +void ImagebuilderClientConfiguration::LoadimagebuilderSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ImagebuilderClientConfiguration::ImagebuilderClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadimagebuilderSpecificConfig(this->profileName); +} + +ImagebuilderClientConfiguration::ImagebuilderClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadimagebuilderSpecificConfig(Aws::String(inputProfileName)); +} + +ImagebuilderClientConfiguration::ImagebuilderClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadimagebuilderSpecificConfig(this->profileName); +} + +ImagebuilderClientConfiguration::ImagebuilderClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadimagebuilderSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ImagebuilderClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace imagebuilder +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderEndpointProvider.cpp b/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderEndpointProvider.cpp index 7d059d57503e..1ab83e1877c0 100644 --- a/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IMAGEBUILDER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace imagebuilder { namespace Endpoint { ImagebuilderEndpointProvider::ImagebuilderEndpointProvider() : ImagebuilderDefaultEpProviderBase(Aws::imagebuilder::ImagebuilderEndpointRules::GetRulesBlob(), Aws::imagebuilder::ImagebuilderEndpointRules::RulesBlobSize) {} +void ImagebuilderBuiltInParameters::SetFromClientConfiguration(const ImagebuilderClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ImagebuilderBuiltInParameters::SetFromClientConfiguration(const ImagebuilderClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ImagebuilderBuiltInParameters::SetServiceSpecificParameters(const ImagebuilderClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace imagebuilder } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportClient.h b/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportClient.h index 52689cc8c158..fc98b1a8d5ea 100644 --- a/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportClient.h +++ b/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportClient.h @@ -61,27 +61,6 @@ class AWS_IMPORTEXPORT_API ImportExportClient : public Aws::Client::AWSXMLClient std::shared_ptr endpointProvider = nullptr, const Aws::ImportExport::ImportExportClientConfiguration& clientConfiguration = Aws::ImportExport::ImportExportClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ImportExportClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ImportExportClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ImportExportClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ImportExportClient(); /** @@ -259,7 +238,6 @@ class AWS_IMPORTEXPORT_API ImportExportClient : public Aws::Client::AWSXMLClient return SubmitAsync(&ImportExportClient::UpdateJob, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportClientConfiguration.h b/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportClientConfiguration.h new file mode 100644 index 000000000000..05043f2af1e3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ImportExport { +struct AWS_IMPORTEXPORT_API ImportExportClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ImportExportClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ImportExportClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ImportExportClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ImportExportClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadImportExportSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IMPORTEXPORT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ImportExportClientConfiguration& config); +} // namespace ImportExport +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportEndpointProvider.h b/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportEndpointProvider.h index 2c8ca9de456f..2afc90640e90 100644 --- a/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ImportExport { namespace Endpoint { +using ImportExportClientConfiguration = Aws::ImportExport::ImportExportClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ImportExportClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ImportExportClientConfiguration = Aws::Client::GenericClientConfiguration; -using ImportExportBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IMPORTEXPORT_API ImportExportBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ImportExportBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ImportExportClientConfiguration& config); + virtual void SetFromClientConfiguration(const ImportExportClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ImportExportClientConfiguration& config); +}; /** * The type for the ImportExport Client Endpoint Provider. @@ -34,6 +43,24 @@ using ImportExportEndpointProviderBase = using ImportExportDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace ImportExport + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IMPORTEXPORT_EXTERN template class AWS_IMPORTEXPORT_API Aws::Endpoint::EndpointProviderBase< + ImportExport::Endpoint::ImportExportClientConfiguration, ImportExport::Endpoint::ImportExportBuiltInParameters, + ImportExport::Endpoint::ImportExportClientContextParameters>; + +AWS_IMPORTEXPORT_EXTERN template class AWS_IMPORTEXPORT_API Aws::Endpoint::DefaultEndpointProvider< + ImportExport::Endpoint::ImportExportClientConfiguration, ImportExport::Endpoint::ImportExportBuiltInParameters, + ImportExport::Endpoint::ImportExportClientContextParameters>; +} // namespace Endpoint + +namespace ImportExport { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportServiceClientModel.h b/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportServiceClientModel.h index 6ba75115b6b4..3d7ae4319212 100644 --- a/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportServiceClientModel.h @@ -53,7 +53,6 @@ class RetryStrategy; } // namespace Client namespace ImportExport { -using ImportExportClientConfiguration = Aws::Client::GenericClientConfiguration; using ImportExportEndpointProviderBase = Aws::ImportExport::Endpoint::ImportExportEndpointProviderBase; using ImportExportEndpointProvider = Aws::ImportExport::Endpoint::ImportExportEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-importexport/source/ImportExportClient.cpp b/generated/src/aws-cpp-sdk-importexport/source/ImportExportClient.cpp index 57d830a4b8f9..39495d0db938 100644 --- a/generated/src/aws-cpp-sdk-importexport/source/ImportExportClient.cpp +++ b/generated/src/aws-cpp-sdk-importexport/source/ImportExportClient.cpp @@ -84,41 +84,6 @@ ImportExportClient::ImportExportClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ImportExportClient::ImportExportClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ImportExportClient::ImportExportClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ImportExportClient::~ImportExportClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ImportExportClient::accessEndpointProvider() { return m_endpointProvider; } @@ -136,12 +101,7 @@ void ImportExportClient::init(const ImportExport::ImportExportClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "importexport"); -} - -void ImportExportClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String ImportExportClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-importexport/source/ImportExportClientConfiguration.cpp b/generated/src/aws-cpp-sdk-importexport/source/ImportExportClientConfiguration.cpp new file mode 100644 index 000000000000..f3a9c4345433 --- /dev/null +++ b/generated/src/aws-cpp-sdk-importexport/source/ImportExportClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ImportExport { + +void ImportExportClientConfiguration::LoadImportExportSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ImportExportClientConfiguration::ImportExportClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadImportExportSpecificConfig(this->profileName); +} + +ImportExportClientConfiguration::ImportExportClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadImportExportSpecificConfig(Aws::String(inputProfileName)); +} + +ImportExportClientConfiguration::ImportExportClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadImportExportSpecificConfig(this->profileName); +} + +ImportExportClientConfiguration::ImportExportClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadImportExportSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ImportExportClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ImportExport +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-importexport/source/ImportExportEndpointProvider.cpp b/generated/src/aws-cpp-sdk-importexport/source/ImportExportEndpointProvider.cpp index f68643587734..957c031a53a0 100644 --- a/generated/src/aws-cpp-sdk-importexport/source/ImportExportEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-importexport/source/ImportExportEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IMPORTEXPORT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace ImportExport { namespace Endpoint { ImportExportEndpointProvider::ImportExportEndpointProvider() : ImportExportDefaultEpProviderBase(Aws::ImportExport::ImportExportEndpointRules::GetRulesBlob(), Aws::ImportExport::ImportExportEndpointRules::RulesBlobSize) {} +void ImportExportBuiltInParameters::SetFromClientConfiguration(const ImportExportClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ImportExportBuiltInParameters::SetFromClientConfiguration(const ImportExportClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ImportExportBuiltInParameters::SetServiceSpecificParameters(const ImportExportClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ImportExport } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanClient.h b/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanClient.h index a09375bd6633..ae017e8dc6a9 100644 --- a/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanClient.h +++ b/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanClient.h @@ -57,27 +57,6 @@ class AWS_INSPECTORSCAN_API InspectorscanClient : public Aws::Client::AWSJsonCli const Aws::inspectorscan::InspectorscanClientConfiguration& clientConfiguration = Aws::inspectorscan::InspectorscanClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - InspectorscanClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - InspectorscanClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - InspectorscanClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~InspectorscanClient(); /** @@ -113,7 +92,6 @@ class AWS_INSPECTORSCAN_API InspectorscanClient : public Aws::Client::AWSJsonCli return SubmitAsync(&InspectorscanClient::ScanSbom, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanClientConfiguration.h b/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanClientConfiguration.h new file mode 100644 index 000000000000..a2b1e4958093 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace inspectorscan { +struct AWS_INSPECTORSCAN_API InspectorscanClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + InspectorscanClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InspectorscanClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InspectorscanClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit InspectorscanClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadinspectorscanSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_INSPECTORSCAN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const InspectorscanClientConfiguration& config); +} // namespace inspectorscan +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanEndpointProvider.h b/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanEndpointProvider.h index d62f13bdef51..0f86854cab59 100644 --- a/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace inspectorscan { namespace Endpoint { +using InspectorscanClientConfiguration = Aws::inspectorscan::InspectorscanClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using InspectorscanClientContextParameters = Aws::Endpoint::ClientContextParameters; -using InspectorscanClientConfiguration = Aws::Client::GenericClientConfiguration; -using InspectorscanBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_INSPECTORSCAN_API InspectorscanBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~InspectorscanBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const InspectorscanClientConfiguration& config); + virtual void SetFromClientConfiguration(const InspectorscanClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const InspectorscanClientConfiguration& config); +}; /** * The type for the inspectorscan Client Endpoint Provider. @@ -34,6 +43,24 @@ using InspectorscanEndpointProviderBase = using InspectorscanDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace inspectorscan + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_INSPECTORSCAN_EXTERN template class AWS_INSPECTORSCAN_API Aws::Endpoint::EndpointProviderBase< + inspectorscan::Endpoint::InspectorscanClientConfiguration, inspectorscan::Endpoint::InspectorscanBuiltInParameters, + inspectorscan::Endpoint::InspectorscanClientContextParameters>; + +AWS_INSPECTORSCAN_EXTERN template class AWS_INSPECTORSCAN_API Aws::Endpoint::BDDEndpointProvider< + inspectorscan::Endpoint::InspectorscanClientConfiguration, inspectorscan::Endpoint::InspectorscanBuiltInParameters, + inspectorscan::Endpoint::InspectorscanClientContextParameters>; +} // namespace Endpoint + +namespace inspectorscan { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanServiceClientModel.h b/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanServiceClientModel.h index c7088ce659e7..ea932387789a 100644 --- a/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace inspectorscan { -using InspectorscanClientConfiguration = Aws::Client::GenericClientConfiguration; using InspectorscanEndpointProviderBase = Aws::inspectorscan::Endpoint::InspectorscanEndpointProviderBase; using InspectorscanEndpointProvider = Aws::inspectorscan::Endpoint::InspectorscanEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanClient.cpp b/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanClient.cpp index d41e9a74dbae..54976eca2c74 100644 --- a/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanClient.cpp +++ b/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanClient.cpp @@ -79,41 +79,6 @@ InspectorscanClient::InspectorscanClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InspectorscanClient::InspectorscanClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InspectorscanClient::InspectorscanClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ InspectorscanClient::~InspectorscanClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& InspectorscanClient::accessEndpointProvider() { return m_endpointProvider; } @@ -131,12 +96,7 @@ void InspectorscanClient::init(const inspectorscan::InspectorscanClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "inspector-scan"); -} - -void InspectorscanClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } InspectorscanClient::InvokeOperationOutcome InspectorscanClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanClientConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanClientConfiguration.cpp new file mode 100644 index 000000000000..2dffe56d1c46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace inspectorscan { + +void InspectorscanClientConfiguration::LoadinspectorscanSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +InspectorscanClientConfiguration::InspectorscanClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadinspectorscanSpecificConfig(this->profileName); +} + +InspectorscanClientConfiguration::InspectorscanClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadinspectorscanSpecificConfig(Aws::String(inputProfileName)); +} + +InspectorscanClientConfiguration::InspectorscanClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadinspectorscanSpecificConfig(this->profileName); +} + +InspectorscanClientConfiguration::InspectorscanClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadinspectorscanSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const InspectorscanClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace inspectorscan +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanEndpointProvider.cpp b/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanEndpointProvider.cpp index 779b2ba5e702..751dba6ee686 100644 --- a/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_INSPECTORSCAN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace inspectorscan { namespace Endpoint { InspectorscanEndpointProvider::InspectorscanEndpointProvider() : InspectorscanDefaultEpProviderBase(Aws::inspectorscan::InspectorscanEndpointRules::GetRulesBlob(), Aws::inspectorscan::InspectorscanEndpointRules::RulesBlobSize) {} +void InspectorscanBuiltInParameters::SetFromClientConfiguration(const InspectorscanClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void InspectorscanBuiltInParameters::SetFromClientConfiguration(const InspectorscanClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void InspectorscanBuiltInParameters::SetServiceSpecificParameters(const InspectorscanClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace inspectorscan } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorClient.h b/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorClient.h index 3a1b0e9eb3c1..096e8a1c11a6 100644 --- a/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorClient.h +++ b/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorClient.h @@ -56,27 +56,6 @@ class AWS_INSPECTOR_API InspectorClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Inspector::InspectorClientConfiguration& clientConfiguration = Aws::Inspector::InspectorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - InspectorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - InspectorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - InspectorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~InspectorClient(); /** @@ -1137,7 +1116,6 @@ class AWS_INSPECTOR_API InspectorClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&InspectorClient::UpdateAssessmentTarget, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorClientConfiguration.h b/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorClientConfiguration.h new file mode 100644 index 000000000000..6fd3acd79b44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Inspector { +struct AWS_INSPECTOR_API InspectorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + InspectorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InspectorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InspectorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit InspectorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadInspectorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_INSPECTOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const InspectorClientConfiguration& config); +} // namespace Inspector +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorEndpointProvider.h b/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorEndpointProvider.h index 9540d217457b..861ee6703f68 100644 --- a/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Inspector { namespace Endpoint { +using InspectorClientConfiguration = Aws::Inspector::InspectorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using InspectorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using InspectorClientConfiguration = Aws::Client::GenericClientConfiguration; -using InspectorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_INSPECTOR_API InspectorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~InspectorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const InspectorClientConfiguration& config); + virtual void SetFromClientConfiguration(const InspectorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const InspectorClientConfiguration& config); +}; /** * The type for the Inspector Client Endpoint Provider. @@ -34,6 +43,24 @@ using InspectorEndpointProviderBase = using InspectorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Inspector + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_INSPECTOR_EXTERN template class AWS_INSPECTOR_API + Aws::Endpoint::EndpointProviderBase; + +AWS_INSPECTOR_EXTERN template class AWS_INSPECTOR_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Inspector { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorServiceClientModel.h b/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorServiceClientModel.h index d29b0e5a96ea..b3e3043ea660 100644 --- a/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorServiceClientModel.h @@ -82,7 +82,6 @@ class RetryStrategy; } // namespace Client namespace Inspector { -using InspectorClientConfiguration = Aws::Client::GenericClientConfiguration; using InspectorEndpointProviderBase = Aws::Inspector::Endpoint::InspectorEndpointProviderBase; using InspectorEndpointProvider = Aws::Inspector::Endpoint::InspectorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-inspector/source/InspectorClient.cpp b/generated/src/aws-cpp-sdk-inspector/source/InspectorClient.cpp index bbfa750ea7ef..1c2833dfd1ee 100644 --- a/generated/src/aws-cpp-sdk-inspector/source/InspectorClient.cpp +++ b/generated/src/aws-cpp-sdk-inspector/source/InspectorClient.cpp @@ -114,41 +114,6 @@ InspectorClient::InspectorClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -InspectorClient::InspectorClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InspectorClient::InspectorClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InspectorClient::InspectorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ InspectorClient::~InspectorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& InspectorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -166,12 +131,7 @@ void InspectorClient::init(const Inspector::InspectorClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "inspector"); -} - -void InspectorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } InspectorClient::InvokeOperationOutcome InspectorClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-inspector/source/InspectorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector/source/InspectorClientConfiguration.cpp new file mode 100644 index 000000000000..ff0ba7cf7572 --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector/source/InspectorClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Inspector { + +void InspectorClientConfiguration::LoadInspectorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +InspectorClientConfiguration::InspectorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadInspectorSpecificConfig(this->profileName); +} + +InspectorClientConfiguration::InspectorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadInspectorSpecificConfig(Aws::String(inputProfileName)); +} + +InspectorClientConfiguration::InspectorClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadInspectorSpecificConfig(this->profileName); +} + +InspectorClientConfiguration::InspectorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadInspectorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const InspectorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Inspector +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector/source/InspectorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-inspector/source/InspectorEndpointProvider.cpp index b43feee96062..47d8a57d5934 100644 --- a/generated/src/aws-cpp-sdk-inspector/source/InspectorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-inspector/source/InspectorEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_INSPECTOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Inspector { namespace Endpoint { InspectorEndpointProvider::InspectorEndpointProvider() : InspectorDefaultEpProviderBase(Aws::Inspector::InspectorEndpointRules::GetRulesBlob(), Aws::Inspector::InspectorEndpointRules::RulesBlobSize) {} +void InspectorBuiltInParameters::SetFromClientConfiguration(const InspectorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void InspectorBuiltInParameters::SetFromClientConfiguration(const InspectorClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void InspectorBuiltInParameters::SetServiceSpecificParameters(const InspectorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Inspector } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2Client.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2Client.h index 21cd14b50fe3..07d502fd5daa 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2Client.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2Client.h @@ -57,27 +57,6 @@ class AWS_INSPECTOR2_API Inspector2Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Inspector2::Inspector2ClientConfiguration& clientConfiguration = Aws::Inspector2::Inspector2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Inspector2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Inspector2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Inspector2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Inspector2Client(); /** @@ -2464,7 +2443,6 @@ class AWS_INSPECTOR2_API Inspector2Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&Inspector2Client::UpdateOrganizationConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ClientConfiguration.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ClientConfiguration.h new file mode 100644 index 000000000000..7e5ecc8f165c --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Inspector2 { +struct AWS_INSPECTOR2_API Inspector2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Inspector2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Inspector2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Inspector2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Inspector2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadInspector2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_INSPECTOR2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Inspector2ClientConfiguration& config); +} // namespace Inspector2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2EndpointProvider.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2EndpointProvider.h index 6c2fd1c2b08f..2ffdb5675bfc 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Inspector2 { namespace Endpoint { +using Inspector2ClientConfiguration = Aws::Inspector2::Inspector2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Inspector2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Inspector2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using Inspector2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_INSPECTOR2_API Inspector2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Inspector2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Inspector2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const Inspector2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Inspector2ClientConfiguration& config); +}; /** * The type for the Inspector2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using Inspector2EndpointProviderBase = using Inspector2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Inspector2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_INSPECTOR2_EXTERN template class AWS_INSPECTOR2_API Aws::Endpoint::EndpointProviderBase< + Inspector2::Endpoint::Inspector2ClientConfiguration, Inspector2::Endpoint::Inspector2BuiltInParameters, + Inspector2::Endpoint::Inspector2ClientContextParameters>; + +AWS_INSPECTOR2_EXTERN template class AWS_INSPECTOR2_API Aws::Endpoint::BDDEndpointProvider< + Inspector2::Endpoint::Inspector2ClientConfiguration, Inspector2::Endpoint::Inspector2BuiltInParameters, + Inspector2::Endpoint::Inspector2ClientContextParameters>; +} // namespace Endpoint + +namespace Inspector2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ServiceClientModel.h b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ServiceClientModel.h index 120c10b096c1..76bec893a106 100644 --- a/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ServiceClientModel.h @@ -154,7 +154,6 @@ class RetryStrategy; } // namespace Client namespace Inspector2 { -using Inspector2ClientConfiguration = Aws::Client::GenericClientConfiguration; using Inspector2EndpointProviderBase = Aws::Inspector2::Endpoint::Inspector2EndpointProviderBase; using Inspector2EndpointProvider = Aws::Inspector2::Endpoint::Inspector2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-inspector2/source/Inspector2Client.cpp b/generated/src/aws-cpp-sdk-inspector2/source/Inspector2Client.cpp index f3193c26c3fd..4ac8e183c9c9 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/Inspector2Client.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/Inspector2Client.cpp @@ -161,41 +161,6 @@ Inspector2Client::Inspector2Client(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -Inspector2Client::Inspector2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Inspector2Client::Inspector2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Inspector2Client::Inspector2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Inspector2Client::~Inspector2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& Inspector2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -213,12 +178,7 @@ void Inspector2Client::init(const Inspector2::Inspector2ClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "inspector2"); -} - -void Inspector2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Inspector2Client::InvokeOperationOutcome Inspector2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-inspector2/source/Inspector2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-inspector2/source/Inspector2ClientConfiguration.cpp new file mode 100644 index 000000000000..1e7b5b7e0b6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-inspector2/source/Inspector2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Inspector2 { + +void Inspector2ClientConfiguration::LoadInspector2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Inspector2ClientConfiguration::Inspector2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadInspector2SpecificConfig(this->profileName); +} + +Inspector2ClientConfiguration::Inspector2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadInspector2SpecificConfig(Aws::String(inputProfileName)); +} + +Inspector2ClientConfiguration::Inspector2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadInspector2SpecificConfig(this->profileName); +} + +Inspector2ClientConfiguration::Inspector2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadInspector2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Inspector2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Inspector2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-inspector2/source/Inspector2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-inspector2/source/Inspector2EndpointProvider.cpp index 5a4bc3bd2697..293f9cccdcd7 100644 --- a/generated/src/aws-cpp-sdk-inspector2/source/Inspector2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-inspector2/source/Inspector2EndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_INSPECTOR2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Inspector2 { namespace Endpoint { Inspector2EndpointProvider::Inspector2EndpointProvider() : Inspector2DefaultEpProviderBase(Aws::Inspector2::Inspector2EndpointRules::GetRulesBlob(), Aws::Inspector2::Inspector2EndpointRules::RulesBlobSize) {} +void Inspector2BuiltInParameters::SetFromClientConfiguration(const Inspector2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Inspector2BuiltInParameters::SetFromClientConfiguration(const Inspector2ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Inspector2BuiltInParameters::SetServiceSpecificParameters(const Inspector2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Inspector2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectClient.h b/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectClient.h index f88f1a40d213..350752cf2893 100644 --- a/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectClient.h +++ b/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectClient.h @@ -56,27 +56,6 @@ class AWS_INTERCONNECT_API InterconnectClient : public Aws::Client::AWSRpcV2Cbor std::shared_ptr endpointProvider = nullptr, const Aws::Interconnect::InterconnectClientConfiguration& clientConfiguration = Aws::Interconnect::InterconnectClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - InterconnectClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - InterconnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - InterconnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~InterconnectClient(); /** @@ -447,7 +426,6 @@ class AWS_INTERCONNECT_API InterconnectClient : public Aws::Client::AWSRpcV2Cbor return SubmitAsync(&InterconnectClient::UpdateConnection, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectClientConfiguration.h b/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectClientConfiguration.h new file mode 100644 index 000000000000..8caf051663f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Interconnect { +struct AWS_INTERCONNECT_API InterconnectClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + InterconnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InterconnectClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InterconnectClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit InterconnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadInterconnectSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_INTERCONNECT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const InterconnectClientConfiguration& config); +} // namespace Interconnect +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectEndpointProvider.h b/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectEndpointProvider.h index 864df8c70911..1b28ae5f2503 100644 --- a/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Interconnect { namespace Endpoint { +using InterconnectClientConfiguration = Aws::Interconnect::InterconnectClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using InterconnectClientContextParameters = Aws::Endpoint::ClientContextParameters; -using InterconnectClientConfiguration = Aws::Client::GenericClientConfiguration; -using InterconnectBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_INTERCONNECT_API InterconnectBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~InterconnectBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const InterconnectClientConfiguration& config); + virtual void SetFromClientConfiguration(const InterconnectClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const InterconnectClientConfiguration& config); +}; /** * The type for the Interconnect Client Endpoint Provider. @@ -34,6 +43,24 @@ using InterconnectEndpointProviderBase = using InterconnectDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Interconnect + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_INTERCONNECT_EXTERN template class AWS_INTERCONNECT_API Aws::Endpoint::EndpointProviderBase< + Interconnect::Endpoint::InterconnectClientConfiguration, Interconnect::Endpoint::InterconnectBuiltInParameters, + Interconnect::Endpoint::InterconnectClientContextParameters>; + +AWS_INTERCONNECT_EXTERN template class AWS_INTERCONNECT_API Aws::Endpoint::BDDEndpointProvider< + Interconnect::Endpoint::InterconnectClientConfiguration, Interconnect::Endpoint::InterconnectBuiltInParameters, + Interconnect::Endpoint::InterconnectClientContextParameters>; +} // namespace Endpoint + +namespace Interconnect { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectServiceClientModel.h b/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectServiceClientModel.h index 9eb910751b22..580b64988350 100644 --- a/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace Interconnect { -using InterconnectClientConfiguration = Aws::Client::GenericClientConfiguration; using InterconnectEndpointProviderBase = Aws::Interconnect::Endpoint::InterconnectEndpointProviderBase; using InterconnectEndpointProvider = Aws::Interconnect::Endpoint::InterconnectEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-interconnect/source/InterconnectClient.cpp b/generated/src/aws-cpp-sdk-interconnect/source/InterconnectClient.cpp index 6cdb99d5aa22..5323bf5ff924 100644 --- a/generated/src/aws-cpp-sdk-interconnect/source/InterconnectClient.cpp +++ b/generated/src/aws-cpp-sdk-interconnect/source/InterconnectClient.cpp @@ -91,41 +91,6 @@ InterconnectClient::InterconnectClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InterconnectClient::InterconnectClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InterconnectClient::InterconnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ InterconnectClient::~InterconnectClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& InterconnectClient::accessEndpointProvider() { return m_endpointProvider; } @@ -143,12 +108,7 @@ void InterconnectClient::init(const Interconnect::InterconnectClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "interconnect"); -} - -void InterconnectClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } InterconnectClient::InvokeOperationOutcome InterconnectClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-interconnect/source/InterconnectClientConfiguration.cpp b/generated/src/aws-cpp-sdk-interconnect/source/InterconnectClientConfiguration.cpp new file mode 100644 index 000000000000..db31ad2fc91b --- /dev/null +++ b/generated/src/aws-cpp-sdk-interconnect/source/InterconnectClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Interconnect { + +void InterconnectClientConfiguration::LoadInterconnectSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +InterconnectClientConfiguration::InterconnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadInterconnectSpecificConfig(this->profileName); +} + +InterconnectClientConfiguration::InterconnectClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadInterconnectSpecificConfig(Aws::String(inputProfileName)); +} + +InterconnectClientConfiguration::InterconnectClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadInterconnectSpecificConfig(this->profileName); +} + +InterconnectClientConfiguration::InterconnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadInterconnectSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const InterconnectClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Interconnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-interconnect/source/InterconnectEndpointProvider.cpp b/generated/src/aws-cpp-sdk-interconnect/source/InterconnectEndpointProvider.cpp index c0103495e086..4d0fcc242780 100644 --- a/generated/src/aws-cpp-sdk-interconnect/source/InterconnectEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-interconnect/source/InterconnectEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_INTERCONNECT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Interconnect { namespace Endpoint { InterconnectEndpointProvider::InterconnectEndpointProvider() : InterconnectDefaultEpProviderBase(Aws::Interconnect::InterconnectEndpointRules::GetRulesBlob(), Aws::Interconnect::InterconnectEndpointRules::RulesBlobSize) {} +void InterconnectBuiltInParameters::SetFromClientConfiguration(const InterconnectClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void InterconnectBuiltInParameters::SetFromClientConfiguration(const InterconnectClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void InterconnectBuiltInParameters::SetServiceSpecificParameters(const InterconnectClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace Interconnect } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorClient.h b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorClient.h index e711365330a5..8d543a501e8d 100644 --- a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorClient.h +++ b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorClient.h @@ -82,27 +82,6 @@ class AWS_INTERNETMONITOR_API InternetMonitorClient : public Aws::Client::AWSJso const Aws::InternetMonitor::InternetMonitorClientConfiguration& clientConfiguration = Aws::InternetMonitor::InternetMonitorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - InternetMonitorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - InternetMonitorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - InternetMonitorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~InternetMonitorClient(); /** @@ -600,7 +579,6 @@ class AWS_INTERNETMONITOR_API InternetMonitorClient : public Aws::Client::AWSJso return SubmitAsync(&InternetMonitorClient::UpdateMonitor, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorClientConfiguration.h b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorClientConfiguration.h new file mode 100644 index 000000000000..bb7dffa6e273 --- /dev/null +++ b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace InternetMonitor { +struct AWS_INTERNETMONITOR_API InternetMonitorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + InternetMonitorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InternetMonitorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InternetMonitorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit InternetMonitorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadInternetMonitorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_INTERNETMONITOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const InternetMonitorClientConfiguration& config); +} // namespace InternetMonitor +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorEndpointProvider.h b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorEndpointProvider.h index d6ab592a2deb..4d6cb4a03d57 100644 --- a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace InternetMonitor { namespace Endpoint { +using InternetMonitorClientConfiguration = Aws::InternetMonitor::InternetMonitorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using InternetMonitorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using InternetMonitorClientConfiguration = Aws::Client::GenericClientConfiguration; -using InternetMonitorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_INTERNETMONITOR_API InternetMonitorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~InternetMonitorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const InternetMonitorClientConfiguration& config); + virtual void SetFromClientConfiguration(const InternetMonitorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const InternetMonitorClientConfiguration& config); +}; /** * The type for the InternetMonitor Client Endpoint Provider. @@ -34,6 +43,24 @@ using InternetMonitorEndpointProviderBase = using InternetMonitorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace InternetMonitor + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_INTERNETMONITOR_EXTERN template class AWS_INTERNETMONITOR_API Aws::Endpoint::EndpointProviderBase< + InternetMonitor::Endpoint::InternetMonitorClientConfiguration, InternetMonitor::Endpoint::InternetMonitorBuiltInParameters, + InternetMonitor::Endpoint::InternetMonitorClientContextParameters>; + +AWS_INTERNETMONITOR_EXTERN template class AWS_INTERNETMONITOR_API Aws::Endpoint::BDDEndpointProvider< + InternetMonitor::Endpoint::InternetMonitorClientConfiguration, InternetMonitor::Endpoint::InternetMonitorBuiltInParameters, + InternetMonitor::Endpoint::InternetMonitorClientContextParameters>; +} // namespace Endpoint + +namespace InternetMonitor { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorServiceClientModel.h b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorServiceClientModel.h index 52905bc32a48..d082f886ebbf 100644 --- a/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorServiceClientModel.h @@ -64,7 +64,6 @@ class RetryStrategy; } // namespace Client namespace InternetMonitor { -using InternetMonitorClientConfiguration = Aws::Client::GenericClientConfiguration; using InternetMonitorEndpointProviderBase = Aws::InternetMonitor::Endpoint::InternetMonitorEndpointProviderBase; using InternetMonitorEndpointProvider = Aws::InternetMonitor::Endpoint::InternetMonitorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorClient.cpp b/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorClient.cpp index b6ab6ad0fd4d..5ea5435b9812 100644 --- a/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorClient.cpp +++ b/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorClient.cpp @@ -97,41 +97,6 @@ InternetMonitorClient::InternetMonitorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InternetMonitorClient::InternetMonitorClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InternetMonitorClient::InternetMonitorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ InternetMonitorClient::~InternetMonitorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& InternetMonitorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void InternetMonitorClient::init(const InternetMonitor::InternetMonitorClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "internetmonitor"); -} - -void InternetMonitorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } InternetMonitorClient::InvokeOperationOutcome InternetMonitorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorClientConfiguration.cpp new file mode 100644 index 000000000000..7076f20c4af8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace InternetMonitor { + +void InternetMonitorClientConfiguration::LoadInternetMonitorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +InternetMonitorClientConfiguration::InternetMonitorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadInternetMonitorSpecificConfig(this->profileName); +} + +InternetMonitorClientConfiguration::InternetMonitorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadInternetMonitorSpecificConfig(Aws::String(inputProfileName)); +} + +InternetMonitorClientConfiguration::InternetMonitorClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadInternetMonitorSpecificConfig(this->profileName); +} + +InternetMonitorClientConfiguration::InternetMonitorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadInternetMonitorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const InternetMonitorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace InternetMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorEndpointProvider.cpp index 377008769e2b..e28f11ef4a90 100644 --- a/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_INTERNETMONITOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace InternetMonitor { namespace Endpoint { InternetMonitorEndpointProvider::InternetMonitorEndpointProvider() : InternetMonitorDefaultEpProviderBase(Aws::InternetMonitor::InternetMonitorEndpointRules::GetRulesBlob(), Aws::InternetMonitor::InternetMonitorEndpointRules::RulesBlobSize) {} +void InternetMonitorBuiltInParameters::SetFromClientConfiguration(const InternetMonitorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void InternetMonitorBuiltInParameters::SetFromClientConfiguration(const InternetMonitorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void InternetMonitorBuiltInParameters::SetServiceSpecificParameters(const InternetMonitorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace InternetMonitor } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClient.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClient.h index 9144127c46f3..46319f0e0c31 100644 --- a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClient.h +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClient.h @@ -97,27 +97,6 @@ class AWS_INVOICING_API InvoicingClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Invoicing::InvoicingClientConfiguration& clientConfiguration = Aws::Invoicing::InvoicingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - InvoicingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - InvoicingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - InvoicingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~InvoicingClient(); /** @@ -755,7 +734,6 @@ class AWS_INVOICING_API InvoicingClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&InvoicingClient::VerifyProcurementPortalValidation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClientConfiguration.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClientConfiguration.h new file mode 100644 index 000000000000..2fb4e0877e31 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Invoicing { +struct AWS_INVOICING_API InvoicingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + InvoicingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InvoicingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + InvoicingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit InvoicingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadInvoicingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_INVOICING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const InvoicingClientConfiguration& config); +} // namespace Invoicing +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointProvider.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointProvider.h index d79f5a82d5a9..aca209561926 100644 --- a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Invoicing { namespace Endpoint { +using InvoicingClientConfiguration = Aws::Invoicing::InvoicingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using InvoicingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using InvoicingClientConfiguration = Aws::Client::GenericClientConfiguration; -using InvoicingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_INVOICING_API InvoicingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~InvoicingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const InvoicingClientConfiguration& config); + virtual void SetFromClientConfiguration(const InvoicingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const InvoicingClientConfiguration& config); +}; /** * The type for the Invoicing Client Endpoint Provider. @@ -34,6 +43,24 @@ using InvoicingEndpointProviderBase = using InvoicingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Invoicing + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_INVOICING_EXTERN template class AWS_INVOICING_API + Aws::Endpoint::EndpointProviderBase; + +AWS_INVOICING_EXTERN template class AWS_INVOICING_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Invoicing { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingServiceClientModel.h b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingServiceClientModel.h index f19b784d5a0b..1d8ea8d15c12 100644 --- a/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingServiceClientModel.h @@ -70,7 +70,6 @@ class RetryStrategy; } // namespace Client namespace Invoicing { -using InvoicingClientConfiguration = Aws::Client::GenericClientConfiguration; using InvoicingEndpointProviderBase = Aws::Invoicing::Endpoint::InvoicingEndpointProviderBase; using InvoicingEndpointProvider = Aws::Invoicing::Endpoint::InvoicingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClient.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClient.cpp index e94ebe80bc49..e945ca255c19 100644 --- a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClient.cpp +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClient.cpp @@ -98,41 +98,6 @@ InvoicingClient::InvoicingClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -InvoicingClient::InvoicingClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InvoicingClient::InvoicingClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -InvoicingClient::InvoicingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ InvoicingClient::~InvoicingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& InvoicingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -150,12 +115,7 @@ void InvoicingClient::init(const Invoicing::InvoicingClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "invoicing"); -} - -void InvoicingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } InvoicingClient::InvokeOperationOutcome InvoicingClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClientConfiguration.cpp new file mode 100644 index 000000000000..b22225b50cb4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Invoicing { + +void InvoicingClientConfiguration::LoadInvoicingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +InvoicingClientConfiguration::InvoicingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadInvoicingSpecificConfig(this->profileName); +} + +InvoicingClientConfiguration::InvoicingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadInvoicingSpecificConfig(Aws::String(inputProfileName)); +} + +InvoicingClientConfiguration::InvoicingClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadInvoicingSpecificConfig(this->profileName); +} + +InvoicingClientConfiguration::InvoicingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadInvoicingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const InvoicingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Invoicing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointProvider.cpp index 9b6b4d22e935..ff696621f993 100644 --- a/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-invoicing/source/InvoicingEndpointProvider.cpp @@ -7,12 +7,42 @@ #include namespace Aws { +#ifndef AWS_INVOICING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Invoicing { namespace Endpoint { InvoicingEndpointProvider::InvoicingEndpointProvider() : InvoicingDefaultEpProviderBase(Aws::Invoicing::InvoicingEndpointRules::GetRulesBlob(), Aws::Invoicing::InvoicingEndpointRules::RulesBlobSize) {} +void InvoicingBuiltInParameters::SetFromClientConfiguration(const InvoicingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void InvoicingBuiltInParameters::SetFromClientConfiguration(const InvoicingClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void InvoicingBuiltInParameters::SetServiceSpecificParameters(const InvoicingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace Invoicing } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneClient.h b/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneClient.h index 46b42dc0b6e3..392fcff0c106 100644 --- a/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneClient.h +++ b/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneClient.h @@ -66,27 +66,6 @@ class AWS_IOTDATAPLANE_API IoTDataPlaneClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::IoTDataPlane::IoTDataPlaneClientConfiguration& clientConfiguration = Aws::IoTDataPlane::IoTDataPlaneClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTDataPlaneClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTDataPlaneClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTDataPlaneClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTDataPlaneClient(); /** @@ -439,7 +418,6 @@ class AWS_IOTDATAPLANE_API IoTDataPlaneClient : public Aws::Client::AWSJsonClien return SubmitAsync(&IoTDataPlaneClient::UpdateThingShadow, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneClientConfiguration.h b/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneClientConfiguration.h new file mode 100644 index 000000000000..efc7169b955e --- /dev/null +++ b/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTDataPlane { +struct AWS_IOTDATAPLANE_API IoTDataPlaneClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTDataPlaneClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTDataPlaneClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTDataPlaneClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTDataPlaneClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadIoTDataPlaneSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTDATAPLANE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTDataPlaneClientConfiguration& config); +} // namespace IoTDataPlane +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneEndpointProvider.h b/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneEndpointProvider.h index e0b2c2dcd306..8015d375409b 100644 --- a/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTDataPlane { namespace Endpoint { +using IoTDataPlaneClientConfiguration = Aws::IoTDataPlane::IoTDataPlaneClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTDataPlaneClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTDataPlaneClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTDataPlaneBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTDATAPLANE_API IoTDataPlaneBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTDataPlaneBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTDataPlaneClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTDataPlaneClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTDataPlaneClientConfiguration& config); +}; /** * The type for the IoTDataPlane Client Endpoint Provider. @@ -34,6 +43,24 @@ using IoTDataPlaneEndpointProviderBase = using IoTDataPlaneDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTDataPlane + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTDATAPLANE_EXTERN template class AWS_IOTDATAPLANE_API Aws::Endpoint::EndpointProviderBase< + IoTDataPlane::Endpoint::IoTDataPlaneClientConfiguration, IoTDataPlane::Endpoint::IoTDataPlaneBuiltInParameters, + IoTDataPlane::Endpoint::IoTDataPlaneClientContextParameters>; + +AWS_IOTDATAPLANE_EXTERN template class AWS_IOTDATAPLANE_API Aws::Endpoint::BDDEndpointProvider< + IoTDataPlane::Endpoint::IoTDataPlaneClientConfiguration, IoTDataPlane::Endpoint::IoTDataPlaneBuiltInParameters, + IoTDataPlane::Endpoint::IoTDataPlaneClientContextParameters>; +} // namespace Endpoint + +namespace IoTDataPlane { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneServiceClientModel.h b/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneServiceClientModel.h index 7a59633f904f..9ebb34abb157 100644 --- a/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneServiceClientModel.h @@ -57,7 +57,6 @@ class RetryStrategy; } // namespace Client namespace IoTDataPlane { -using IoTDataPlaneClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTDataPlaneEndpointProviderBase = Aws::IoTDataPlane::Endpoint::IoTDataPlaneEndpointProviderBase; using IoTDataPlaneEndpointProvider = Aws::IoTDataPlane::Endpoint::IoTDataPlaneEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneClient.cpp b/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneClient.cpp index 9fd2e9f8e695..9d861d9ae44a 100644 --- a/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneClient.cpp +++ b/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneClient.cpp @@ -91,43 +91,6 @@ IoTDataPlaneClient::IoTDataPlaneClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTDataPlaneClient::IoTDataPlaneClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTDataPlaneClient::IoTDataPlaneClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTDataPlaneClient::~IoTDataPlaneClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTDataPlaneClient::accessEndpointProvider() { return m_endpointProvider; } @@ -145,12 +108,7 @@ void IoTDataPlaneClient::init(const IoTDataPlane::IoTDataPlaneClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iotdata"); -} - -void IoTDataPlaneClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTDataPlaneClient::InvokeOperationOutcome IoTDataPlaneClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneClientConfiguration.cpp new file mode 100644 index 000000000000..b23f9e570697 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTDataPlane { + +void IoTDataPlaneClientConfiguration::LoadIoTDataPlaneSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTDataPlaneClientConfiguration::IoTDataPlaneClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTDataPlaneSpecificConfig(this->profileName); +} + +IoTDataPlaneClientConfiguration::IoTDataPlaneClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTDataPlaneSpecificConfig(Aws::String(inputProfileName)); +} + +IoTDataPlaneClientConfiguration::IoTDataPlaneClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTDataPlaneSpecificConfig(this->profileName); +} + +IoTDataPlaneClientConfiguration::IoTDataPlaneClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTDataPlaneSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTDataPlaneClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace IoTDataPlane +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneEndpointProvider.cpp index 283ff51c7828..548b9cbfca73 100644 --- a/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTDATAPLANE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTDataPlane { namespace Endpoint { IoTDataPlaneEndpointProvider::IoTDataPlaneEndpointProvider() : IoTDataPlaneDefaultEpProviderBase(Aws::IoTDataPlane::IoTDataPlaneEndpointRules::GetRulesBlob(), Aws::IoTDataPlane::IoTDataPlaneEndpointRules::RulesBlobSize) {} +void IoTDataPlaneBuiltInParameters::SetFromClientConfiguration(const IoTDataPlaneClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTDataPlaneBuiltInParameters::SetFromClientConfiguration(const IoTDataPlaneClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTDataPlaneBuiltInParameters::SetServiceSpecificParameters(const IoTDataPlaneClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTDataPlane } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneClient.h b/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneClient.h index b2dbc9057d0d..c5def22656a3 100644 --- a/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneClient.h +++ b/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneClient.h @@ -74,27 +74,6 @@ class AWS_IOTJOBSDATAPLANE_API IoTJobsDataPlaneClient : public Aws::Client::AWSJ const Aws::IoTJobsDataPlane::IoTJobsDataPlaneClientConfiguration& clientConfiguration = Aws::IoTJobsDataPlane::IoTJobsDataPlaneClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTJobsDataPlaneClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTJobsDataPlaneClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTJobsDataPlaneClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTJobsDataPlaneClient(); /** @@ -243,7 +222,6 @@ class AWS_IOTJOBSDATAPLANE_API IoTJobsDataPlaneClient : public Aws::Client::AWSJ return SubmitAsync(&IoTJobsDataPlaneClient::UpdateJobExecution, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneClientConfiguration.h b/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneClientConfiguration.h new file mode 100644 index 000000000000..480cfe6e5a60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTJobsDataPlane { +struct AWS_IOTJOBSDATAPLANE_API IoTJobsDataPlaneClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTJobsDataPlaneClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTJobsDataPlaneClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTJobsDataPlaneClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTJobsDataPlaneClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIoTJobsDataPlaneSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTJOBSDATAPLANE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTJobsDataPlaneClientConfiguration& config); +} // namespace IoTJobsDataPlane +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneEndpointProvider.h b/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneEndpointProvider.h index 45958444259c..1dd94c7c82c7 100644 --- a/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTJobsDataPlane { namespace Endpoint { +using IoTJobsDataPlaneClientConfiguration = Aws::IoTJobsDataPlane::IoTJobsDataPlaneClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTJobsDataPlaneClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTJobsDataPlaneClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTJobsDataPlaneBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTJOBSDATAPLANE_API IoTJobsDataPlaneBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTJobsDataPlaneBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTJobsDataPlaneClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTJobsDataPlaneClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTJobsDataPlaneClientConfiguration& config); +}; /** * The type for the IoTJobsDataPlane Client Endpoint Provider. @@ -34,6 +43,24 @@ using IoTJobsDataPlaneEndpointProviderBase = using IoTJobsDataPlaneDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTJobsDataPlane + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTJOBSDATAPLANE_EXTERN template class AWS_IOTJOBSDATAPLANE_API Aws::Endpoint::EndpointProviderBase< + IoTJobsDataPlane::Endpoint::IoTJobsDataPlaneClientConfiguration, IoTJobsDataPlane::Endpoint::IoTJobsDataPlaneBuiltInParameters, + IoTJobsDataPlane::Endpoint::IoTJobsDataPlaneClientContextParameters>; + +AWS_IOTJOBSDATAPLANE_EXTERN template class AWS_IOTJOBSDATAPLANE_API Aws::Endpoint::BDDEndpointProvider< + IoTJobsDataPlane::Endpoint::IoTJobsDataPlaneClientConfiguration, IoTJobsDataPlane::Endpoint::IoTJobsDataPlaneBuiltInParameters, + IoTJobsDataPlane::Endpoint::IoTJobsDataPlaneClientContextParameters>; +} // namespace Endpoint + +namespace IoTJobsDataPlane { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneServiceClientModel.h b/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneServiceClientModel.h index 441de3fdaeb1..f6224051fc31 100644 --- a/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace IoTJobsDataPlane { -using IoTJobsDataPlaneClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTJobsDataPlaneEndpointProviderBase = Aws::IoTJobsDataPlane::Endpoint::IoTJobsDataPlaneEndpointProviderBase; using IoTJobsDataPlaneEndpointProvider = Aws::IoTJobsDataPlane::Endpoint::IoTJobsDataPlaneEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneClient.cpp b/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneClient.cpp index 40b225d7c6e8..319a4d2def45 100644 --- a/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneClient.cpp +++ b/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneClient.cpp @@ -86,42 +86,6 @@ IoTJobsDataPlaneClient::IoTJobsDataPlaneClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTJobsDataPlaneClient::IoTJobsDataPlaneClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTJobsDataPlaneClient::IoTJobsDataPlaneClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTJobsDataPlaneClient::~IoTJobsDataPlaneClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTJobsDataPlaneClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +103,7 @@ void IoTJobsDataPlaneClient::init(const IoTJobsDataPlane::IoTJobsDataPlaneClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iot-jobs-data"); -} - -void IoTJobsDataPlaneClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTJobsDataPlaneClient::InvokeOperationOutcome IoTJobsDataPlaneClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneClientConfiguration.cpp new file mode 100644 index 000000000000..5ac909498e38 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTJobsDataPlane { + +void IoTJobsDataPlaneClientConfiguration::LoadIoTJobsDataPlaneSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTJobsDataPlaneClientConfiguration::IoTJobsDataPlaneClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTJobsDataPlaneSpecificConfig(this->profileName); +} + +IoTJobsDataPlaneClientConfiguration::IoTJobsDataPlaneClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTJobsDataPlaneSpecificConfig(Aws::String(inputProfileName)); +} + +IoTJobsDataPlaneClientConfiguration::IoTJobsDataPlaneClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTJobsDataPlaneSpecificConfig(this->profileName); +} + +IoTJobsDataPlaneClientConfiguration::IoTJobsDataPlaneClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTJobsDataPlaneSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTJobsDataPlaneClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoTJobsDataPlane +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneEndpointProvider.cpp index c4b996def423..a4e5593e418a 100644 --- a/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTJOBSDATAPLANE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTJobsDataPlane { namespace Endpoint { IoTJobsDataPlaneEndpointProvider::IoTJobsDataPlaneEndpointProvider() : IoTJobsDataPlaneDefaultEpProviderBase(Aws::IoTJobsDataPlane::IoTJobsDataPlaneEndpointRules::GetRulesBlob(), Aws::IoTJobsDataPlane::IoTJobsDataPlaneEndpointRules::RulesBlobSize) {} +void IoTJobsDataPlaneBuiltInParameters::SetFromClientConfiguration(const IoTJobsDataPlaneClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTJobsDataPlaneBuiltInParameters::SetFromClientConfiguration(const IoTJobsDataPlaneClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTJobsDataPlaneBuiltInParameters::SetServiceSpecificParameters(const IoTJobsDataPlaneClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTJobsDataPlane } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsClient.h b/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsClient.h index 2ff498cf9d4c..9cd40afb6947 100644 --- a/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsClient.h +++ b/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsClient.h @@ -62,27 +62,6 @@ class AWS_IOTMANAGEDINTEGRATIONS_API IoTManagedIntegrationsClient const Aws::IoTManagedIntegrations::IoTManagedIntegrationsClientConfiguration& clientConfiguration = Aws::IoTManagedIntegrations::IoTManagedIntegrationsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTManagedIntegrationsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTManagedIntegrationsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTManagedIntegrationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTManagedIntegrationsClient(); /** @@ -2434,7 +2413,6 @@ class AWS_IOTMANAGEDINTEGRATIONS_API IoTManagedIntegrationsClient return SubmitAsync(&IoTManagedIntegrationsClient::UpdateOtaTask, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsClientConfiguration.h b/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsClientConfiguration.h new file mode 100644 index 000000000000..455642d804e8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTManagedIntegrations { +struct AWS_IOTMANAGEDINTEGRATIONS_API IoTManagedIntegrationsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTManagedIntegrationsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTManagedIntegrationsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTManagedIntegrationsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTManagedIntegrationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadIoTManagedIntegrationsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTMANAGEDINTEGRATIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const IoTManagedIntegrationsClientConfiguration& config); +} // namespace IoTManagedIntegrations +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsEndpointProvider.h b/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsEndpointProvider.h index 296e63e61cb1..4a7ad1dd4d9d 100644 --- a/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTManagedIntegrations { namespace Endpoint { +using IoTManagedIntegrationsClientConfiguration = Aws::IoTManagedIntegrations::IoTManagedIntegrationsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTManagedIntegrationsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTManagedIntegrationsClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTManagedIntegrationsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTMANAGEDINTEGRATIONS_API IoTManagedIntegrationsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTManagedIntegrationsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTManagedIntegrationsClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTManagedIntegrationsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTManagedIntegrationsClientConfiguration& config); +}; /** * The type for the IoTManagedIntegrations Client Endpoint Provider. @@ -36,6 +45,26 @@ using IoTManagedIntegrationsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTManagedIntegrations + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTMANAGEDINTEGRATIONS_EXTERN template class AWS_IOTMANAGEDINTEGRATIONS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_IOTMANAGEDINTEGRATIONS_EXTERN template class AWS_IOTMANAGEDINTEGRATIONS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace IoTManagedIntegrations { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsServiceClientModel.h b/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsServiceClientModel.h index bc081580980f..03dc9e9bc904 100644 --- a/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsServiceClientModel.h @@ -127,7 +127,6 @@ class RetryStrategy; } // namespace Client namespace IoTManagedIntegrations { -using IoTManagedIntegrationsClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTManagedIntegrationsEndpointProviderBase = Aws::IoTManagedIntegrations::Endpoint::IoTManagedIntegrationsEndpointProviderBase; using IoTManagedIntegrationsEndpointProvider = Aws::IoTManagedIntegrations::Endpoint::IoTManagedIntegrationsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsClient.cpp b/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsClient.cpp index f9c149ba6258..6357afa7412b 100644 --- a/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsClient.cpp +++ b/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsClient.cpp @@ -166,42 +166,6 @@ IoTManagedIntegrationsClient::IoTManagedIntegrationsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -IoTManagedIntegrationsClient::IoTManagedIntegrationsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTManagedIntegrationsClient::IoTManagedIntegrationsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTManagedIntegrationsClient::IoTManagedIntegrationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTManagedIntegrationsClient::~IoTManagedIntegrationsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTManagedIntegrationsClient::accessEndpointProvider() { @@ -221,12 +185,7 @@ void IoTManagedIntegrationsClient::init(const IoTManagedIntegrations::IoTManaged AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iotmanagedintegrations"); -} - -void IoTManagedIntegrationsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTManagedIntegrationsClient::InvokeOperationOutcome IoTManagedIntegrationsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsClientConfiguration.cpp new file mode 100644 index 000000000000..ba78c98caa63 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTManagedIntegrations { + +void IoTManagedIntegrationsClientConfiguration::LoadIoTManagedIntegrationsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTManagedIntegrationsClientConfiguration::IoTManagedIntegrationsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTManagedIntegrationsSpecificConfig(this->profileName); +} + +IoTManagedIntegrationsClientConfiguration::IoTManagedIntegrationsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTManagedIntegrationsSpecificConfig(Aws::String(inputProfileName)); +} + +IoTManagedIntegrationsClientConfiguration::IoTManagedIntegrationsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTManagedIntegrationsSpecificConfig(this->profileName); +} + +IoTManagedIntegrationsClientConfiguration::IoTManagedIntegrationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTManagedIntegrationsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTManagedIntegrationsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoTManagedIntegrations +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsEndpointProvider.cpp index 11173fc10e78..7b4ddfc67d4e 100644 --- a/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_IOTMANAGEDINTEGRATIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTManagedIntegrations { namespace Endpoint { IoTManagedIntegrationsEndpointProvider::IoTManagedIntegrationsEndpointProvider() : IoTManagedIntegrationsDefaultEpProviderBase(Aws::IoTManagedIntegrations::IoTManagedIntegrationsEndpointRules::GetRulesBlob(), Aws::IoTManagedIntegrations::IoTManagedIntegrationsEndpointRules::RulesBlobSize) {} +void IoTManagedIntegrationsBuiltInParameters::SetFromClientConfiguration(const IoTManagedIntegrationsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTManagedIntegrationsBuiltInParameters::SetFromClientConfiguration(const IoTManagedIntegrationsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTManagedIntegrationsBuiltInParameters::SetServiceSpecificParameters(const IoTManagedIntegrationsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace IoTManagedIntegrations } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTClient.h b/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTClient.h index 142bfb50c470..591815a04593 100644 --- a/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTClient.h +++ b/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTClient.h @@ -71,27 +71,6 @@ class AWS_IOT_API IoTClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::IoT::IoTClientConfiguration& clientConfiguration = Aws::IoT::IoTClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTClient(); /** @@ -8414,7 +8393,6 @@ class AWS_IOT_API IoTClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&IoTClient::ValidateSecurityProfileBehaviors, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTClientConfiguration.h b/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTClientConfiguration.h new file mode 100644 index 000000000000..093c7f55019d --- /dev/null +++ b/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoT { +struct AWS_IOT_API IoTClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIoTSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTClientConfiguration& config); +} // namespace IoT +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTEndpointProvider.h b/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTEndpointProvider.h index bbc3dbee5015..0988f2ccf21e 100644 --- a/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoT { namespace Endpoint { +using IoTClientConfiguration = Aws::IoT::IoTClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOT_API IoTBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTClientConfiguration& config); +}; /** * The type for the IoT Client Endpoint Provider. @@ -32,6 +41,22 @@ using IoTEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace IoT + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOT_EXTERN template class AWS_IOT_API Aws::Endpoint::EndpointProviderBase< + IoT::Endpoint::IoTClientConfiguration, IoT::Endpoint::IoTBuiltInParameters, IoT::Endpoint::IoTClientContextParameters>; + +AWS_IOT_EXTERN template class AWS_IOT_API Aws::Endpoint::BDDEndpointProvider< + IoT::Endpoint::IoTClientConfiguration, IoT::Endpoint::IoTBuiltInParameters, IoT::Endpoint::IoTClientContextParameters>; +} // namespace Endpoint + +namespace IoT { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTServiceClientModel.h b/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTServiceClientModel.h index 77d91b03912a..df32eb26f6cc 100644 --- a/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTServiceClientModel.h @@ -350,7 +350,6 @@ class RetryStrategy; } // namespace Client namespace IoT { -using IoTClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTEndpointProviderBase = Aws::IoT::Endpoint::IoTEndpointProviderBase; using IoTEndpointProvider = Aws::IoT::Endpoint::IoTEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iot/source/IoTClient.cpp b/generated/src/aws-cpp-sdk-iot/source/IoTClient.cpp index cd1acec5ebfb..e1d7d42fad09 100644 --- a/generated/src/aws-cpp-sdk-iot/source/IoTClient.cpp +++ b/generated/src/aws-cpp-sdk-iot/source/IoTClient.cpp @@ -175,41 +175,6 @@ IoTClient::IoTClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -IoTClient::IoTClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTClient::IoTClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTClient::IoTClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTClient::~IoTClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTClient::accessEndpointProvider() { return m_endpointProvider; } @@ -227,12 +192,7 @@ void IoTClient::init(const IoT::IoTClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iot"); -} - -void IoTClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTClient::InvokeOperationOutcome IoTClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iot/source/IoTClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iot/source/IoTClientConfiguration.cpp new file mode 100644 index 000000000000..e8a500aa871a --- /dev/null +++ b/generated/src/aws-cpp-sdk-iot/source/IoTClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoT { + +void IoTClientConfiguration::LoadIoTSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTClientConfiguration::IoTClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTSpecificConfig(this->profileName); +} + +IoTClientConfiguration::IoTClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTSpecificConfig(Aws::String(inputProfileName)); +} + +IoTClientConfiguration::IoTClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTSpecificConfig(this->profileName); +} + +IoTClientConfiguration::IoTClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadIoTSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoT +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iot/source/IoTEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iot/source/IoTEndpointProvider.cpp index 138416deff28..d30be8b2a341 100644 --- a/generated/src/aws-cpp-sdk-iot/source/IoTEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iot/source/IoTEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_IOT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoT { namespace Endpoint { IoTEndpointProvider::IoTEndpointProvider() : IoTDefaultEpProviderBase(Aws::IoT::IoTEndpointRules::GetRulesBlob(), Aws::IoT::IoTEndpointRules::RulesBlobSize) {} +void IoTBuiltInParameters::SetFromClientConfiguration(const IoTClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTBuiltInParameters::SetFromClientConfiguration(const IoTClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTBuiltInParameters::SetServiceSpecificParameters(const IoTClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoT } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorClient.h b/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorClient.h index 2ea9dcd0e970..eafe05626c8a 100644 --- a/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorClient.h +++ b/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorClient.h @@ -66,27 +66,6 @@ class AWS_IOTDEVICEADVISOR_API IoTDeviceAdvisorClient : public Aws::Client::AWSJ const Aws::IoTDeviceAdvisor::IoTDeviceAdvisorClientConfiguration& clientConfiguration = Aws::IoTDeviceAdvisor::IoTDeviceAdvisorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTDeviceAdvisorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTDeviceAdvisorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTDeviceAdvisorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTDeviceAdvisorClient(); /** @@ -490,7 +469,6 @@ class AWS_IOTDEVICEADVISOR_API IoTDeviceAdvisorClient : public Aws::Client::AWSJ return SubmitAsync(&IoTDeviceAdvisorClient::UpdateSuiteDefinition, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorClientConfiguration.h b/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorClientConfiguration.h new file mode 100644 index 000000000000..e19ba59319fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTDeviceAdvisor { +struct AWS_IOTDEVICEADVISOR_API IoTDeviceAdvisorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTDeviceAdvisorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTDeviceAdvisorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTDeviceAdvisorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTDeviceAdvisorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIoTDeviceAdvisorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTDEVICEADVISOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTDeviceAdvisorClientConfiguration& config); +} // namespace IoTDeviceAdvisor +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorEndpointProvider.h b/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorEndpointProvider.h index 462e72944592..1fbd4d3e54cc 100644 --- a/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTDeviceAdvisor { namespace Endpoint { +using IoTDeviceAdvisorClientConfiguration = Aws::IoTDeviceAdvisor::IoTDeviceAdvisorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTDeviceAdvisorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTDeviceAdvisorClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTDeviceAdvisorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTDEVICEADVISOR_API IoTDeviceAdvisorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTDeviceAdvisorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTDeviceAdvisorClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTDeviceAdvisorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTDeviceAdvisorClientConfiguration& config); +}; /** * The type for the IoTDeviceAdvisor Client Endpoint Provider. @@ -34,6 +43,24 @@ using IoTDeviceAdvisorEndpointProviderBase = using IoTDeviceAdvisorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTDeviceAdvisor + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTDEVICEADVISOR_EXTERN template class AWS_IOTDEVICEADVISOR_API Aws::Endpoint::EndpointProviderBase< + IoTDeviceAdvisor::Endpoint::IoTDeviceAdvisorClientConfiguration, IoTDeviceAdvisor::Endpoint::IoTDeviceAdvisorBuiltInParameters, + IoTDeviceAdvisor::Endpoint::IoTDeviceAdvisorClientContextParameters>; + +AWS_IOTDEVICEADVISOR_EXTERN template class AWS_IOTDEVICEADVISOR_API Aws::Endpoint::BDDEndpointProvider< + IoTDeviceAdvisor::Endpoint::IoTDeviceAdvisorClientConfiguration, IoTDeviceAdvisor::Endpoint::IoTDeviceAdvisorBuiltInParameters, + IoTDeviceAdvisor::Endpoint::IoTDeviceAdvisorClientContextParameters>; +} // namespace Endpoint + +namespace IoTDeviceAdvisor { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorServiceClientModel.h b/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorServiceClientModel.h index b50e4281eca2..f2bc3db38acd 100644 --- a/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace IoTDeviceAdvisor { -using IoTDeviceAdvisorClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTDeviceAdvisorEndpointProviderBase = Aws::IoTDeviceAdvisor::Endpoint::IoTDeviceAdvisorEndpointProviderBase; using IoTDeviceAdvisorEndpointProvider = Aws::IoTDeviceAdvisor::Endpoint::IoTDeviceAdvisorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorClient.cpp b/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorClient.cpp index 9b7e4ba195b1..481e5f1baba0 100644 --- a/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorClient.cpp +++ b/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorClient.cpp @@ -95,42 +95,6 @@ IoTDeviceAdvisorClient::IoTDeviceAdvisorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTDeviceAdvisorClient::IoTDeviceAdvisorClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTDeviceAdvisorClient::IoTDeviceAdvisorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTDeviceAdvisorClient::~IoTDeviceAdvisorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTDeviceAdvisorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +112,7 @@ void IoTDeviceAdvisorClient::init(const IoTDeviceAdvisor::IoTDeviceAdvisorClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iotdeviceadvisor"); -} - -void IoTDeviceAdvisorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTDeviceAdvisorClient::InvokeOperationOutcome IoTDeviceAdvisorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorClientConfiguration.cpp new file mode 100644 index 000000000000..54fcaf357407 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTDeviceAdvisor { + +void IoTDeviceAdvisorClientConfiguration::LoadIoTDeviceAdvisorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTDeviceAdvisorClientConfiguration::IoTDeviceAdvisorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTDeviceAdvisorSpecificConfig(this->profileName); +} + +IoTDeviceAdvisorClientConfiguration::IoTDeviceAdvisorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTDeviceAdvisorSpecificConfig(Aws::String(inputProfileName)); +} + +IoTDeviceAdvisorClientConfiguration::IoTDeviceAdvisorClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTDeviceAdvisorSpecificConfig(this->profileName); +} + +IoTDeviceAdvisorClientConfiguration::IoTDeviceAdvisorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTDeviceAdvisorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTDeviceAdvisorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoTDeviceAdvisor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorEndpointProvider.cpp index 6999cb40934f..a0350e189640 100644 --- a/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTDEVICEADVISOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTDeviceAdvisor { namespace Endpoint { IoTDeviceAdvisorEndpointProvider::IoTDeviceAdvisorEndpointProvider() : IoTDeviceAdvisorDefaultEpProviderBase(Aws::IoTDeviceAdvisor::IoTDeviceAdvisorEndpointRules::GetRulesBlob(), Aws::IoTDeviceAdvisor::IoTDeviceAdvisorEndpointRules::RulesBlobSize) {} +void IoTDeviceAdvisorBuiltInParameters::SetFromClientConfiguration(const IoTDeviceAdvisorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTDeviceAdvisorBuiltInParameters::SetFromClientConfiguration(const IoTDeviceAdvisorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTDeviceAdvisorBuiltInParameters::SetServiceSpecificParameters(const IoTDeviceAdvisorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTDeviceAdvisor } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClient.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClient.h index c901ffb09ed6..203e857d057a 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClient.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClient.h @@ -67,27 +67,6 @@ class AWS_IOTFLEETWISE_API IoTFleetWiseClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::IoTFleetWise::IoTFleetWiseClientConfiguration& clientConfiguration = Aws::IoTFleetWise::IoTFleetWiseClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTFleetWiseClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTFleetWiseClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTFleetWiseClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTFleetWiseClient(); /** @@ -1752,7 +1731,6 @@ class AWS_IOTFLEETWISE_API IoTFleetWiseClient : public Aws::Client::AWSJsonClien return SubmitAsync(&IoTFleetWiseClient::UpdateVehicle, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClientConfiguration.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClientConfiguration.h new file mode 100644 index 000000000000..8e3274e2973f --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTFleetWise { +struct AWS_IOTFLEETWISE_API IoTFleetWiseClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTFleetWiseClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTFleetWiseClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTFleetWiseClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTFleetWiseClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIoTFleetWiseSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTFLEETWISE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTFleetWiseClientConfiguration& config); +} // namespace IoTFleetWise +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseEndpointProvider.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseEndpointProvider.h index 4ce247369e5e..e288ca2886a0 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTFleetWise { namespace Endpoint { +using IoTFleetWiseClientConfiguration = Aws::IoTFleetWise::IoTFleetWiseClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTFleetWiseClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTFleetWiseClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTFleetWiseBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTFLEETWISE_API IoTFleetWiseBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTFleetWiseBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTFleetWiseClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTFleetWiseClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTFleetWiseClientConfiguration& config); +}; /** * The type for the IoTFleetWise Client Endpoint Provider. @@ -34,6 +43,24 @@ using IoTFleetWiseEndpointProviderBase = using IoTFleetWiseDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTFleetWise + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTFLEETWISE_EXTERN template class AWS_IOTFLEETWISE_API Aws::Endpoint::EndpointProviderBase< + IoTFleetWise::Endpoint::IoTFleetWiseClientConfiguration, IoTFleetWise::Endpoint::IoTFleetWiseBuiltInParameters, + IoTFleetWise::Endpoint::IoTFleetWiseClientContextParameters>; + +AWS_IOTFLEETWISE_EXTERN template class AWS_IOTFLEETWISE_API Aws::Endpoint::BDDEndpointProvider< + IoTFleetWise::Endpoint::IoTFleetWiseClientConfiguration, IoTFleetWise::Endpoint::IoTFleetWiseBuiltInParameters, + IoTFleetWise::Endpoint::IoTFleetWiseClientContextParameters>; +} // namespace Endpoint + +namespace IoTFleetWise { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseServiceClientModel.h b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseServiceClientModel.h index 8caa435c95e2..bf84f0edd665 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseServiceClientModel.h @@ -114,7 +114,6 @@ class RetryStrategy; } // namespace Client namespace IoTFleetWise { -using IoTFleetWiseClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTFleetWiseEndpointProviderBase = Aws::IoTFleetWise::Endpoint::IoTFleetWiseEndpointProviderBase; using IoTFleetWiseEndpointProvider = Aws::IoTFleetWise::Endpoint::IoTFleetWiseEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseClient.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseClient.cpp index bcd63c66e9fc..3978e0fab042 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseClient.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseClient.cpp @@ -135,41 +135,6 @@ IoTFleetWiseClient::IoTFleetWiseClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTFleetWiseClient::IoTFleetWiseClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTFleetWiseClient::IoTFleetWiseClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTFleetWiseClient::~IoTFleetWiseClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTFleetWiseClient::accessEndpointProvider() { return m_endpointProvider; } @@ -187,12 +152,7 @@ void IoTFleetWiseClient::init(const IoTFleetWise::IoTFleetWiseClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iotfleetwise"); -} - -void IoTFleetWiseClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTFleetWiseClient::InvokeOperationOutcome IoTFleetWiseClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseClientConfiguration.cpp new file mode 100644 index 000000000000..95f0a1f05e05 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTFleetWise { + +void IoTFleetWiseClientConfiguration::LoadIoTFleetWiseSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTFleetWiseClientConfiguration::IoTFleetWiseClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTFleetWiseSpecificConfig(this->profileName); +} + +IoTFleetWiseClientConfiguration::IoTFleetWiseClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTFleetWiseSpecificConfig(Aws::String(inputProfileName)); +} + +IoTFleetWiseClientConfiguration::IoTFleetWiseClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTFleetWiseSpecificConfig(this->profileName); +} + +IoTFleetWiseClientConfiguration::IoTFleetWiseClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTFleetWiseSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTFleetWiseClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoTFleetWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseEndpointProvider.cpp index 0be56198e2d1..6138821fef42 100644 --- a/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTFLEETWISE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTFleetWise { namespace Endpoint { IoTFleetWiseEndpointProvider::IoTFleetWiseEndpointProvider() : IoTFleetWiseDefaultEpProviderBase(Aws::IoTFleetWise::IoTFleetWiseEndpointRules::GetRulesBlob(), Aws::IoTFleetWise::IoTFleetWiseEndpointRules::RulesBlobSize) {} +void IoTFleetWiseBuiltInParameters::SetFromClientConfiguration(const IoTFleetWiseClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTFleetWiseBuiltInParameters::SetFromClientConfiguration(const IoTFleetWiseClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTFleetWiseBuiltInParameters::SetServiceSpecificParameters(const IoTFleetWiseClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTFleetWise } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingClient.h b/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingClient.h index 50ae6691f896..f863b431396d 100644 --- a/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingClient.h +++ b/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingClient.h @@ -60,27 +60,6 @@ class AWS_IOTSECURETUNNELING_API IoTSecureTunnelingClient : public Aws::Client:: const Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration& clientConfiguration = Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTSecureTunnelingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTSecureTunnelingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTSecureTunnelingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTSecureTunnelingClient(); /** @@ -312,7 +291,6 @@ class AWS_IOTSECURETUNNELING_API IoTSecureTunnelingClient : public Aws::Client:: return SubmitAsync(&IoTSecureTunnelingClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingClientConfiguration.h b/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingClientConfiguration.h new file mode 100644 index 000000000000..c7c4da1d9092 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTSecureTunneling { +struct AWS_IOTSECURETUNNELING_API IoTSecureTunnelingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTSecureTunnelingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTSecureTunnelingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTSecureTunnelingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTSecureTunnelingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIoTSecureTunnelingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTSECURETUNNELING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTSecureTunnelingClientConfiguration& config); +} // namespace IoTSecureTunneling +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingEndpointProvider.h b/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingEndpointProvider.h index 16eec228eee8..4be5cd675bff 100644 --- a/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTSecureTunneling { namespace Endpoint { +using IoTSecureTunnelingClientConfiguration = Aws::IoTSecureTunneling::IoTSecureTunnelingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTSecureTunnelingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTSecureTunnelingClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTSecureTunnelingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTSECURETUNNELING_API IoTSecureTunnelingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTSecureTunnelingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTSecureTunnelingClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTSecureTunnelingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTSecureTunnelingClientConfiguration& config); +}; /** * The type for the IoTSecureTunneling Client Endpoint Provider. @@ -36,6 +45,24 @@ using IoTSecureTunnelingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTSecureTunneling + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTSECURETUNNELING_EXTERN template class AWS_IOTSECURETUNNELING_API Aws::Endpoint::EndpointProviderBase< + IoTSecureTunneling::Endpoint::IoTSecureTunnelingClientConfiguration, IoTSecureTunneling::Endpoint::IoTSecureTunnelingBuiltInParameters, + IoTSecureTunneling::Endpoint::IoTSecureTunnelingClientContextParameters>; + +AWS_IOTSECURETUNNELING_EXTERN template class AWS_IOTSECURETUNNELING_API Aws::Endpoint::BDDEndpointProvider< + IoTSecureTunneling::Endpoint::IoTSecureTunnelingClientConfiguration, IoTSecureTunneling::Endpoint::IoTSecureTunnelingBuiltInParameters, + IoTSecureTunneling::Endpoint::IoTSecureTunnelingClientContextParameters>; +} // namespace Endpoint + +namespace IoTSecureTunneling { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingServiceClientModel.h b/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingServiceClientModel.h index 3b88198269b9..df9a072010a6 100644 --- a/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingServiceClientModel.h @@ -56,7 +56,6 @@ class RetryStrategy; } // namespace Client namespace IoTSecureTunneling { -using IoTSecureTunnelingClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTSecureTunnelingEndpointProviderBase = Aws::IoTSecureTunneling::Endpoint::IoTSecureTunnelingEndpointProviderBase; using IoTSecureTunnelingEndpointProvider = Aws::IoTSecureTunneling::Endpoint::IoTSecureTunnelingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingClient.cpp b/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingClient.cpp index b7ee0661e3f2..9d92b14cf6ef 100644 --- a/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingClient.cpp +++ b/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingClient.cpp @@ -89,42 +89,6 @@ IoTSecureTunnelingClient::IoTSecureTunnelingClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTSecureTunnelingClient::IoTSecureTunnelingClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTSecureTunnelingClient::IoTSecureTunnelingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTSecureTunnelingClient::~IoTSecureTunnelingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTSecureTunnelingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +106,7 @@ void IoTSecureTunnelingClient::init(const IoTSecureTunneling::IoTSecureTunneling AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "IoTSecuredTunneling"); -} - -void IoTSecureTunnelingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTSecureTunnelingClient::InvokeOperationOutcome IoTSecureTunnelingClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingClientConfiguration.cpp new file mode 100644 index 000000000000..20e79d0cc87e --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTSecureTunneling { + +void IoTSecureTunnelingClientConfiguration::LoadIoTSecureTunnelingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTSecureTunnelingClientConfiguration::IoTSecureTunnelingClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTSecureTunnelingSpecificConfig(this->profileName); +} + +IoTSecureTunnelingClientConfiguration::IoTSecureTunnelingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTSecureTunnelingSpecificConfig(Aws::String(inputProfileName)); +} + +IoTSecureTunnelingClientConfiguration::IoTSecureTunnelingClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTSecureTunnelingSpecificConfig(this->profileName); +} + +IoTSecureTunnelingClientConfiguration::IoTSecureTunnelingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTSecureTunnelingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTSecureTunnelingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoTSecureTunneling +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingEndpointProvider.cpp index 6b7c3658d8e1..2afcfaa42414 100644 --- a/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTSECURETUNNELING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTSecureTunneling { namespace Endpoint { IoTSecureTunnelingEndpointProvider::IoTSecureTunnelingEndpointProvider() : IoTSecureTunnelingDefaultEpProviderBase(Aws::IoTSecureTunneling::IoTSecureTunnelingEndpointRules::GetRulesBlob(), Aws::IoTSecureTunneling::IoTSecureTunnelingEndpointRules::RulesBlobSize) {} +void IoTSecureTunnelingBuiltInParameters::SetFromClientConfiguration(const IoTSecureTunnelingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTSecureTunnelingBuiltInParameters::SetFromClientConfiguration(const IoTSecureTunnelingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTSecureTunnelingBuiltInParameters::SetServiceSpecificParameters(const IoTSecureTunnelingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTSecureTunneling } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseClient.h b/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseClient.h index 2f503f9621f0..86f099062fe2 100644 --- a/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseClient.h +++ b/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseClient.h @@ -63,27 +63,6 @@ class AWS_IOTSITEWISE_API IoTSiteWiseClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::IoTSiteWise::IoTSiteWiseClientConfiguration& clientConfiguration = Aws::IoTSiteWise::IoTSiteWiseClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTSiteWiseClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTSiteWiseClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTSiteWiseClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTSiteWiseClient(); /** @@ -4628,7 +4607,6 @@ class AWS_IOTSITEWISE_API IoTSiteWiseClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&IoTSiteWiseClient::UpdateWorkspace, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseClientConfiguration.h b/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseClientConfiguration.h new file mode 100644 index 000000000000..1ec91ebbdfdf --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTSiteWise { +struct AWS_IOTSITEWISE_API IoTSiteWiseClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTSiteWiseClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTSiteWiseClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTSiteWiseClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTSiteWiseClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadIoTSiteWiseSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTSITEWISE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTSiteWiseClientConfiguration& config); +} // namespace IoTSiteWise +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseEndpointProvider.h b/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseEndpointProvider.h index 322fcae2c869..d14b04d6c26d 100644 --- a/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTSiteWise { namespace Endpoint { +using IoTSiteWiseClientConfiguration = Aws::IoTSiteWise::IoTSiteWiseClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTSiteWiseClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTSiteWiseClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTSiteWiseBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTSITEWISE_API IoTSiteWiseBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTSiteWiseBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTSiteWiseClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTSiteWiseClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTSiteWiseClientConfiguration& config); +}; /** * The type for the IoTSiteWise Client Endpoint Provider. @@ -34,6 +43,24 @@ using IoTSiteWiseEndpointProviderBase = using IoTSiteWiseDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTSiteWise + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTSITEWISE_EXTERN template class AWS_IOTSITEWISE_API Aws::Endpoint::EndpointProviderBase< + IoTSiteWise::Endpoint::IoTSiteWiseClientConfiguration, IoTSiteWise::Endpoint::IoTSiteWiseBuiltInParameters, + IoTSiteWise::Endpoint::IoTSiteWiseClientContextParameters>; + +AWS_IOTSITEWISE_EXTERN template class AWS_IOTSITEWISE_API Aws::Endpoint::BDDEndpointProvider< + IoTSiteWise::Endpoint::IoTSiteWiseClientConfiguration, IoTSiteWise::Endpoint::IoTSiteWiseBuiltInParameters, + IoTSiteWise::Endpoint::IoTSiteWiseClientContextParameters>; +} // namespace Endpoint + +namespace IoTSiteWise { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseServiceClientModel.h b/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseServiceClientModel.h index e2631a0116a5..17338fa97ae1 100644 --- a/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseServiceClientModel.h @@ -204,7 +204,6 @@ class RetryStrategy; } // namespace Client namespace IoTSiteWise { -using IoTSiteWiseClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTSiteWiseEndpointProviderBase = Aws::IoTSiteWise::Endpoint::IoTSiteWiseEndpointProviderBase; using IoTSiteWiseEndpointProvider = Aws::IoTSiteWise::Endpoint::IoTSiteWiseEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseClient.cpp b/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseClient.cpp index 143e19b2922e..5a77af2a8439 100644 --- a/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseClient.cpp +++ b/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseClient.cpp @@ -227,41 +227,6 @@ IoTSiteWiseClient::IoTSiteWiseClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTSiteWiseClient::IoTSiteWiseClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTSiteWiseClient::IoTSiteWiseClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTSiteWiseClient::~IoTSiteWiseClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTSiteWiseClient::accessEndpointProvider() { return m_endpointProvider; } @@ -279,12 +244,7 @@ void IoTSiteWiseClient::init(const IoTSiteWise::IoTSiteWiseClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iotsitewise"); -} - -void IoTSiteWiseClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTSiteWiseClient::InvokeOperationOutcome IoTSiteWiseClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseClientConfiguration.cpp new file mode 100644 index 000000000000..f340057c8ac1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTSiteWise { + +void IoTSiteWiseClientConfiguration::LoadIoTSiteWiseSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTSiteWiseClientConfiguration::IoTSiteWiseClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTSiteWiseSpecificConfig(this->profileName); +} + +IoTSiteWiseClientConfiguration::IoTSiteWiseClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTSiteWiseSpecificConfig(Aws::String(inputProfileName)); +} + +IoTSiteWiseClientConfiguration::IoTSiteWiseClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTSiteWiseSpecificConfig(this->profileName); +} + +IoTSiteWiseClientConfiguration::IoTSiteWiseClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTSiteWiseSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTSiteWiseClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoTSiteWise +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseEndpointProvider.cpp index f50b45454593..dde6d1b8a1d1 100644 --- a/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTSITEWISE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTSiteWise { namespace Endpoint { IoTSiteWiseEndpointProvider::IoTSiteWiseEndpointProvider() : IoTSiteWiseDefaultEpProviderBase(Aws::IoTSiteWise::IoTSiteWiseEndpointRules::GetRulesBlob(), Aws::IoTSiteWise::IoTSiteWiseEndpointRules::RulesBlobSize) {} +void IoTSiteWiseBuiltInParameters::SetFromClientConfiguration(const IoTSiteWiseClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTSiteWiseBuiltInParameters::SetFromClientConfiguration(const IoTSiteWiseClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTSiteWiseBuiltInParameters::SetServiceSpecificParameters(const IoTSiteWiseClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTSiteWise } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphClient.h b/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphClient.h index fe4dc4d6b695..53cf3e583668 100644 --- a/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphClient.h +++ b/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphClient.h @@ -64,30 +64,8 @@ class AWS_IOTTHINGSGRAPH_API IoTThingsGraphClient : public Aws::Client::AWSJsonC const Aws::IoTThingsGraph::IoTThingsGraphClientConfiguration& clientConfiguration = Aws::IoTThingsGraph::IoTThingsGraphClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTThingsGraphClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTThingsGraphClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTThingsGraphClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTThingsGraphClient(); - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphClientConfiguration.h b/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphClientConfiguration.h new file mode 100644 index 000000000000..0b634321bb6d --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTThingsGraph { +struct AWS_IOTTHINGSGRAPH_API IoTThingsGraphClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTThingsGraphClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTThingsGraphClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTThingsGraphClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTThingsGraphClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIoTThingsGraphSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTTHINGSGRAPH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTThingsGraphClientConfiguration& config); +} // namespace IoTThingsGraph +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphEndpointProvider.h b/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphEndpointProvider.h index a6091416f0d5..d3a6600b6403 100644 --- a/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTThingsGraph { namespace Endpoint { +using IoTThingsGraphClientConfiguration = Aws::IoTThingsGraph::IoTThingsGraphClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTThingsGraphClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTThingsGraphClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTThingsGraphBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTTHINGSGRAPH_API IoTThingsGraphBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTThingsGraphBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTThingsGraphClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTThingsGraphClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTThingsGraphClientConfiguration& config); +}; /** * The type for the IoTThingsGraph Client Endpoint Provider. @@ -34,6 +43,24 @@ using IoTThingsGraphEndpointProviderBase = using IoTThingsGraphDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTThingsGraph + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTTHINGSGRAPH_EXTERN template class AWS_IOTTHINGSGRAPH_API Aws::Endpoint::EndpointProviderBase< + IoTThingsGraph::Endpoint::IoTThingsGraphClientConfiguration, IoTThingsGraph::Endpoint::IoTThingsGraphBuiltInParameters, + IoTThingsGraph::Endpoint::IoTThingsGraphClientContextParameters>; + +AWS_IOTTHINGSGRAPH_EXTERN template class AWS_IOTTHINGSGRAPH_API Aws::Endpoint::BDDEndpointProvider< + IoTThingsGraph::Endpoint::IoTThingsGraphClientConfiguration, IoTThingsGraph::Endpoint::IoTThingsGraphBuiltInParameters, + IoTThingsGraph::Endpoint::IoTThingsGraphClientContextParameters>; +} // namespace Endpoint + +namespace IoTThingsGraph { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphServiceClientModel.h b/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphServiceClientModel.h index 8d72d9346c7b..fa0661cc0093 100644 --- a/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphServiceClientModel.h @@ -46,7 +46,6 @@ class RetryStrategy; } // namespace Client namespace IoTThingsGraph { -using IoTThingsGraphClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTThingsGraphEndpointProviderBase = Aws::IoTThingsGraph::Endpoint::IoTThingsGraphEndpointProviderBase; using IoTThingsGraphEndpointProvider = Aws::IoTThingsGraph::Endpoint::IoTThingsGraphEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphClient.cpp b/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphClient.cpp index 3b3a865672c9..5de01054efce 100644 --- a/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphClient.cpp +++ b/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphClient.cpp @@ -78,41 +78,6 @@ IoTThingsGraphClient::IoTThingsGraphClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTThingsGraphClient::IoTThingsGraphClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTThingsGraphClient::IoTThingsGraphClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTThingsGraphClient::~IoTThingsGraphClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTThingsGraphClient::accessEndpointProvider() { return m_endpointProvider; } @@ -130,12 +95,7 @@ void IoTThingsGraphClient::init(const IoTThingsGraph::IoTThingsGraphClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iotthingsgraph"); -} - -void IoTThingsGraphClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTThingsGraphClient::InvokeOperationOutcome IoTThingsGraphClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphClientConfiguration.cpp new file mode 100644 index 000000000000..6eba9fa80af5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTThingsGraph { + +void IoTThingsGraphClientConfiguration::LoadIoTThingsGraphSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTThingsGraphClientConfiguration::IoTThingsGraphClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTThingsGraphSpecificConfig(this->profileName); +} + +IoTThingsGraphClientConfiguration::IoTThingsGraphClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTThingsGraphSpecificConfig(Aws::String(inputProfileName)); +} + +IoTThingsGraphClientConfiguration::IoTThingsGraphClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTThingsGraphSpecificConfig(this->profileName); +} + +IoTThingsGraphClientConfiguration::IoTThingsGraphClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTThingsGraphSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTThingsGraphClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoTThingsGraph +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphEndpointProvider.cpp index 72b494a9ad2f..279614b505f3 100644 --- a/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTTHINGSGRAPH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTThingsGraph { namespace Endpoint { IoTThingsGraphEndpointProvider::IoTThingsGraphEndpointProvider() : IoTThingsGraphDefaultEpProviderBase(Aws::IoTThingsGraph::IoTThingsGraphEndpointRules::GetRulesBlob(), Aws::IoTThingsGraph::IoTThingsGraphEndpointRules::RulesBlobSize) {} +void IoTThingsGraphBuiltInParameters::SetFromClientConfiguration(const IoTThingsGraphClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTThingsGraphBuiltInParameters::SetFromClientConfiguration(const IoTThingsGraphClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTThingsGraphBuiltInParameters::SetServiceSpecificParameters(const IoTThingsGraphClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTThingsGraph } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerClient.h b/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerClient.h index 32d200cfd800..f32a14ffe248 100644 --- a/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerClient.h +++ b/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerClient.h @@ -60,27 +60,6 @@ class AWS_IOTTWINMAKER_API IoTTwinMakerClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::IoTTwinMaker::IoTTwinMakerClientConfiguration& clientConfiguration = Aws::IoTTwinMaker::IoTTwinMakerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTTwinMakerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTTwinMakerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTTwinMakerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTTwinMakerClient(); /** @@ -1122,7 +1101,6 @@ class AWS_IOTTWINMAKER_API IoTTwinMakerClient : public Aws::Client::AWSJsonClien return SubmitAsync(&IoTTwinMakerClient::UpdateWorkspace, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerClientConfiguration.h b/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerClientConfiguration.h new file mode 100644 index 000000000000..fd1c1799d5d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTTwinMaker { +struct AWS_IOTTWINMAKER_API IoTTwinMakerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTTwinMakerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTTwinMakerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTTwinMakerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTTwinMakerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadIoTTwinMakerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTTWINMAKER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTTwinMakerClientConfiguration& config); +} // namespace IoTTwinMaker +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerEndpointProvider.h b/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerEndpointProvider.h index 7ced8cd37274..04b7fe7cbf5e 100644 --- a/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTTwinMaker { namespace Endpoint { +using IoTTwinMakerClientConfiguration = Aws::IoTTwinMaker::IoTTwinMakerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTTwinMakerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTTwinMakerClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTTwinMakerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTTWINMAKER_API IoTTwinMakerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTTwinMakerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTTwinMakerClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTTwinMakerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTTwinMakerClientConfiguration& config); +}; /** * The type for the IoTTwinMaker Client Endpoint Provider. @@ -34,6 +43,24 @@ using IoTTwinMakerEndpointProviderBase = using IoTTwinMakerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTTwinMaker + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTTWINMAKER_EXTERN template class AWS_IOTTWINMAKER_API Aws::Endpoint::EndpointProviderBase< + IoTTwinMaker::Endpoint::IoTTwinMakerClientConfiguration, IoTTwinMaker::Endpoint::IoTTwinMakerBuiltInParameters, + IoTTwinMaker::Endpoint::IoTTwinMakerClientContextParameters>; + +AWS_IOTTWINMAKER_EXTERN template class AWS_IOTTWINMAKER_API Aws::Endpoint::BDDEndpointProvider< + IoTTwinMaker::Endpoint::IoTTwinMakerClientConfiguration, IoTTwinMaker::Endpoint::IoTTwinMakerBuiltInParameters, + IoTTwinMaker::Endpoint::IoTTwinMakerClientContextParameters>; +} // namespace Endpoint + +namespace IoTTwinMaker { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerServiceClientModel.h b/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerServiceClientModel.h index a426c3e82638..5c92ae670332 100644 --- a/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerServiceClientModel.h @@ -88,7 +88,6 @@ class RetryStrategy; } // namespace Client namespace IoTTwinMaker { -using IoTTwinMakerClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTTwinMakerEndpointProviderBase = Aws::IoTTwinMaker::Endpoint::IoTTwinMakerEndpointProviderBase; using IoTTwinMakerEndpointProvider = Aws::IoTTwinMaker::Endpoint::IoTTwinMakerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerClient.cpp b/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerClient.cpp index 08818cf8efba..6266733d018b 100644 --- a/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerClient.cpp +++ b/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerClient.cpp @@ -118,41 +118,6 @@ IoTTwinMakerClient::IoTTwinMakerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTTwinMakerClient::IoTTwinMakerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTTwinMakerClient::IoTTwinMakerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTTwinMakerClient::~IoTTwinMakerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTTwinMakerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -170,12 +135,7 @@ void IoTTwinMakerClient::init(const IoTTwinMaker::IoTTwinMakerClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iottwinmaker"); -} - -void IoTTwinMakerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTTwinMakerClient::InvokeOperationOutcome IoTTwinMakerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerClientConfiguration.cpp new file mode 100644 index 000000000000..031694c27907 --- /dev/null +++ b/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTTwinMaker { + +void IoTTwinMakerClientConfiguration::LoadIoTTwinMakerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTTwinMakerClientConfiguration::IoTTwinMakerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTTwinMakerSpecificConfig(this->profileName); +} + +IoTTwinMakerClientConfiguration::IoTTwinMakerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTTwinMakerSpecificConfig(Aws::String(inputProfileName)); +} + +IoTTwinMakerClientConfiguration::IoTTwinMakerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTTwinMakerSpecificConfig(this->profileName); +} + +IoTTwinMakerClientConfiguration::IoTTwinMakerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTTwinMakerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTTwinMakerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IoTTwinMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerEndpointProvider.cpp index e3230a1e16e8..91012a3bfb72 100644 --- a/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTTWINMAKER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTTwinMaker { namespace Endpoint { IoTTwinMakerEndpointProvider::IoTTwinMakerEndpointProvider() : IoTTwinMakerDefaultEpProviderBase(Aws::IoTTwinMaker::IoTTwinMakerEndpointRules::GetRulesBlob(), Aws::IoTTwinMaker::IoTTwinMakerEndpointRules::RulesBlobSize) {} +void IoTTwinMakerBuiltInParameters::SetFromClientConfiguration(const IoTTwinMakerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTTwinMakerBuiltInParameters::SetFromClientConfiguration(const IoTTwinMakerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTTwinMakerBuiltInParameters::SetServiceSpecificParameters(const IoTTwinMakerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTTwinMaker } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessClient.h b/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessClient.h index 41d1ab1bf1d8..23d86ac9aaca 100644 --- a/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessClient.h +++ b/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessClient.h @@ -77,27 +77,6 @@ class AWS_IOTWIRELESS_API IoTWirelessClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::IoTWireless::IoTWirelessClientConfiguration& clientConfiguration = Aws::IoTWireless::IoTWirelessClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IoTWirelessClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IoTWirelessClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IoTWirelessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IoTWirelessClient(); /** @@ -3132,7 +3111,6 @@ class AWS_IOTWIRELESS_API IoTWirelessClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&IoTWirelessClient::UpdateWirelessGateway, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessClientConfiguration.h b/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessClientConfiguration.h new file mode 100644 index 000000000000..910a533c579f --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IoTWireless { +struct AWS_IOTWIRELESS_API IoTWirelessClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IoTWirelessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTWirelessClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IoTWirelessClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IoTWirelessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadIoTWirelessSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IOTWIRELESS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTWirelessClientConfiguration& config); +} // namespace IoTWireless +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessEndpointProvider.h b/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessEndpointProvider.h index d9e8b6c95b6c..f4b14cc1feec 100644 --- a/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IoTWireless { namespace Endpoint { +using IoTWirelessClientConfiguration = Aws::IoTWireless::IoTWirelessClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IoTWirelessClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IoTWirelessClientConfiguration = Aws::Client::GenericClientConfiguration; -using IoTWirelessBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IOTWIRELESS_API IoTWirelessBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IoTWirelessBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IoTWirelessClientConfiguration& config); + virtual void SetFromClientConfiguration(const IoTWirelessClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IoTWirelessClientConfiguration& config); +}; /** * The type for the IoTWireless Client Endpoint Provider. @@ -34,6 +43,24 @@ using IoTWirelessEndpointProviderBase = using IoTWirelessDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace IoTWireless + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IOTWIRELESS_EXTERN template class AWS_IOTWIRELESS_API Aws::Endpoint::EndpointProviderBase< + IoTWireless::Endpoint::IoTWirelessClientConfiguration, IoTWireless::Endpoint::IoTWirelessBuiltInParameters, + IoTWireless::Endpoint::IoTWirelessClientContextParameters>; + +AWS_IOTWIRELESS_EXTERN template class AWS_IOTWIRELESS_API Aws::Endpoint::BDDEndpointProvider< + IoTWireless::Endpoint::IoTWirelessClientConfiguration, IoTWireless::Endpoint::IoTWirelessBuiltInParameters, + IoTWireless::Endpoint::IoTWirelessClientContextParameters>; +} // namespace Endpoint + +namespace IoTWireless { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessServiceClientModel.h b/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessServiceClientModel.h index 897d709dd352..e8bc065de953 100644 --- a/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessServiceClientModel.h @@ -176,7 +176,6 @@ class RetryStrategy; } // namespace Client namespace IoTWireless { -using IoTWirelessClientConfiguration = Aws::Client::GenericClientConfiguration; using IoTWirelessEndpointProviderBase = Aws::IoTWireless::Endpoint::IoTWirelessEndpointProviderBase; using IoTWirelessEndpointProvider = Aws::IoTWireless::Endpoint::IoTWirelessEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessClient.cpp b/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessClient.cpp index 3798e0e05fc7..16acac779172 100644 --- a/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessClient.cpp +++ b/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessClient.cpp @@ -186,43 +186,6 @@ IoTWirelessClient::IoTWirelessClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTWirelessClient::IoTWirelessClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IoTWirelessClient::IoTWirelessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IoTWirelessClient::~IoTWirelessClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IoTWirelessClient::accessEndpointProvider() { return m_endpointProvider; } @@ -240,12 +203,7 @@ void IoTWirelessClient::init(const IoTWireless::IoTWirelessClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "iotwireless"); -} - -void IoTWirelessClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IoTWirelessClient::InvokeOperationOutcome IoTWirelessClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessClientConfiguration.cpp b/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessClientConfiguration.cpp new file mode 100644 index 000000000000..5469560a547d --- /dev/null +++ b/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IoTWireless { + +void IoTWirelessClientConfiguration::LoadIoTWirelessSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IoTWirelessClientConfiguration::IoTWirelessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIoTWirelessSpecificConfig(this->profileName); +} + +IoTWirelessClientConfiguration::IoTWirelessClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIoTWirelessSpecificConfig(Aws::String(inputProfileName)); +} + +IoTWirelessClientConfiguration::IoTWirelessClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIoTWirelessSpecificConfig(this->profileName); +} + +IoTWirelessClientConfiguration::IoTWirelessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadIoTWirelessSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IoTWirelessClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace IoTWireless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessEndpointProvider.cpp b/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessEndpointProvider.cpp index f1da0a5907e7..f6361fdb862c 100644 --- a/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IOTWIRELESS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IoTWireless { namespace Endpoint { IoTWirelessEndpointProvider::IoTWirelessEndpointProvider() : IoTWirelessDefaultEpProviderBase(Aws::IoTWireless::IoTWirelessEndpointRules::GetRulesBlob(), Aws::IoTWireless::IoTWirelessEndpointRules::RulesBlobSize) {} +void IoTWirelessBuiltInParameters::SetFromClientConfiguration(const IoTWirelessClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IoTWirelessBuiltInParameters::SetFromClientConfiguration(const IoTWirelessClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IoTWirelessBuiltInParameters::SetServiceSpecificParameters(const IoTWirelessClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IoTWireless } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeClient.h b/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeClient.h index 790253df867f..51f09d2fe4e0 100644 --- a/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeClient.h +++ b/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeClient.h @@ -96,27 +96,6 @@ class AWS_IVSREALTIME_API IvsrealtimeClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::ivsrealtime::IvsrealtimeClientConfiguration& clientConfiguration = Aws::ivsrealtime::IvsrealtimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IvsrealtimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IvsrealtimeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IvsrealtimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IvsrealtimeClient(); /** @@ -1244,7 +1223,6 @@ class AWS_IVSREALTIME_API IvsrealtimeClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&IvsrealtimeClient::UpdateStage, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeClientConfiguration.h b/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeClientConfiguration.h new file mode 100644 index 000000000000..998cb17a69a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ivsrealtime { +struct AWS_IVSREALTIME_API IvsrealtimeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IvsrealtimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IvsrealtimeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IvsrealtimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IvsrealtimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadivsrealtimeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IVSREALTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IvsrealtimeClientConfiguration& config); +} // namespace ivsrealtime +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeEndpointProvider.h b/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeEndpointProvider.h index c0f17515844e..aa85a88a47e2 100644 --- a/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ivsrealtime { namespace Endpoint { +using IvsrealtimeClientConfiguration = Aws::ivsrealtime::IvsrealtimeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IvsrealtimeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IvsrealtimeClientConfiguration = Aws::Client::GenericClientConfiguration; -using IvsrealtimeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IVSREALTIME_API IvsrealtimeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IvsrealtimeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IvsrealtimeClientConfiguration& config); + virtual void SetFromClientConfiguration(const IvsrealtimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IvsrealtimeClientConfiguration& config); +}; /** * The type for the ivsrealtime Client Endpoint Provider. @@ -34,6 +43,24 @@ using IvsrealtimeEndpointProviderBase = using IvsrealtimeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ivsrealtime + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IVSREALTIME_EXTERN template class AWS_IVSREALTIME_API Aws::Endpoint::EndpointProviderBase< + ivsrealtime::Endpoint::IvsrealtimeClientConfiguration, ivsrealtime::Endpoint::IvsrealtimeBuiltInParameters, + ivsrealtime::Endpoint::IvsrealtimeClientContextParameters>; + +AWS_IVSREALTIME_EXTERN template class AWS_IVSREALTIME_API Aws::Endpoint::BDDEndpointProvider< + ivsrealtime::Endpoint::IvsrealtimeClientConfiguration, ivsrealtime::Endpoint::IvsrealtimeBuiltInParameters, + ivsrealtime::Endpoint::IvsrealtimeClientContextParameters>; +} // namespace Endpoint + +namespace ivsrealtime { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeServiceClientModel.h b/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeServiceClientModel.h index 0a0295194122..81dc493fa896 100644 --- a/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeServiceClientModel.h @@ -94,7 +94,6 @@ class RetryStrategy; } // namespace Client namespace ivsrealtime { -using IvsrealtimeClientConfiguration = Aws::Client::GenericClientConfiguration; using IvsrealtimeEndpointProviderBase = Aws::ivsrealtime::Endpoint::IvsrealtimeEndpointProviderBase; using IvsrealtimeEndpointProvider = Aws::ivsrealtime::Endpoint::IvsrealtimeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeClient.cpp b/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeClient.cpp index bfb888bc3304..df9cdf230d57 100644 --- a/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeClient.cpp +++ b/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeClient.cpp @@ -117,41 +117,6 @@ IvsrealtimeClient::IvsrealtimeClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IvsrealtimeClient::IvsrealtimeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IvsrealtimeClient::IvsrealtimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IvsrealtimeClient::~IvsrealtimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IvsrealtimeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -169,12 +134,7 @@ void IvsrealtimeClient::init(const ivsrealtime::IvsrealtimeClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ivs"); -} - -void IvsrealtimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IvsrealtimeClient::InvokeOperationOutcome IvsrealtimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeClientConfiguration.cpp new file mode 100644 index 000000000000..a0277aa7d4b2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ivsrealtime { + +void IvsrealtimeClientConfiguration::LoadivsrealtimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IvsrealtimeClientConfiguration::IvsrealtimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadivsrealtimeSpecificConfig(this->profileName); +} + +IvsrealtimeClientConfiguration::IvsrealtimeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadivsrealtimeSpecificConfig(Aws::String(inputProfileName)); +} + +IvsrealtimeClientConfiguration::IvsrealtimeClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadivsrealtimeSpecificConfig(this->profileName); +} + +IvsrealtimeClientConfiguration::IvsrealtimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadivsrealtimeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IvsrealtimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ivsrealtime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeEndpointProvider.cpp index 3ad6e10ac57e..ebaca4046b2d 100644 --- a/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_IVSREALTIME_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ivsrealtime { namespace Endpoint { IvsrealtimeEndpointProvider::IvsrealtimeEndpointProvider() : IvsrealtimeDefaultEpProviderBase(Aws::ivsrealtime::IvsrealtimeEndpointRules::GetRulesBlob(), Aws::ivsrealtime::IvsrealtimeEndpointRules::RulesBlobSize) {} +void IvsrealtimeBuiltInParameters::SetFromClientConfiguration(const IvsrealtimeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IvsrealtimeBuiltInParameters::SetFromClientConfiguration(const IvsrealtimeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IvsrealtimeBuiltInParameters::SetServiceSpecificParameters(const IvsrealtimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ivsrealtime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSClient.h b/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSClient.h index 15e317aaa21b..d0f5d743edc8 100644 --- a/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSClient.h +++ b/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSClient.h @@ -129,27 +129,6 @@ class AWS_IVS_API IVSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::IVS::IVSClientConfiguration& clientConfiguration = Aws::IVS::IVSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IVSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IVSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IVSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IVSClient(); /** @@ -1490,7 +1469,6 @@ class AWS_IVS_API IVSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&IVSClient::UpdatePlaybackRestrictionPolicy, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSClientConfiguration.h b/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSClientConfiguration.h new file mode 100644 index 000000000000..56d5d903ce8c --- /dev/null +++ b/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace IVS { +struct AWS_IVS_API IVSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IVSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IVSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IVSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IVSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadIVSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IVS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IVSClientConfiguration& config); +} // namespace IVS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSEndpointProvider.h b/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSEndpointProvider.h index 8021d6a42cee..24b2ad9b7bde 100644 --- a/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace IVS { namespace Endpoint { +using IVSClientConfiguration = Aws::IVS::IVSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IVSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IVSClientConfiguration = Aws::Client::GenericClientConfiguration; -using IVSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IVS_API IVSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IVSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IVSClientConfiguration& config); + virtual void SetFromClientConfiguration(const IVSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IVSClientConfiguration& config); +}; /** * The type for the IVS Client Endpoint Provider. @@ -32,6 +41,22 @@ using IVSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace IVS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IVS_EXTERN template class AWS_IVS_API Aws::Endpoint::EndpointProviderBase< + IVS::Endpoint::IVSClientConfiguration, IVS::Endpoint::IVSBuiltInParameters, IVS::Endpoint::IVSClientContextParameters>; + +AWS_IVS_EXTERN template class AWS_IVS_API Aws::Endpoint::BDDEndpointProvider< + IVS::Endpoint::IVSClientConfiguration, IVS::Endpoint::IVSBuiltInParameters, IVS::Endpoint::IVSClientContextParameters>; +} // namespace Endpoint + +namespace IVS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSServiceClientModel.h b/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSServiceClientModel.h index fbe93124d2dc..fae3745d6729 100644 --- a/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSServiceClientModel.h @@ -96,7 +96,6 @@ class RetryStrategy; } // namespace Client namespace IVS { -using IVSClientConfiguration = Aws::Client::GenericClientConfiguration; using IVSEndpointProviderBase = Aws::IVS::Endpoint::IVSEndpointProviderBase; using IVSEndpointProvider = Aws::IVS::Endpoint::IVSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ivs/source/IVSClient.cpp b/generated/src/aws-cpp-sdk-ivs/source/IVSClient.cpp index 5f2240ac3dd0..c03b1012fcad 100644 --- a/generated/src/aws-cpp-sdk-ivs/source/IVSClient.cpp +++ b/generated/src/aws-cpp-sdk-ivs/source/IVSClient.cpp @@ -121,41 +121,6 @@ IVSClient::IVSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -IVSClient::IVSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IVSClient::IVSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IVSClient::IVSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IVSClient::~IVSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IVSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -173,12 +138,7 @@ void IVSClient::init(const IVS::IVSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ivs"); -} - -void IVSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IVSClient::InvokeOperationOutcome IVSClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ivs/source/IVSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ivs/source/IVSClientConfiguration.cpp new file mode 100644 index 000000000000..8415e9371424 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ivs/source/IVSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace IVS { + +void IVSClientConfiguration::LoadIVSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IVSClientConfiguration::IVSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadIVSSpecificConfig(this->profileName); +} + +IVSClientConfiguration::IVSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadIVSSpecificConfig(Aws::String(inputProfileName)); +} + +IVSClientConfiguration::IVSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadIVSSpecificConfig(this->profileName); +} + +IVSClientConfiguration::IVSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadIVSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IVSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace IVS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ivs/source/IVSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ivs/source/IVSEndpointProvider.cpp index c0830c3912fa..9e34503058f4 100644 --- a/generated/src/aws-cpp-sdk-ivs/source/IVSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ivs/source/IVSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_IVS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace IVS { namespace Endpoint { IVSEndpointProvider::IVSEndpointProvider() : IVSDefaultEpProviderBase(Aws::IVS::IVSEndpointRules::GetRulesBlob(), Aws::IVS::IVSEndpointRules::RulesBlobSize) {} +void IVSBuiltInParameters::SetFromClientConfiguration(const IVSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IVSBuiltInParameters::SetFromClientConfiguration(const IVSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IVSBuiltInParameters::SetServiceSpecificParameters(const IVSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace IVS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatClient.h b/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatClient.h index 61e5193bb402..07e35c9680b3 100644 --- a/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatClient.h +++ b/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatClient.h @@ -123,27 +123,6 @@ class AWS_IVSCHAT_API IvschatClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::ivschat::IvschatClientConfiguration& clientConfiguration = Aws::ivschat::IvschatClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - IvschatClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - IvschatClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - IvschatClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~IvschatClient(); /** @@ -624,7 +603,6 @@ class AWS_IVSCHAT_API IvschatClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&IvschatClient::UpdateRoom, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatClientConfiguration.h b/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatClientConfiguration.h new file mode 100644 index 000000000000..d67caf6326ad --- /dev/null +++ b/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ivschat { +struct AWS_IVSCHAT_API IvschatClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + IvschatClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IvschatClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + IvschatClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit IvschatClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadivschatSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_IVSCHAT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const IvschatClientConfiguration& config); +} // namespace ivschat +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatEndpointProvider.h b/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatEndpointProvider.h index 061814859620..9f5d922b8db2 100644 --- a/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ivschat { namespace Endpoint { +using IvschatClientConfiguration = Aws::ivschat::IvschatClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using IvschatClientContextParameters = Aws::Endpoint::ClientContextParameters; -using IvschatClientConfiguration = Aws::Client::GenericClientConfiguration; -using IvschatBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_IVSCHAT_API IvschatBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~IvschatBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const IvschatClientConfiguration& config); + virtual void SetFromClientConfiguration(const IvschatClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const IvschatClientConfiguration& config); +}; /** * The type for the ivschat Client Endpoint Provider. @@ -34,6 +43,24 @@ using IvschatEndpointProviderBase = using IvschatDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ivschat + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_IVSCHAT_EXTERN template class AWS_IVSCHAT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_IVSCHAT_EXTERN template class AWS_IVSCHAT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ivschat { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatServiceClientModel.h b/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatServiceClientModel.h index 167fc7d36a3e..d026284cc5fc 100644 --- a/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatServiceClientModel.h @@ -65,7 +65,6 @@ class RetryStrategy; } // namespace Client namespace ivschat { -using IvschatClientConfiguration = Aws::Client::GenericClientConfiguration; using IvschatEndpointProviderBase = Aws::ivschat::Endpoint::IvschatEndpointProviderBase; using IvschatEndpointProvider = Aws::ivschat::Endpoint::IvschatEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ivschat/source/IvschatClient.cpp b/generated/src/aws-cpp-sdk-ivschat/source/IvschatClient.cpp index 431bb25c38fc..2d75c0012a50 100644 --- a/generated/src/aws-cpp-sdk-ivschat/source/IvschatClient.cpp +++ b/generated/src/aws-cpp-sdk-ivschat/source/IvschatClient.cpp @@ -94,41 +94,6 @@ IvschatClient::IvschatClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -IvschatClient::IvschatClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IvschatClient::IvschatClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -IvschatClient::IvschatClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ IvschatClient::~IvschatClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& IvschatClient::accessEndpointProvider() { return m_endpointProvider; } @@ -146,12 +111,7 @@ void IvschatClient::init(const ivschat::IvschatClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ivschat"); -} - -void IvschatClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } IvschatClient::InvokeOperationOutcome IvschatClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ivschat/source/IvschatClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ivschat/source/IvschatClientConfiguration.cpp new file mode 100644 index 000000000000..01bc738648c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ivschat/source/IvschatClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ivschat { + +void IvschatClientConfiguration::LoadivschatSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +IvschatClientConfiguration::IvschatClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadivschatSpecificConfig(this->profileName); +} + +IvschatClientConfiguration::IvschatClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadivschatSpecificConfig(Aws::String(inputProfileName)); +} + +IvschatClientConfiguration::IvschatClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadivschatSpecificConfig(this->profileName); +} + +IvschatClientConfiguration::IvschatClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadivschatSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const IvschatClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ivschat +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ivschat/source/IvschatEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ivschat/source/IvschatEndpointProvider.cpp index 6046095ab3e0..0717d6b84289 100644 --- a/generated/src/aws-cpp-sdk-ivschat/source/IvschatEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ivschat/source/IvschatEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_IVSCHAT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ivschat { namespace Endpoint { IvschatEndpointProvider::IvschatEndpointProvider() : IvschatDefaultEpProviderBase(Aws::ivschat::IvschatEndpointRules::GetRulesBlob(), Aws::ivschat::IvschatEndpointRules::RulesBlobSize) {} +void IvschatBuiltInParameters::SetFromClientConfiguration(const IvschatClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void IvschatBuiltInParameters::SetFromClientConfiguration(const IvschatClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void IvschatBuiltInParameters::SetServiceSpecificParameters(const IvschatClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ivschat } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaClient.h b/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaClient.h index 1ca999f1e269..d8c4c87c3d8b 100644 --- a/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaClient.h +++ b/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaClient.h @@ -55,27 +55,6 @@ class AWS_KAFKA_API KafkaClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Kafka::KafkaClientConfiguration& clientConfiguration = Aws::Kafka::KafkaClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KafkaClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KafkaClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KafkaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KafkaClient(); /** @@ -1924,7 +1903,6 @@ class AWS_KAFKA_API KafkaClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&KafkaClient::UpdateTopic, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaClientConfiguration.h b/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaClientConfiguration.h new file mode 100644 index 000000000000..0f756b23afa8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Kafka { +struct AWS_KAFKA_API KafkaClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KafkaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KafkaClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KafkaClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KafkaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKafkaSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KAFKA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KafkaClientConfiguration& config); +} // namespace Kafka +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaEndpointProvider.h b/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaEndpointProvider.h index 2f9f70a86fbb..6b41d02beccf 100644 --- a/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Kafka { namespace Endpoint { +using KafkaClientConfiguration = Aws::Kafka::KafkaClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KafkaClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KafkaClientConfiguration = Aws::Client::GenericClientConfiguration; -using KafkaBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KAFKA_API KafkaBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KafkaBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KafkaClientConfiguration& config); + virtual void SetFromClientConfiguration(const KafkaClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KafkaClientConfiguration& config); +}; /** * The type for the Kafka Client Endpoint Provider. @@ -32,6 +41,22 @@ using KafkaEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Kafka + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KAFKA_EXTERN template class AWS_KAFKA_API Aws::Endpoint::EndpointProviderBase< + Kafka::Endpoint::KafkaClientConfiguration, Kafka::Endpoint::KafkaBuiltInParameters, Kafka::Endpoint::KafkaClientContextParameters>; + +AWS_KAFKA_EXTERN template class AWS_KAFKA_API Aws::Endpoint::BDDEndpointProvider< + Kafka::Endpoint::KafkaClientConfiguration, Kafka::Endpoint::KafkaBuiltInParameters, Kafka::Endpoint::KafkaClientContextParameters>; +} // namespace Endpoint + +namespace Kafka { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaServiceClientModel.h b/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaServiceClientModel.h index c6a0a6dfc08e..eb964f12ed8e 100644 --- a/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaServiceClientModel.h @@ -116,7 +116,6 @@ class RetryStrategy; } // namespace Client namespace Kafka { -using KafkaClientConfiguration = Aws::Client::GenericClientConfiguration; using KafkaEndpointProviderBase = Aws::Kafka::Endpoint::KafkaEndpointProviderBase; using KafkaEndpointProvider = Aws::Kafka::Endpoint::KafkaEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kafka/source/KafkaClient.cpp b/generated/src/aws-cpp-sdk-kafka/source/KafkaClient.cpp index ea543b72c259..3e9743d0aa11 100644 --- a/generated/src/aws-cpp-sdk-kafka/source/KafkaClient.cpp +++ b/generated/src/aws-cpp-sdk-kafka/source/KafkaClient.cpp @@ -141,41 +141,6 @@ KafkaClient::KafkaClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -KafkaClient::KafkaClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KafkaClient::KafkaClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KafkaClient::KafkaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KafkaClient::~KafkaClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KafkaClient::accessEndpointProvider() { return m_endpointProvider; } @@ -193,12 +158,7 @@ void KafkaClient::init(const Kafka::KafkaClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kafka"); -} - -void KafkaClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KafkaClient::InvokeOperationOutcome KafkaClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-kafka/source/KafkaClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kafka/source/KafkaClientConfiguration.cpp new file mode 100644 index 000000000000..c7e4b0e29f88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kafka/source/KafkaClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Kafka { + +void KafkaClientConfiguration::LoadKafkaSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KafkaClientConfiguration::KafkaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKafkaSpecificConfig(this->profileName); +} + +KafkaClientConfiguration::KafkaClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKafkaSpecificConfig(Aws::String(inputProfileName)); +} + +KafkaClientConfiguration::KafkaClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKafkaSpecificConfig(this->profileName); +} + +KafkaClientConfiguration::KafkaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKafkaSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KafkaClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Kafka +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kafka/source/KafkaEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kafka/source/KafkaEndpointProvider.cpp index 50b66f6b6277..db9898085c88 100644 --- a/generated/src/aws-cpp-sdk-kafka/source/KafkaEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kafka/source/KafkaEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_KAFKA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Kafka { namespace Endpoint { KafkaEndpointProvider::KafkaEndpointProvider() : KafkaDefaultEpProviderBase(Aws::Kafka::KafkaEndpointRules::GetRulesBlob(), Aws::Kafka::KafkaEndpointRules::RulesBlobSize) {} +void KafkaBuiltInParameters::SetFromClientConfiguration(const KafkaClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KafkaBuiltInParameters::SetFromClientConfiguration(const KafkaClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KafkaBuiltInParameters::SetServiceSpecificParameters(const KafkaClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Kafka } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectClient.h b/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectClient.h index fc230a07c60f..26d3c6542265 100644 --- a/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectClient.h +++ b/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectClient.h @@ -55,27 +55,6 @@ class AWS_KAFKACONNECT_API KafkaConnectClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::KafkaConnect::KafkaConnectClientConfiguration& clientConfiguration = Aws::KafkaConnect::KafkaConnectClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KafkaConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KafkaConnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KafkaConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KafkaConnectClient(); /** @@ -658,7 +637,6 @@ class AWS_KAFKACONNECT_API KafkaConnectClient : public Aws::Client::AWSJsonClien return SubmitAsync(&KafkaConnectClient::UpdateConnector, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectClientConfiguration.h b/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectClientConfiguration.h new file mode 100644 index 000000000000..85543adb351d --- /dev/null +++ b/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KafkaConnect { +struct AWS_KAFKACONNECT_API KafkaConnectClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KafkaConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KafkaConnectClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KafkaConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KafkaConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKafkaConnectSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KAFKACONNECT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KafkaConnectClientConfiguration& config); +} // namespace KafkaConnect +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectEndpointProvider.h b/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectEndpointProvider.h index d198250136b1..a91b45620dc7 100644 --- a/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KafkaConnect { namespace Endpoint { +using KafkaConnectClientConfiguration = Aws::KafkaConnect::KafkaConnectClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KafkaConnectClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KafkaConnectClientConfiguration = Aws::Client::GenericClientConfiguration; -using KafkaConnectBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KAFKACONNECT_API KafkaConnectBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KafkaConnectBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KafkaConnectClientConfiguration& config); + virtual void SetFromClientConfiguration(const KafkaConnectClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KafkaConnectClientConfiguration& config); +}; /** * The type for the KafkaConnect Client Endpoint Provider. @@ -34,6 +43,24 @@ using KafkaConnectEndpointProviderBase = using KafkaConnectDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KafkaConnect + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KAFKACONNECT_EXTERN template class AWS_KAFKACONNECT_API Aws::Endpoint::EndpointProviderBase< + KafkaConnect::Endpoint::KafkaConnectClientConfiguration, KafkaConnect::Endpoint::KafkaConnectBuiltInParameters, + KafkaConnect::Endpoint::KafkaConnectClientContextParameters>; + +AWS_KAFKACONNECT_EXTERN template class AWS_KAFKACONNECT_API Aws::Endpoint::BDDEndpointProvider< + KafkaConnect::Endpoint::KafkaConnectClientConfiguration, KafkaConnect::Endpoint::KafkaConnectBuiltInParameters, + KafkaConnect::Endpoint::KafkaConnectClientContextParameters>; +} // namespace Endpoint + +namespace KafkaConnect { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectServiceClientModel.h index 154e7d887595..6f61aae60392 100644 --- a/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectServiceClientModel.h @@ -70,7 +70,6 @@ class RetryStrategy; } // namespace Client namespace KafkaConnect { -using KafkaConnectClientConfiguration = Aws::Client::GenericClientConfiguration; using KafkaConnectEndpointProviderBase = Aws::KafkaConnect::Endpoint::KafkaConnectEndpointProviderBase; using KafkaConnectEndpointProvider = Aws::KafkaConnect::Endpoint::KafkaConnectEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectClient.cpp b/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectClient.cpp index 26a0ecdc4ff3..4dc76ccf38ea 100644 --- a/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectClient.cpp +++ b/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectClient.cpp @@ -99,41 +99,6 @@ KafkaConnectClient::KafkaConnectClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KafkaConnectClient::KafkaConnectClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KafkaConnectClient::KafkaConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KafkaConnectClient::~KafkaConnectClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KafkaConnectClient::accessEndpointProvider() { return m_endpointProvider; } @@ -151,12 +116,7 @@ void KafkaConnectClient::init(const KafkaConnect::KafkaConnectClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kafkaconnect"); -} - -void KafkaConnectClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KafkaConnectClient::InvokeOperationOutcome KafkaConnectClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectClientConfiguration.cpp new file mode 100644 index 000000000000..1ed90a22de32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KafkaConnect { + +void KafkaConnectClientConfiguration::LoadKafkaConnectSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KafkaConnectClientConfiguration::KafkaConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKafkaConnectSpecificConfig(this->profileName); +} + +KafkaConnectClientConfiguration::KafkaConnectClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKafkaConnectSpecificConfig(Aws::String(inputProfileName)); +} + +KafkaConnectClientConfiguration::KafkaConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKafkaConnectSpecificConfig(this->profileName); +} + +KafkaConnectClientConfiguration::KafkaConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKafkaConnectSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KafkaConnectClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KafkaConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectEndpointProvider.cpp index 8a7ea7a4ed52..fac1c96f1be1 100644 --- a/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_KAFKACONNECT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KafkaConnect { namespace Endpoint { KafkaConnectEndpointProvider::KafkaConnectEndpointProvider() : KafkaConnectDefaultEpProviderBase(Aws::KafkaConnect::KafkaConnectEndpointRules::GetRulesBlob(), Aws::KafkaConnect::KafkaConnectEndpointRules::RulesBlobSize) {} +void KafkaConnectBuiltInParameters::SetFromClientConfiguration(const KafkaConnectClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KafkaConnectBuiltInParameters::SetFromClientConfiguration(const KafkaConnectClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KafkaConnectBuiltInParameters::SetServiceSpecificParameters(const KafkaConnectClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KafkaConnect } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingClient.h b/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingClient.h index 8a7e6f92cd31..f9025f04d86c 100644 --- a/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingClient.h +++ b/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingClient.h @@ -57,27 +57,6 @@ class AWS_KENDRARANKING_API KendraRankingClient : public Aws::Client::AWSRpcV2Cb const Aws::KendraRanking::KendraRankingClientConfiguration& clientConfiguration = Aws::KendraRanking::KendraRankingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KendraRankingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KendraRankingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KendraRankingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KendraRankingClient(); /** @@ -354,7 +333,6 @@ class AWS_KENDRARANKING_API KendraRankingClient : public Aws::Client::AWSRpcV2Cb return SubmitAsync(&KendraRankingClient::UpdateRescoreExecutionPlan, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingClientConfiguration.h b/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingClientConfiguration.h new file mode 100644 index 000000000000..92302f48c88f --- /dev/null +++ b/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KendraRanking { +struct AWS_KENDRARANKING_API KendraRankingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KendraRankingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KendraRankingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KendraRankingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KendraRankingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadKendraRankingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KENDRARANKING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KendraRankingClientConfiguration& config); +} // namespace KendraRanking +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingEndpointProvider.h b/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingEndpointProvider.h index f51dc35b2a86..4e6f7b24de0b 100644 --- a/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KendraRanking { namespace Endpoint { +using KendraRankingClientConfiguration = Aws::KendraRanking::KendraRankingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KendraRankingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KendraRankingClientConfiguration = Aws::Client::GenericClientConfiguration; -using KendraRankingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KENDRARANKING_API KendraRankingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KendraRankingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KendraRankingClientConfiguration& config); + virtual void SetFromClientConfiguration(const KendraRankingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KendraRankingClientConfiguration& config); +}; /** * The type for the KendraRanking Client Endpoint Provider. @@ -34,6 +43,24 @@ using KendraRankingEndpointProviderBase = using KendraRankingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KendraRanking + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KENDRARANKING_EXTERN template class AWS_KENDRARANKING_API Aws::Endpoint::EndpointProviderBase< + KendraRanking::Endpoint::KendraRankingClientConfiguration, KendraRanking::Endpoint::KendraRankingBuiltInParameters, + KendraRanking::Endpoint::KendraRankingClientContextParameters>; + +AWS_KENDRARANKING_EXTERN template class AWS_KENDRARANKING_API Aws::Endpoint::BDDEndpointProvider< + KendraRanking::Endpoint::KendraRankingClientConfiguration, KendraRanking::Endpoint::KendraRankingBuiltInParameters, + KendraRanking::Endpoint::KendraRankingClientContextParameters>; +} // namespace Endpoint + +namespace KendraRanking { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingServiceClientModel.h b/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingServiceClientModel.h index e7156df2301d..1f456149a7d5 100644 --- a/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingServiceClientModel.h @@ -55,7 +55,6 @@ class RetryStrategy; } // namespace Client namespace KendraRanking { -using KendraRankingClientConfiguration = Aws::Client::GenericClientConfiguration; using KendraRankingEndpointProviderBase = Aws::KendraRanking::Endpoint::KendraRankingEndpointProviderBase; using KendraRankingEndpointProvider = Aws::KendraRanking::Endpoint::KendraRankingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingClient.cpp b/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingClient.cpp index 823687d1a245..922f733dc8da 100644 --- a/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingClient.cpp +++ b/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingClient.cpp @@ -87,41 +87,6 @@ KendraRankingClient::KendraRankingClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KendraRankingClient::KendraRankingClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KendraRankingClient::KendraRankingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KendraRankingClient::~KendraRankingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KendraRankingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +104,7 @@ void KendraRankingClient::init(const KendraRanking::KendraRankingClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kendra-ranking"); -} - -void KendraRankingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KendraRankingClient::InvokeOperationOutcome KendraRankingClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingClientConfiguration.cpp new file mode 100644 index 000000000000..75775358afe0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KendraRanking { + +void KendraRankingClientConfiguration::LoadKendraRankingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KendraRankingClientConfiguration::KendraRankingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKendraRankingSpecificConfig(this->profileName); +} + +KendraRankingClientConfiguration::KendraRankingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKendraRankingSpecificConfig(Aws::String(inputProfileName)); +} + +KendraRankingClientConfiguration::KendraRankingClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKendraRankingSpecificConfig(this->profileName); +} + +KendraRankingClientConfiguration::KendraRankingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKendraRankingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KendraRankingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KendraRanking +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingEndpointProvider.cpp index 513718c269d3..dc6b900bea54 100644 --- a/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_KENDRARANKING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KendraRanking { namespace Endpoint { KendraRankingEndpointProvider::KendraRankingEndpointProvider() : KendraRankingDefaultEpProviderBase(Aws::KendraRanking::KendraRankingEndpointRules::GetRulesBlob(), Aws::KendraRanking::KendraRankingEndpointRules::RulesBlobSize) {} +void KendraRankingBuiltInParameters::SetFromClientConfiguration(const KendraRankingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KendraRankingBuiltInParameters::SetFromClientConfiguration(const KendraRankingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KendraRankingBuiltInParameters::SetServiceSpecificParameters(const KendraRankingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace KendraRanking } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraClient.h b/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraClient.h index 0d7977720ee6..bfcc60e46301 100644 --- a/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraClient.h +++ b/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraClient.h @@ -52,27 +52,6 @@ class AWS_KENDRA_API KendraClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::kendra::KendraClientConfiguration& clientConfiguration = Aws::kendra::KendraClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KendraClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KendraClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KendraClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KendraClient(); /** @@ -2207,7 +2186,6 @@ class AWS_KENDRA_API KendraClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&KendraClient::UpdateThesaurus, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraClientConfiguration.h b/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraClientConfiguration.h new file mode 100644 index 000000000000..e5aa9e59b548 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace kendra { +struct AWS_KENDRA_API KendraClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KendraClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KendraClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KendraClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KendraClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadkendraSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KENDRA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KendraClientConfiguration& config); +} // namespace kendra +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraEndpointProvider.h b/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraEndpointProvider.h index daec3a5013e4..ce7dcad70281 100644 --- a/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace kendra { namespace Endpoint { +using KendraClientConfiguration = Aws::kendra::KendraClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KendraClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KendraClientConfiguration = Aws::Client::GenericClientConfiguration; -using KendraBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KENDRA_API KendraBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KendraBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KendraClientConfiguration& config); + virtual void SetFromClientConfiguration(const KendraClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KendraClientConfiguration& config); +}; /** * The type for the kendra Client Endpoint Provider. @@ -32,6 +41,24 @@ using KendraEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace kendra + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KENDRA_EXTERN template class AWS_KENDRA_API + Aws::Endpoint::EndpointProviderBase; + +AWS_KENDRA_EXTERN template class AWS_KENDRA_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace kendra { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraServiceClientModel.h b/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraServiceClientModel.h index fd265dc9bc60..2b99c8232794 100644 --- a/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraServiceClientModel.h @@ -98,7 +98,6 @@ class RetryStrategy; } // namespace Client namespace kendra { -using KendraClientConfiguration = Aws::Client::GenericClientConfiguration; using KendraEndpointProviderBase = Aws::kendra::Endpoint::KendraEndpointProviderBase; using KendraEndpointProvider = Aws::kendra::Endpoint::KendraEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kendra/source/KendraClient.cpp b/generated/src/aws-cpp-sdk-kendra/source/KendraClient.cpp index 2bb95bac3945..9dde413a1233 100644 --- a/generated/src/aws-cpp-sdk-kendra/source/KendraClient.cpp +++ b/generated/src/aws-cpp-sdk-kendra/source/KendraClient.cpp @@ -143,41 +143,6 @@ KendraClient::KendraClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -KendraClient::KendraClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KendraClient::KendraClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KendraClient::KendraClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KendraClient::~KendraClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KendraClient::accessEndpointProvider() { return m_endpointProvider; } @@ -195,12 +160,7 @@ void KendraClient::init(const kendra::KendraClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kendra"); -} - -void KendraClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KendraClient::InvokeOperationOutcome KendraClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-kendra/source/KendraClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kendra/source/KendraClientConfiguration.cpp new file mode 100644 index 000000000000..ba08078ae7c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kendra/source/KendraClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace kendra { + +void KendraClientConfiguration::LoadkendraSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KendraClientConfiguration::KendraClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadkendraSpecificConfig(this->profileName); +} + +KendraClientConfiguration::KendraClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadkendraSpecificConfig(Aws::String(inputProfileName)); +} + +KendraClientConfiguration::KendraClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadkendraSpecificConfig(this->profileName); +} + +KendraClientConfiguration::KendraClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadkendraSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KendraClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace kendra +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kendra/source/KendraEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kendra/source/KendraEndpointProvider.cpp index 9a985eee6197..431cdd215e10 100644 --- a/generated/src/aws-cpp-sdk-kendra/source/KendraEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kendra/source/KendraEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_KENDRA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace kendra { namespace Endpoint { KendraEndpointProvider::KendraEndpointProvider() : KendraDefaultEpProviderBase(Aws::kendra::KendraEndpointRules::GetRulesBlob(), Aws::kendra::KendraEndpointRules::RulesBlobSize) {} +void KendraBuiltInParameters::SetFromClientConfiguration(const KendraClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KendraBuiltInParameters::SetFromClientConfiguration(const KendraClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KendraBuiltInParameters::SetServiceSpecificParameters(const KendraClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace kendra } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h index f7d8fec05fbc..2c8a3b3cfe55 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClient.h @@ -74,27 +74,6 @@ class AWS_KEYSPACES_API KeyspacesClient : public Aws::Client::AWSRpcV2CborClient std::shared_ptr endpointProvider = nullptr, const Aws::Keyspaces::KeyspacesClientConfiguration& clientConfiguration = Aws::Keyspaces::KeyspacesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KeyspacesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KeyspacesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KeyspacesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KeyspacesClient(); /** @@ -737,7 +716,6 @@ class AWS_KEYSPACES_API KeyspacesClient : public Aws::Client::AWSRpcV2CborClient return SubmitAsync(&KeyspacesClient::UpdateTable, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClientConfiguration.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClientConfiguration.h new file mode 100644 index 000000000000..678d3ef3ce0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Keyspaces { +struct AWS_KEYSPACES_API KeyspacesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KeyspacesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KeyspacesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KeyspacesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KeyspacesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKeyspacesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KEYSPACES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KeyspacesClientConfiguration& config); +} // namespace Keyspaces +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesEndpointProvider.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesEndpointProvider.h index c4b5667d014f..467bae898479 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Keyspaces { namespace Endpoint { +using KeyspacesClientConfiguration = Aws::Keyspaces::KeyspacesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KeyspacesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KeyspacesClientConfiguration = Aws::Client::GenericClientConfiguration; -using KeyspacesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KEYSPACES_API KeyspacesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KeyspacesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KeyspacesClientConfiguration& config); + virtual void SetFromClientConfiguration(const KeyspacesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KeyspacesClientConfiguration& config); +}; /** * The type for the Keyspaces Client Endpoint Provider. @@ -34,6 +43,24 @@ using KeyspacesEndpointProviderBase = using KeyspacesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Keyspaces + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KEYSPACES_EXTERN template class AWS_KEYSPACES_API + Aws::Endpoint::EndpointProviderBase; + +AWS_KEYSPACES_EXTERN template class AWS_KEYSPACES_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Keyspaces { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h index 6cf0009478f5..7952553740a8 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesServiceClientModel.h @@ -66,7 +66,6 @@ class RetryStrategy; } // namespace Client namespace Keyspaces { -using KeyspacesClientConfiguration = Aws::Client::GenericClientConfiguration; using KeyspacesEndpointProviderBase = Aws::Keyspaces::Endpoint::KeyspacesEndpointProviderBase; using KeyspacesEndpointProvider = Aws::Keyspaces::Endpoint::KeyspacesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp index ea2a7c837b38..25786b939106 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClient.cpp @@ -96,41 +96,6 @@ KeyspacesClient::KeyspacesClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -KeyspacesClient::KeyspacesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KeyspacesClient::KeyspacesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KeyspacesClient::KeyspacesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KeyspacesClient::~KeyspacesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KeyspacesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +113,7 @@ void KeyspacesClient::init(const Keyspaces::KeyspacesClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cassandra"); -} - -void KeyspacesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KeyspacesClient::InvokeOperationOutcome KeyspacesClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClientConfiguration.cpp new file mode 100644 index 000000000000..79d7ecd08e95 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Keyspaces { + +void KeyspacesClientConfiguration::LoadKeyspacesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KeyspacesClientConfiguration::KeyspacesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKeyspacesSpecificConfig(this->profileName); +} + +KeyspacesClientConfiguration::KeyspacesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKeyspacesSpecificConfig(Aws::String(inputProfileName)); +} + +KeyspacesClientConfiguration::KeyspacesClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKeyspacesSpecificConfig(this->profileName); +} + +KeyspacesClientConfiguration::KeyspacesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKeyspacesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KeyspacesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Keyspaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesEndpointProvider.cpp index 34d7532e2a4a..ebf271db0d36 100644 --- a/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_KEYSPACES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Keyspaces { namespace Endpoint { KeyspacesEndpointProvider::KeyspacesEndpointProvider() : KeyspacesDefaultEpProviderBase(Aws::Keyspaces::KeyspacesEndpointRules::GetRulesBlob(), Aws::Keyspaces::KeyspacesEndpointRules::RulesBlobSize) {} +void KeyspacesBuiltInParameters::SetFromClientConfiguration(const KeyspacesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KeyspacesBuiltInParameters::SetFromClientConfiguration(const KeyspacesClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KeyspacesBuiltInParameters::SetServiceSpecificParameters(const KeyspacesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Keyspaces } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsClient.h b/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsClient.h index 4dc82c51d6b8..275b438b35e2 100644 --- a/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsClient.h +++ b/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsClient.h @@ -75,27 +75,6 @@ class AWS_KEYSPACESSTREAMS_API KeyspacesStreamsClient : public Aws::Client::AWSJ const Aws::KeyspacesStreams::KeyspacesStreamsClientConfiguration& clientConfiguration = Aws::KeyspacesStreams::KeyspacesStreamsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KeyspacesStreamsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KeyspacesStreamsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KeyspacesStreamsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KeyspacesStreamsClient(); /** @@ -219,7 +198,6 @@ class AWS_KEYSPACESSTREAMS_API KeyspacesStreamsClient : public Aws::Client::AWSJ return SubmitAsync(&KeyspacesStreamsClient::ListStreams, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsClientConfiguration.h b/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsClientConfiguration.h new file mode 100644 index 000000000000..9a3026b8b2d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KeyspacesStreams { +struct AWS_KEYSPACESSTREAMS_API KeyspacesStreamsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KeyspacesStreamsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KeyspacesStreamsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KeyspacesStreamsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KeyspacesStreamsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadKeyspacesStreamsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KEYSPACESSTREAMS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KeyspacesStreamsClientConfiguration& config); +} // namespace KeyspacesStreams +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsEndpointProvider.h b/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsEndpointProvider.h index d9db0be286b1..9e823676dd1f 100644 --- a/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KeyspacesStreams { namespace Endpoint { +using KeyspacesStreamsClientConfiguration = Aws::KeyspacesStreams::KeyspacesStreamsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KeyspacesStreamsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KeyspacesStreamsClientConfiguration = Aws::Client::GenericClientConfiguration; -using KeyspacesStreamsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KEYSPACESSTREAMS_API KeyspacesStreamsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KeyspacesStreamsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KeyspacesStreamsClientConfiguration& config); + virtual void SetFromClientConfiguration(const KeyspacesStreamsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KeyspacesStreamsClientConfiguration& config); +}; /** * The type for the KeyspacesStreams Client Endpoint Provider. @@ -34,6 +43,24 @@ using KeyspacesStreamsEndpointProviderBase = using KeyspacesStreamsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KeyspacesStreams + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KEYSPACESSTREAMS_EXTERN template class AWS_KEYSPACESSTREAMS_API Aws::Endpoint::EndpointProviderBase< + KeyspacesStreams::Endpoint::KeyspacesStreamsClientConfiguration, KeyspacesStreams::Endpoint::KeyspacesStreamsBuiltInParameters, + KeyspacesStreams::Endpoint::KeyspacesStreamsClientContextParameters>; + +AWS_KEYSPACESSTREAMS_EXTERN template class AWS_KEYSPACESSTREAMS_API Aws::Endpoint::BDDEndpointProvider< + KeyspacesStreams::Endpoint::KeyspacesStreamsClientConfiguration, KeyspacesStreams::Endpoint::KeyspacesStreamsBuiltInParameters, + KeyspacesStreams::Endpoint::KeyspacesStreamsClientContextParameters>; +} // namespace Endpoint + +namespace KeyspacesStreams { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsServiceClientModel.h b/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsServiceClientModel.h index 72a046ceeb60..a224040ef6cd 100644 --- a/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace KeyspacesStreams { -using KeyspacesStreamsClientConfiguration = Aws::Client::GenericClientConfiguration; using KeyspacesStreamsEndpointProviderBase = Aws::KeyspacesStreams::Endpoint::KeyspacesStreamsEndpointProviderBase; using KeyspacesStreamsEndpointProvider = Aws::KeyspacesStreams::Endpoint::KeyspacesStreamsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsClient.cpp b/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsClient.cpp index 70bf23356bdb..e03496a4d04b 100644 --- a/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsClient.cpp +++ b/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsClient.cpp @@ -85,42 +85,6 @@ KeyspacesStreamsClient::KeyspacesStreamsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KeyspacesStreamsClient::KeyspacesStreamsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KeyspacesStreamsClient::KeyspacesStreamsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KeyspacesStreamsClient::~KeyspacesStreamsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KeyspacesStreamsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -138,12 +102,7 @@ void KeyspacesStreamsClient::init(const KeyspacesStreams::KeyspacesStreamsClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "cassandra"); -} - -void KeyspacesStreamsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KeyspacesStreamsClient::InvokeOperationOutcome KeyspacesStreamsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsClientConfiguration.cpp new file mode 100644 index 000000000000..7cefe2ebda67 --- /dev/null +++ b/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KeyspacesStreams { + +void KeyspacesStreamsClientConfiguration::LoadKeyspacesStreamsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KeyspacesStreamsClientConfiguration::KeyspacesStreamsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKeyspacesStreamsSpecificConfig(this->profileName); +} + +KeyspacesStreamsClientConfiguration::KeyspacesStreamsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKeyspacesStreamsSpecificConfig(Aws::String(inputProfileName)); +} + +KeyspacesStreamsClientConfiguration::KeyspacesStreamsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKeyspacesStreamsSpecificConfig(this->profileName); +} + +KeyspacesStreamsClientConfiguration::KeyspacesStreamsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKeyspacesStreamsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KeyspacesStreamsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KeyspacesStreams +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsEndpointProvider.cpp index 5ba17fd98850..eeda3ddfb319 100644 --- a/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_KEYSPACESSTREAMS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KeyspacesStreams { namespace Endpoint { KeyspacesStreamsEndpointProvider::KeyspacesStreamsEndpointProvider() : KeyspacesStreamsDefaultEpProviderBase(Aws::KeyspacesStreams::KeyspacesStreamsEndpointRules::GetRulesBlob(), Aws::KeyspacesStreams::KeyspacesStreamsEndpointRules::RulesBlobSize) {} +void KeyspacesStreamsBuiltInParameters::SetFromClientConfiguration(const KeyspacesStreamsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KeyspacesStreamsBuiltInParameters::SetFromClientConfiguration(const KeyspacesStreamsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KeyspacesStreamsBuiltInParameters::SetServiceSpecificParameters(const KeyspacesStreamsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace KeyspacesStreams } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaClient.h b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaClient.h index ea817397a455..528b9da0a425 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaClient.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaClient.h @@ -57,28 +57,6 @@ class AWS_KINESISVIDEOARCHIVEDMEDIA_API KinesisVideoArchivedMediaClient const Aws::KinesisVideoArchivedMedia::KinesisVideoArchivedMediaClientConfiguration& clientConfiguration = Aws::KinesisVideoArchivedMedia::KinesisVideoArchivedMediaClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KinesisVideoArchivedMediaClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KinesisVideoArchivedMediaClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KinesisVideoArchivedMediaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KinesisVideoArchivedMediaClient(); /** @@ -546,7 +524,6 @@ class AWS_KINESISVIDEOARCHIVEDMEDIA_API KinesisVideoArchivedMediaClient return SubmitAsync(&KinesisVideoArchivedMediaClient::ListFragments, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaClientConfiguration.h b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaClientConfiguration.h new file mode 100644 index 000000000000..75ef7fbf851c --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KinesisVideoArchivedMedia { +struct AWS_KINESISVIDEOARCHIVEDMEDIA_API KinesisVideoArchivedMediaClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KinesisVideoArchivedMediaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoArchivedMediaClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoArchivedMediaClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KinesisVideoArchivedMediaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKinesisVideoArchivedMediaSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KINESISVIDEOARCHIVEDMEDIA_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const KinesisVideoArchivedMediaClientConfiguration& config); +} // namespace KinesisVideoArchivedMedia +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaEndpointProvider.h b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaEndpointProvider.h index 04d7895747b5..38a532f4403d 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KinesisVideoArchivedMedia { namespace Endpoint { +using KinesisVideoArchivedMediaClientConfiguration = Aws::KinesisVideoArchivedMedia::KinesisVideoArchivedMediaClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KinesisVideoArchivedMediaClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KinesisVideoArchivedMediaClientConfiguration = Aws::Client::GenericClientConfiguration; -using KinesisVideoArchivedMediaBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KINESISVIDEOARCHIVEDMEDIA_API KinesisVideoArchivedMediaBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KinesisVideoArchivedMediaBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KinesisVideoArchivedMediaClientConfiguration& config); + virtual void SetFromClientConfiguration(const KinesisVideoArchivedMediaClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KinesisVideoArchivedMediaClientConfiguration& config); +}; /** * The type for the KinesisVideoArchivedMedia Client Endpoint Provider. @@ -36,6 +45,26 @@ using KinesisVideoArchivedMediaDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KinesisVideoArchivedMedia + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KINESISVIDEOARCHIVEDMEDIA_EXTERN template class AWS_KINESISVIDEOARCHIVEDMEDIA_API + Aws::Endpoint::EndpointProviderBase; + +AWS_KINESISVIDEOARCHIVEDMEDIA_EXTERN template class AWS_KINESISVIDEOARCHIVEDMEDIA_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace KinesisVideoArchivedMedia { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaServiceClientModel.h b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaServiceClientModel.h index 5d7f8542b9e6..d43c2bd894e6 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaServiceClientModel.h @@ -55,7 +55,6 @@ class RetryStrategy; } // namespace Client namespace KinesisVideoArchivedMedia { -using KinesisVideoArchivedMediaClientConfiguration = Aws::Client::GenericClientConfiguration; using KinesisVideoArchivedMediaEndpointProviderBase = Aws::KinesisVideoArchivedMedia::Endpoint::KinesisVideoArchivedMediaEndpointProviderBase; using KinesisVideoArchivedMediaEndpointProvider = Aws::KinesisVideoArchivedMedia::Endpoint::KinesisVideoArchivedMediaEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaClient.cpp b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaClient.cpp index 2cf622b794da..a1d02fd3618e 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaClient.cpp +++ b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaClient.cpp @@ -89,42 +89,6 @@ KinesisVideoArchivedMediaClient::KinesisVideoArchivedMediaClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -KinesisVideoArchivedMediaClient::KinesisVideoArchivedMediaClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoArchivedMediaClient::KinesisVideoArchivedMediaClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoArchivedMediaClient::KinesisVideoArchivedMediaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KinesisVideoArchivedMediaClient::~KinesisVideoArchivedMediaClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KinesisVideoArchivedMediaClient::accessEndpointProvider() { @@ -144,12 +108,7 @@ void KinesisVideoArchivedMediaClient::init(const KinesisVideoArchivedMedia::Kine AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kinesisvideo"); -} - -void KinesisVideoArchivedMediaClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KinesisVideoArchivedMediaClient::InvokeOperationOutcome KinesisVideoArchivedMediaClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaClientConfiguration.cpp new file mode 100644 index 000000000000..9ff89e9b994d --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KinesisVideoArchivedMedia { + +void KinesisVideoArchivedMediaClientConfiguration::LoadKinesisVideoArchivedMediaSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KinesisVideoArchivedMediaClientConfiguration::KinesisVideoArchivedMediaClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKinesisVideoArchivedMediaSpecificConfig(this->profileName); +} + +KinesisVideoArchivedMediaClientConfiguration::KinesisVideoArchivedMediaClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKinesisVideoArchivedMediaSpecificConfig(Aws::String(inputProfileName)); +} + +KinesisVideoArchivedMediaClientConfiguration::KinesisVideoArchivedMediaClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKinesisVideoArchivedMediaSpecificConfig(this->profileName); +} + +KinesisVideoArchivedMediaClientConfiguration::KinesisVideoArchivedMediaClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKinesisVideoArchivedMediaSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisVideoArchivedMediaClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KinesisVideoArchivedMedia +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaEndpointProvider.cpp index d2bc507ceceb..2c611d1f1afc 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaEndpointProvider.cpp @@ -7,6 +7,21 @@ #include namespace Aws { +#ifndef AWS_KINESISVIDEOARCHIVEDMEDIA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KinesisVideoArchivedMedia { namespace Endpoint { KinesisVideoArchivedMediaEndpointProvider::KinesisVideoArchivedMediaEndpointProvider() @@ -14,6 +29,25 @@ KinesisVideoArchivedMediaEndpointProvider::KinesisVideoArchivedMediaEndpointProv Aws::KinesisVideoArchivedMedia::KinesisVideoArchivedMediaEndpointRules::GetRulesBlob(), Aws::KinesisVideoArchivedMedia::KinesisVideoArchivedMediaEndpointRules::RulesBlobSize) {} +void KinesisVideoArchivedMediaBuiltInParameters::SetFromClientConfiguration(const KinesisVideoArchivedMediaClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KinesisVideoArchivedMediaBuiltInParameters::SetFromClientConfiguration(const KinesisVideoArchivedMediaClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KinesisVideoArchivedMediaBuiltInParameters::SetServiceSpecificParameters(const KinesisVideoArchivedMediaClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KinesisVideoArchivedMedia } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaClient.h b/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaClient.h index 73b8f74c4849..6252fad84378 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaClient.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaClient.h @@ -56,27 +56,6 @@ class AWS_KINESISVIDEOMEDIA_API KinesisVideoMediaClient : public Aws::Client::AW const Aws::KinesisVideoMedia::KinesisVideoMediaClientConfiguration& clientConfiguration = Aws::KinesisVideoMedia::KinesisVideoMediaClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KinesisVideoMediaClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KinesisVideoMediaClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KinesisVideoMediaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KinesisVideoMediaClient(); /** @@ -135,7 +114,6 @@ class AWS_KINESISVIDEOMEDIA_API KinesisVideoMediaClient : public Aws::Client::AW return SubmitAsync(&KinesisVideoMediaClient::GetMedia, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaClientConfiguration.h b/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaClientConfiguration.h new file mode 100644 index 000000000000..583b591d8019 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KinesisVideoMedia { +struct AWS_KINESISVIDEOMEDIA_API KinesisVideoMediaClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KinesisVideoMediaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoMediaClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoMediaClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KinesisVideoMediaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKinesisVideoMediaSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KINESISVIDEOMEDIA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisVideoMediaClientConfiguration& config); +} // namespace KinesisVideoMedia +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaEndpointProvider.h b/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaEndpointProvider.h index 024fbbc78f3a..a61827371342 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KinesisVideoMedia { namespace Endpoint { +using KinesisVideoMediaClientConfiguration = Aws::KinesisVideoMedia::KinesisVideoMediaClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KinesisVideoMediaClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KinesisVideoMediaClientConfiguration = Aws::Client::GenericClientConfiguration; -using KinesisVideoMediaBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KINESISVIDEOMEDIA_API KinesisVideoMediaBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KinesisVideoMediaBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KinesisVideoMediaClientConfiguration& config); + virtual void SetFromClientConfiguration(const KinesisVideoMediaClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KinesisVideoMediaClientConfiguration& config); +}; /** * The type for the KinesisVideoMedia Client Endpoint Provider. @@ -34,6 +43,24 @@ using KinesisVideoMediaEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace KinesisVideoMedia + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KINESISVIDEOMEDIA_EXTERN template class AWS_KINESISVIDEOMEDIA_API Aws::Endpoint::EndpointProviderBase< + KinesisVideoMedia::Endpoint::KinesisVideoMediaClientConfiguration, KinesisVideoMedia::Endpoint::KinesisVideoMediaBuiltInParameters, + KinesisVideoMedia::Endpoint::KinesisVideoMediaClientContextParameters>; + +AWS_KINESISVIDEOMEDIA_EXTERN template class AWS_KINESISVIDEOMEDIA_API Aws::Endpoint::BDDEndpointProvider< + KinesisVideoMedia::Endpoint::KinesisVideoMediaClientConfiguration, KinesisVideoMedia::Endpoint::KinesisVideoMediaBuiltInParameters, + KinesisVideoMedia::Endpoint::KinesisVideoMediaClientContextParameters>; +} // namespace Endpoint + +namespace KinesisVideoMedia { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaServiceClientModel.h b/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaServiceClientModel.h index dc50de1927e4..42366004039e 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace KinesisVideoMedia { -using KinesisVideoMediaClientConfiguration = Aws::Client::GenericClientConfiguration; using KinesisVideoMediaEndpointProviderBase = Aws::KinesisVideoMedia::Endpoint::KinesisVideoMediaEndpointProviderBase; using KinesisVideoMediaEndpointProvider = Aws::KinesisVideoMedia::Endpoint::KinesisVideoMediaEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaClient.cpp b/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaClient.cpp index f76488ee81da..17e577017835 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaClient.cpp +++ b/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaClient.cpp @@ -82,42 +82,6 @@ KinesisVideoMediaClient::KinesisVideoMediaClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoMediaClient::KinesisVideoMediaClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoMediaClient::KinesisVideoMediaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KinesisVideoMediaClient::~KinesisVideoMediaClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KinesisVideoMediaClient::accessEndpointProvider() { return m_endpointProvider; } @@ -135,12 +99,7 @@ void KinesisVideoMediaClient::init(const KinesisVideoMedia::KinesisVideoMediaCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kinesisvideo"); -} - -void KinesisVideoMediaClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KinesisVideoMediaClient::InvokeOperationOutcome KinesisVideoMediaClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaClientConfiguration.cpp new file mode 100644 index 000000000000..93cae4fff11f --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KinesisVideoMedia { + +void KinesisVideoMediaClientConfiguration::LoadKinesisVideoMediaSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KinesisVideoMediaClientConfiguration::KinesisVideoMediaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKinesisVideoMediaSpecificConfig(this->profileName); +} + +KinesisVideoMediaClientConfiguration::KinesisVideoMediaClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKinesisVideoMediaSpecificConfig(Aws::String(inputProfileName)); +} + +KinesisVideoMediaClientConfiguration::KinesisVideoMediaClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKinesisVideoMediaSpecificConfig(this->profileName); +} + +KinesisVideoMediaClientConfiguration::KinesisVideoMediaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKinesisVideoMediaSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisVideoMediaClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KinesisVideoMedia +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaEndpointProvider.cpp index c2ec8900f61f..b1d3ed98cde0 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_KINESISVIDEOMEDIA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KinesisVideoMedia { namespace Endpoint { KinesisVideoMediaEndpointProvider::KinesisVideoMediaEndpointProvider() : KinesisVideoMediaDefaultEpProviderBase(Aws::KinesisVideoMedia::KinesisVideoMediaEndpointRules::GetRulesBlob(), Aws::KinesisVideoMedia::KinesisVideoMediaEndpointRules::RulesBlobSize) {} +void KinesisVideoMediaBuiltInParameters::SetFromClientConfiguration(const KinesisVideoMediaClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KinesisVideoMediaBuiltInParameters::SetFromClientConfiguration(const KinesisVideoMediaClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KinesisVideoMediaBuiltInParameters::SetServiceSpecificParameters(const KinesisVideoMediaClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KinesisVideoMedia } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsClient.h b/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsClient.h index 532c0d66efc1..e898d9f4061c 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsClient.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsClient.h @@ -63,28 +63,6 @@ class AWS_KINESISVIDEOSIGNALINGCHANNELS_API KinesisVideoSignalingChannelsClient const Aws::KinesisVideoSignalingChannels::KinesisVideoSignalingChannelsClientConfiguration& clientConfiguration = Aws::KinesisVideoSignalingChannels::KinesisVideoSignalingChannelsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KinesisVideoSignalingChannelsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KinesisVideoSignalingChannelsClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KinesisVideoSignalingChannelsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KinesisVideoSignalingChannelsClient(); /** @@ -160,7 +138,6 @@ class AWS_KINESISVIDEOSIGNALINGCHANNELS_API KinesisVideoSignalingChannelsClient return SubmitAsync(&KinesisVideoSignalingChannelsClient::SendAlexaOfferToMaster, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsClientConfiguration.h b/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsClientConfiguration.h new file mode 100644 index 000000000000..32b9c598f986 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KinesisVideoSignalingChannels { +struct AWS_KINESISVIDEOSIGNALINGCHANNELS_API KinesisVideoSignalingChannelsClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KinesisVideoSignalingChannelsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoSignalingChannelsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoSignalingChannelsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KinesisVideoSignalingChannelsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKinesisVideoSignalingChannelsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KINESISVIDEOSIGNALINGCHANNELS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const KinesisVideoSignalingChannelsClientConfiguration& config); +} // namespace KinesisVideoSignalingChannels +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsEndpointProvider.h b/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsEndpointProvider.h index 085a5614f5d9..c8a298e7d446 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsEndpointProvider.h @@ -4,24 +4,34 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KinesisVideoSignalingChannels { namespace Endpoint { +using KinesisVideoSignalingChannelsClientConfiguration = + Aws::KinesisVideoSignalingChannels::KinesisVideoSignalingChannelsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KinesisVideoSignalingChannelsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KinesisVideoSignalingChannelsClientConfiguration = Aws::Client::GenericClientConfiguration; -using KinesisVideoSignalingChannelsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KINESISVIDEOSIGNALINGCHANNELS_API KinesisVideoSignalingChannelsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KinesisVideoSignalingChannelsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KinesisVideoSignalingChannelsClientConfiguration& config); + virtual void SetFromClientConfiguration(const KinesisVideoSignalingChannelsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KinesisVideoSignalingChannelsClientConfiguration& config); +}; /** * The type for the KinesisVideoSignalingChannels Client Endpoint Provider. @@ -36,6 +46,26 @@ using KinesisVideoSignalingChannelsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KinesisVideoSignalingChannels + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KINESISVIDEOSIGNALINGCHANNELS_EXTERN template class AWS_KINESISVIDEOSIGNALINGCHANNELS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_KINESISVIDEOSIGNALINGCHANNELS_EXTERN template class AWS_KINESISVIDEOSIGNALINGCHANNELS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace KinesisVideoSignalingChannels { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsServiceClientModel.h b/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsServiceClientModel.h index 523691003bcb..6ddc231b8af7 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace KinesisVideoSignalingChannels { -using KinesisVideoSignalingChannelsClientConfiguration = Aws::Client::GenericClientConfiguration; using KinesisVideoSignalingChannelsEndpointProviderBase = Aws::KinesisVideoSignalingChannels::Endpoint::KinesisVideoSignalingChannelsEndpointProviderBase; using KinesisVideoSignalingChannelsEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsClient.cpp b/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsClient.cpp index a45be7c332f7..207a22672b5d 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsClient.cpp +++ b/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsClient.cpp @@ -85,42 +85,6 @@ KinesisVideoSignalingChannelsClient::KinesisVideoSignalingChannelsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -KinesisVideoSignalingChannelsClient::KinesisVideoSignalingChannelsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoSignalingChannelsClient::KinesisVideoSignalingChannelsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoSignalingChannelsClient::KinesisVideoSignalingChannelsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KinesisVideoSignalingChannelsClient::~KinesisVideoSignalingChannelsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KinesisVideoSignalingChannelsClient::accessEndpointProvider() { @@ -141,12 +105,7 @@ void KinesisVideoSignalingChannelsClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kinesisvideo"); -} - -void KinesisVideoSignalingChannelsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KinesisVideoSignalingChannelsClient::InvokeOperationOutcome KinesisVideoSignalingChannelsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsClientConfiguration.cpp new file mode 100644 index 000000000000..80a1e036b8f9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsClientConfiguration.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KinesisVideoSignalingChannels { + +void KinesisVideoSignalingChannelsClientConfiguration::LoadKinesisVideoSignalingChannelsSpecificConfig( + const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KinesisVideoSignalingChannelsClientConfiguration::KinesisVideoSignalingChannelsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKinesisVideoSignalingChannelsSpecificConfig(this->profileName); +} + +KinesisVideoSignalingChannelsClientConfiguration::KinesisVideoSignalingChannelsClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKinesisVideoSignalingChannelsSpecificConfig(Aws::String(inputProfileName)); +} + +KinesisVideoSignalingChannelsClientConfiguration::KinesisVideoSignalingChannelsClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKinesisVideoSignalingChannelsSpecificConfig(this->profileName); +} + +KinesisVideoSignalingChannelsClientConfiguration::KinesisVideoSignalingChannelsClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKinesisVideoSignalingChannelsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisVideoSignalingChannelsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KinesisVideoSignalingChannels +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsEndpointProvider.cpp index 4abd9cf329c7..eed38e3257d6 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_KINESISVIDEOSIGNALINGCHANNELS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + KinesisVideoSignalingChannels::Endpoint::KinesisVideoSignalingChannelsClientConfiguration, + KinesisVideoSignalingChannels::Endpoint::KinesisVideoSignalingChannelsBuiltInParameters, + KinesisVideoSignalingChannels::Endpoint::KinesisVideoSignalingChannelsClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + KinesisVideoSignalingChannels::Endpoint::KinesisVideoSignalingChannelsClientConfiguration, + KinesisVideoSignalingChannels::Endpoint::KinesisVideoSignalingChannelsBuiltInParameters, + KinesisVideoSignalingChannels::Endpoint::KinesisVideoSignalingChannelsClientContextParameters>; +} // namespace Endpoint +#endif + namespace KinesisVideoSignalingChannels { namespace Endpoint { KinesisVideoSignalingChannelsEndpointProvider::KinesisVideoSignalingChannelsEndpointProvider() @@ -14,6 +31,28 @@ KinesisVideoSignalingChannelsEndpointProvider::KinesisVideoSignalingChannelsEndp Aws::KinesisVideoSignalingChannels::KinesisVideoSignalingChannelsEndpointRules::GetRulesBlob(), Aws::KinesisVideoSignalingChannels::KinesisVideoSignalingChannelsEndpointRules::RulesBlobSize) {} +void KinesisVideoSignalingChannelsBuiltInParameters::SetFromClientConfiguration( + const KinesisVideoSignalingChannelsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KinesisVideoSignalingChannelsBuiltInParameters::SetFromClientConfiguration( + const KinesisVideoSignalingChannelsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void KinesisVideoSignalingChannelsBuiltInParameters::SetServiceSpecificParameters( + const KinesisVideoSignalingChannelsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KinesisVideoSignalingChannels } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageClient.h b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageClient.h index 26e006b35df3..70b71fee8af1 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageClient.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageClient.h @@ -57,28 +57,6 @@ class AWS_KINESISVIDEOWEBRTCSTORAGE_API KinesisVideoWebRTCStorageClient const Aws::KinesisVideoWebRTCStorage::KinesisVideoWebRTCStorageClientConfiguration& clientConfiguration = Aws::KinesisVideoWebRTCStorage::KinesisVideoWebRTCStorageClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KinesisVideoWebRTCStorageClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KinesisVideoWebRTCStorageClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KinesisVideoWebRTCStorageClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KinesisVideoWebRTCStorageClient(); /** @@ -180,7 +158,6 @@ class AWS_KINESISVIDEOWEBRTCSTORAGE_API KinesisVideoWebRTCStorageClient return SubmitAsync(&KinesisVideoWebRTCStorageClient::JoinStorageSessionAsViewer, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageClientConfiguration.h b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageClientConfiguration.h new file mode 100644 index 000000000000..3bbe8f3e0959 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KinesisVideoWebRTCStorage { +struct AWS_KINESISVIDEOWEBRTCSTORAGE_API KinesisVideoWebRTCStorageClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KinesisVideoWebRTCStorageClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoWebRTCStorageClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoWebRTCStorageClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KinesisVideoWebRTCStorageClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKinesisVideoWebRTCStorageSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KINESISVIDEOWEBRTCSTORAGE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const KinesisVideoWebRTCStorageClientConfiguration& config); +} // namespace KinesisVideoWebRTCStorage +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageEndpointProvider.h b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageEndpointProvider.h index e4546d81e859..93d95c55ef4d 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KinesisVideoWebRTCStorage { namespace Endpoint { +using KinesisVideoWebRTCStorageClientConfiguration = Aws::KinesisVideoWebRTCStorage::KinesisVideoWebRTCStorageClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KinesisVideoWebRTCStorageClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KinesisVideoWebRTCStorageClientConfiguration = Aws::Client::GenericClientConfiguration; -using KinesisVideoWebRTCStorageBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KINESISVIDEOWEBRTCSTORAGE_API KinesisVideoWebRTCStorageBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KinesisVideoWebRTCStorageBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KinesisVideoWebRTCStorageClientConfiguration& config); + virtual void SetFromClientConfiguration(const KinesisVideoWebRTCStorageClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KinesisVideoWebRTCStorageClientConfiguration& config); +}; /** * The type for the KinesisVideoWebRTCStorage Client Endpoint Provider. @@ -36,6 +45,26 @@ using KinesisVideoWebRTCStorageDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KinesisVideoWebRTCStorage + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KINESISVIDEOWEBRTCSTORAGE_EXTERN template class AWS_KINESISVIDEOWEBRTCSTORAGE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_KINESISVIDEOWEBRTCSTORAGE_EXTERN template class AWS_KINESISVIDEOWEBRTCSTORAGE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace KinesisVideoWebRTCStorage { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageServiceClientModel.h b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageServiceClientModel.h index d84e3a95d71e..4c5f41d8ed6e 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace KinesisVideoWebRTCStorage { -using KinesisVideoWebRTCStorageClientConfiguration = Aws::Client::GenericClientConfiguration; using KinesisVideoWebRTCStorageEndpointProviderBase = Aws::KinesisVideoWebRTCStorage::Endpoint::KinesisVideoWebRTCStorageEndpointProviderBase; using KinesisVideoWebRTCStorageEndpointProvider = Aws::KinesisVideoWebRTCStorage::Endpoint::KinesisVideoWebRTCStorageEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageClient.cpp b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageClient.cpp index 842216cb8cab..29302dadc6f9 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageClient.cpp +++ b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageClient.cpp @@ -85,42 +85,6 @@ KinesisVideoWebRTCStorageClient::KinesisVideoWebRTCStorageClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -KinesisVideoWebRTCStorageClient::KinesisVideoWebRTCStorageClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoWebRTCStorageClient::KinesisVideoWebRTCStorageClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoWebRTCStorageClient::KinesisVideoWebRTCStorageClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KinesisVideoWebRTCStorageClient::~KinesisVideoWebRTCStorageClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KinesisVideoWebRTCStorageClient::accessEndpointProvider() { @@ -140,12 +104,7 @@ void KinesisVideoWebRTCStorageClient::init(const KinesisVideoWebRTCStorage::Kine AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kinesisvideo"); -} - -void KinesisVideoWebRTCStorageClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KinesisVideoWebRTCStorageClient::InvokeOperationOutcome KinesisVideoWebRTCStorageClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageClientConfiguration.cpp new file mode 100644 index 000000000000..93d0eb2a3ed3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KinesisVideoWebRTCStorage { + +void KinesisVideoWebRTCStorageClientConfiguration::LoadKinesisVideoWebRTCStorageSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KinesisVideoWebRTCStorageClientConfiguration::KinesisVideoWebRTCStorageClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKinesisVideoWebRTCStorageSpecificConfig(this->profileName); +} + +KinesisVideoWebRTCStorageClientConfiguration::KinesisVideoWebRTCStorageClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKinesisVideoWebRTCStorageSpecificConfig(Aws::String(inputProfileName)); +} + +KinesisVideoWebRTCStorageClientConfiguration::KinesisVideoWebRTCStorageClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKinesisVideoWebRTCStorageSpecificConfig(this->profileName); +} + +KinesisVideoWebRTCStorageClientConfiguration::KinesisVideoWebRTCStorageClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKinesisVideoWebRTCStorageSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisVideoWebRTCStorageClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KinesisVideoWebRTCStorage +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageEndpointProvider.cpp index c8f618851e59..45c54afa0476 100644 --- a/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageEndpointProvider.cpp @@ -7,6 +7,21 @@ #include namespace Aws { +#ifndef AWS_KINESISVIDEOWEBRTCSTORAGE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KinesisVideoWebRTCStorage { namespace Endpoint { KinesisVideoWebRTCStorageEndpointProvider::KinesisVideoWebRTCStorageEndpointProvider() @@ -14,6 +29,25 @@ KinesisVideoWebRTCStorageEndpointProvider::KinesisVideoWebRTCStorageEndpointProv Aws::KinesisVideoWebRTCStorage::KinesisVideoWebRTCStorageEndpointRules::GetRulesBlob(), Aws::KinesisVideoWebRTCStorage::KinesisVideoWebRTCStorageEndpointRules::RulesBlobSize) {} +void KinesisVideoWebRTCStorageBuiltInParameters::SetFromClientConfiguration(const KinesisVideoWebRTCStorageClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KinesisVideoWebRTCStorageBuiltInParameters::SetFromClientConfiguration(const KinesisVideoWebRTCStorageClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KinesisVideoWebRTCStorageBuiltInParameters::SetServiceSpecificParameters(const KinesisVideoWebRTCStorageClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KinesisVideoWebRTCStorage } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis/include/aws/kinesis/KinesisClient.h b/generated/src/aws-cpp-sdk-kinesis/include/aws/kinesis/KinesisClient.h index bbdc92857eef..85a25e308898 100644 --- a/generated/src/aws-cpp-sdk-kinesis/include/aws/kinesis/KinesisClient.h +++ b/generated/src/aws-cpp-sdk-kinesis/include/aws/kinesis/KinesisClient.h @@ -54,27 +54,6 @@ class AWS_KINESIS_API KinesisClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Kinesis::KinesisClientConfiguration& clientConfiguration = Aws::Kinesis::KinesisClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KinesisClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KinesisClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KinesisClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KinesisClient(); /** @@ -2006,7 +1985,6 @@ class AWS_KINESIS_API KinesisClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&KinesisClient::UpdateStreamWarmThroughput, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kinesis/include/aws/kinesis/KinesisClientConfiguration.h b/generated/src/aws-cpp-sdk-kinesis/include/aws/kinesis/KinesisClientConfiguration.h index b21afd5cdcb6..06c0103a09f8 100644 --- a/generated/src/aws-cpp-sdk-kinesis/include/aws/kinesis/KinesisClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-kinesis/include/aws/kinesis/KinesisClientConfiguration.h @@ -32,12 +32,46 @@ struct AWS_KINESIS_API KinesisClientConfiguration : public Aws::Client::GenericC KinesisClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - KinesisClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit KinesisClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * The AWS account ID. Used for account-based endpoint routing. An AWS account ID has a format like 111122223333. + * Account-based endpoint routing provides better request performance for some services. + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountId; + + /** + * This setting is used to turn off account-based endpoint routing if necessary, and bypass account-based rules. + * Can be the case sensitive string values "required", "disabled", or "preferred". Defaults to "preferred". + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountIdEndpointMode = "preferred"; private: void LoadKinesisSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KINESIS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisClientConfiguration& config); } // namespace Kinesis } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kinesis/source/KinesisClient.cpp b/generated/src/aws-cpp-sdk-kinesis/source/KinesisClient.cpp index cc073df7859d..5a9432e84fb2 100644 --- a/generated/src/aws-cpp-sdk-kinesis/source/KinesisClient.cpp +++ b/generated/src/aws-cpp-sdk-kinesis/source/KinesisClient.cpp @@ -123,41 +123,6 @@ KinesisClient::KinesisClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -KinesisClient::KinesisClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisClient::KinesisClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisClient::KinesisClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KinesisClient::~KinesisClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KinesisClient::accessEndpointProvider() { return m_endpointProvider; } @@ -175,12 +140,7 @@ void KinesisClient::init(const Kinesis::KinesisClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kinesis"); -} - -void KinesisClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KinesisClient::InvokeOperationOutcome KinesisClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-kinesis/source/KinesisClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kinesis/source/KinesisClientConfiguration.cpp index 0c900f7ceab6..ea1062d900bf 100644 --- a/generated/src/aws-cpp-sdk-kinesis/source/KinesisClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-kinesis/source/KinesisClientConfiguration.cpp @@ -9,6 +9,9 @@ namespace Aws { namespace Kinesis { void KinesisClientConfiguration::LoadKinesisSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + accountIdEndpointMode = Aws::Client::LoadAccountIdEndpointModeFromEnvOrProfile(this->profileName); #if defined(_MSC_VER) (&reinterpret_cast(inputProfileName)); #else @@ -31,9 +34,17 @@ KinesisClientConfiguration::KinesisClientConfiguration(bool useSmartDefaults, co LoadKinesisSpecificConfig(this->profileName); } -KinesisClientConfiguration::KinesisClientConfiguration(const Aws::Client::ClientConfiguration& config) : BaseClientConfigClass(config) { +KinesisClientConfiguration::KinesisClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadKinesisSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.accountId = config.accountId; + options.accountIdEndpointMode = config.accountIdEndpointMode; + return options; +} + } // namespace Kinesis } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesis/source/KinesisEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kinesis/source/KinesisEndpointProvider.cpp index 4292ceb1a129..d328d8fb785c 100644 --- a/generated/src/aws-cpp-sdk-kinesis/source/KinesisEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kinesis/source/KinesisEndpointProvider.cpp @@ -38,6 +38,12 @@ void KinesisBuiltInParameters::SetFromClientConfiguration(const KinesisClientCon } void KinesisBuiltInParameters::SetServiceSpecificParameters(const KinesisClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } if (!config.accountId.empty()) { SetStringParameter("AccountId", config.accountId); } diff --git a/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsClient.h b/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsClient.h index 0d909bfde669..deb0751a199e 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsClient.h +++ b/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsClient.h @@ -63,27 +63,6 @@ class AWS_KINESISANALYTICS_API KinesisAnalyticsClient : public Aws::Client::AWSJ const Aws::KinesisAnalytics::KinesisAnalyticsClientConfiguration& clientConfiguration = Aws::KinesisAnalytics::KinesisAnalyticsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KinesisAnalyticsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KinesisAnalyticsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KinesisAnalyticsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KinesisAnalyticsClient(); /** @@ -863,7 +842,6 @@ class AWS_KINESISANALYTICS_API KinesisAnalyticsClient : public Aws::Client::AWSJ return SubmitAsync(&KinesisAnalyticsClient::UpdateApplication, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsClientConfiguration.h b/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsClientConfiguration.h new file mode 100644 index 000000000000..7356355a94ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KinesisAnalytics { +struct AWS_KINESISANALYTICS_API KinesisAnalyticsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KinesisAnalyticsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisAnalyticsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisAnalyticsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KinesisAnalyticsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKinesisAnalyticsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KINESISANALYTICS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisAnalyticsClientConfiguration& config); +} // namespace KinesisAnalytics +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsEndpointProvider.h b/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsEndpointProvider.h index 3ef77d47c7c5..bfbd12ab1f39 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KinesisAnalytics { namespace Endpoint { +using KinesisAnalyticsClientConfiguration = Aws::KinesisAnalytics::KinesisAnalyticsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KinesisAnalyticsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KinesisAnalyticsClientConfiguration = Aws::Client::GenericClientConfiguration; -using KinesisAnalyticsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KINESISANALYTICS_API KinesisAnalyticsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KinesisAnalyticsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KinesisAnalyticsClientConfiguration& config); + virtual void SetFromClientConfiguration(const KinesisAnalyticsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KinesisAnalyticsClientConfiguration& config); +}; /** * The type for the KinesisAnalytics Client Endpoint Provider. @@ -34,6 +43,24 @@ using KinesisAnalyticsEndpointProviderBase = using KinesisAnalyticsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KinesisAnalytics + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KINESISANALYTICS_EXTERN template class AWS_KINESISANALYTICS_API Aws::Endpoint::EndpointProviderBase< + KinesisAnalytics::Endpoint::KinesisAnalyticsClientConfiguration, KinesisAnalytics::Endpoint::KinesisAnalyticsBuiltInParameters, + KinesisAnalytics::Endpoint::KinesisAnalyticsClientContextParameters>; + +AWS_KINESISANALYTICS_EXTERN template class AWS_KINESISANALYTICS_API Aws::Endpoint::BDDEndpointProvider< + KinesisAnalytics::Endpoint::KinesisAnalyticsClientConfiguration, KinesisAnalytics::Endpoint::KinesisAnalyticsBuiltInParameters, + KinesisAnalytics::Endpoint::KinesisAnalyticsClientContextParameters>; +} // namespace Endpoint + +namespace KinesisAnalytics { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsServiceClientModel.h b/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsServiceClientModel.h index 43af284711f3..a5bc154edc7f 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsServiceClientModel.h @@ -68,7 +68,6 @@ class RetryStrategy; } // namespace Client namespace KinesisAnalytics { -using KinesisAnalyticsClientConfiguration = Aws::Client::GenericClientConfiguration; using KinesisAnalyticsEndpointProviderBase = Aws::KinesisAnalytics::Endpoint::KinesisAnalyticsEndpointProviderBase; using KinesisAnalyticsEndpointProvider = Aws::KinesisAnalytics::Endpoint::KinesisAnalyticsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsClient.cpp b/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsClient.cpp index 51237b3bb4e8..576a68ae3d35 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsClient.cpp +++ b/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsClient.cpp @@ -101,42 +101,6 @@ KinesisAnalyticsClient::KinesisAnalyticsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisAnalyticsClient::KinesisAnalyticsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisAnalyticsClient::KinesisAnalyticsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KinesisAnalyticsClient::~KinesisAnalyticsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KinesisAnalyticsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -154,12 +118,7 @@ void KinesisAnalyticsClient::init(const KinesisAnalytics::KinesisAnalyticsClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kinesisanalytics"); -} - -void KinesisAnalyticsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KinesisAnalyticsClient::InvokeOperationOutcome KinesisAnalyticsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsClientConfiguration.cpp new file mode 100644 index 000000000000..1a692148d005 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KinesisAnalytics { + +void KinesisAnalyticsClientConfiguration::LoadKinesisAnalyticsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KinesisAnalyticsClientConfiguration::KinesisAnalyticsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKinesisAnalyticsSpecificConfig(this->profileName); +} + +KinesisAnalyticsClientConfiguration::KinesisAnalyticsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKinesisAnalyticsSpecificConfig(Aws::String(inputProfileName)); +} + +KinesisAnalyticsClientConfiguration::KinesisAnalyticsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKinesisAnalyticsSpecificConfig(this->profileName); +} + +KinesisAnalyticsClientConfiguration::KinesisAnalyticsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKinesisAnalyticsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisAnalyticsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KinesisAnalytics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsEndpointProvider.cpp index f2ac57dccd3b..13fbf5fa39f1 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_KINESISANALYTICS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KinesisAnalytics { namespace Endpoint { KinesisAnalyticsEndpointProvider::KinesisAnalyticsEndpointProvider() : KinesisAnalyticsDefaultEpProviderBase(Aws::KinesisAnalytics::KinesisAnalyticsEndpointRules::GetRulesBlob(), Aws::KinesisAnalytics::KinesisAnalyticsEndpointRules::RulesBlobSize) {} +void KinesisAnalyticsBuiltInParameters::SetFromClientConfiguration(const KinesisAnalyticsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KinesisAnalyticsBuiltInParameters::SetFromClientConfiguration(const KinesisAnalyticsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KinesisAnalyticsBuiltInParameters::SetServiceSpecificParameters(const KinesisAnalyticsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KinesisAnalytics } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2Client.h b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2Client.h index 31a589d27477..3c13bf5d5c34 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2Client.h +++ b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2Client.h @@ -62,27 +62,6 @@ class AWS_KINESISANALYTICSV2_API KinesisAnalyticsV2Client : public Aws::Client:: const Aws::KinesisAnalyticsV2::KinesisAnalyticsV2ClientConfiguration& clientConfiguration = Aws::KinesisAnalyticsV2::KinesisAnalyticsV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KinesisAnalyticsV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KinesisAnalyticsV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KinesisAnalyticsV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KinesisAnalyticsV2Client(); /** @@ -1136,7 +1115,6 @@ class AWS_KINESISANALYTICSV2_API KinesisAnalyticsV2Client : public Aws::Client:: return SubmitAsync(&KinesisAnalyticsV2Client::UpdateApplicationMaintenanceConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2ClientConfiguration.h new file mode 100644 index 000000000000..a327ee931cb7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KinesisAnalyticsV2 { +struct AWS_KINESISANALYTICSV2_API KinesisAnalyticsV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KinesisAnalyticsV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisAnalyticsV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisAnalyticsV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KinesisAnalyticsV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKinesisAnalyticsV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KINESISANALYTICSV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisAnalyticsV2ClientConfiguration& config); +} // namespace KinesisAnalyticsV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2EndpointProvider.h b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2EndpointProvider.h index 8acfcbda2dab..2fbd39a7c148 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KinesisAnalyticsV2 { namespace Endpoint { +using KinesisAnalyticsV2ClientConfiguration = Aws::KinesisAnalyticsV2::KinesisAnalyticsV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KinesisAnalyticsV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KinesisAnalyticsV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using KinesisAnalyticsV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KINESISANALYTICSV2_API KinesisAnalyticsV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KinesisAnalyticsV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KinesisAnalyticsV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const KinesisAnalyticsV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KinesisAnalyticsV2ClientConfiguration& config); +}; /** * The type for the KinesisAnalyticsV2 Client Endpoint Provider. @@ -36,6 +45,24 @@ using KinesisAnalyticsV2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KinesisAnalyticsV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KINESISANALYTICSV2_EXTERN template class AWS_KINESISANALYTICSV2_API Aws::Endpoint::EndpointProviderBase< + KinesisAnalyticsV2::Endpoint::KinesisAnalyticsV2ClientConfiguration, KinesisAnalyticsV2::Endpoint::KinesisAnalyticsV2BuiltInParameters, + KinesisAnalyticsV2::Endpoint::KinesisAnalyticsV2ClientContextParameters>; + +AWS_KINESISANALYTICSV2_EXTERN template class AWS_KINESISANALYTICSV2_API Aws::Endpoint::BDDEndpointProvider< + KinesisAnalyticsV2::Endpoint::KinesisAnalyticsV2ClientConfiguration, KinesisAnalyticsV2::Endpoint::KinesisAnalyticsV2BuiltInParameters, + KinesisAnalyticsV2::Endpoint::KinesisAnalyticsV2ClientContextParameters>; +} // namespace Endpoint + +namespace KinesisAnalyticsV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2ServiceClientModel.h index 10be2fb0ff97..d3524c4d3f08 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2ServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace KinesisAnalyticsV2 { -using KinesisAnalyticsV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using KinesisAnalyticsV2EndpointProviderBase = Aws::KinesisAnalyticsV2::Endpoint::KinesisAnalyticsV2EndpointProviderBase; using KinesisAnalyticsV2EndpointProvider = Aws::KinesisAnalyticsV2::Endpoint::KinesisAnalyticsV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2Client.cpp b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2Client.cpp index 5bbf59cef1b3..fa30f37c391e 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2Client.cpp +++ b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2Client.cpp @@ -114,42 +114,6 @@ KinesisAnalyticsV2Client::KinesisAnalyticsV2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisAnalyticsV2Client::KinesisAnalyticsV2Client(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisAnalyticsV2Client::KinesisAnalyticsV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KinesisAnalyticsV2Client::~KinesisAnalyticsV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& KinesisAnalyticsV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -167,12 +131,7 @@ void KinesisAnalyticsV2Client::init(const KinesisAnalyticsV2::KinesisAnalyticsV2 AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kinesisanalytics"); -} - -void KinesisAnalyticsV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KinesisAnalyticsV2Client::InvokeOperationOutcome KinesisAnalyticsV2Client::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2ClientConfiguration.cpp new file mode 100644 index 000000000000..92c644757240 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2ClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KinesisAnalyticsV2 { + +void KinesisAnalyticsV2ClientConfiguration::LoadKinesisAnalyticsV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KinesisAnalyticsV2ClientConfiguration::KinesisAnalyticsV2ClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKinesisAnalyticsV2SpecificConfig(this->profileName); +} + +KinesisAnalyticsV2ClientConfiguration::KinesisAnalyticsV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKinesisAnalyticsV2SpecificConfig(Aws::String(inputProfileName)); +} + +KinesisAnalyticsV2ClientConfiguration::KinesisAnalyticsV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKinesisAnalyticsV2SpecificConfig(this->profileName); +} + +KinesisAnalyticsV2ClientConfiguration::KinesisAnalyticsV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKinesisAnalyticsV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisAnalyticsV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KinesisAnalyticsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2EndpointProvider.cpp index 792914be417b..ba53afa9b56f 100644 --- a/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_KINESISANALYTICSV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KinesisAnalyticsV2 { namespace Endpoint { KinesisAnalyticsV2EndpointProvider::KinesisAnalyticsV2EndpointProvider() : KinesisAnalyticsV2DefaultEpProviderBase(Aws::KinesisAnalyticsV2::KinesisAnalyticsV2EndpointRules::GetRulesBlob(), Aws::KinesisAnalyticsV2::KinesisAnalyticsV2EndpointRules::RulesBlobSize) {} +void KinesisAnalyticsV2BuiltInParameters::SetFromClientConfiguration(const KinesisAnalyticsV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KinesisAnalyticsV2BuiltInParameters::SetFromClientConfiguration(const KinesisAnalyticsV2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KinesisAnalyticsV2BuiltInParameters::SetServiceSpecificParameters(const KinesisAnalyticsV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KinesisAnalyticsV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoClient.h b/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoClient.h index 596c87d75bc3..073f43e37a5e 100644 --- a/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoClient.h +++ b/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoClient.h @@ -55,27 +55,6 @@ class AWS_KINESISVIDEO_API KinesisVideoClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::KinesisVideo::KinesisVideoClientConfiguration& clientConfiguration = Aws::KinesisVideo::KinesisVideoClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KinesisVideoClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KinesisVideoClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KinesisVideoClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KinesisVideoClient(); /** @@ -1107,7 +1086,6 @@ class AWS_KINESISVIDEO_API KinesisVideoClient : public Aws::Client::AWSJsonClien return SubmitAsync(&KinesisVideoClient::UpdateStreamStorageConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoClientConfiguration.h b/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoClientConfiguration.h new file mode 100644 index 000000000000..0bacefed2cdc --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KinesisVideo { +struct AWS_KINESISVIDEO_API KinesisVideoClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KinesisVideoClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KinesisVideoClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KinesisVideoClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKinesisVideoSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KINESISVIDEO_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisVideoClientConfiguration& config); +} // namespace KinesisVideo +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoEndpointProvider.h b/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoEndpointProvider.h index 1b29dd3f5df9..7ab20ad04629 100644 --- a/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KinesisVideo { namespace Endpoint { +using KinesisVideoClientConfiguration = Aws::KinesisVideo::KinesisVideoClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KinesisVideoClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KinesisVideoClientConfiguration = Aws::Client::GenericClientConfiguration; -using KinesisVideoBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KINESISVIDEO_API KinesisVideoBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KinesisVideoBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KinesisVideoClientConfiguration& config); + virtual void SetFromClientConfiguration(const KinesisVideoClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KinesisVideoClientConfiguration& config); +}; /** * The type for the KinesisVideo Client Endpoint Provider. @@ -34,6 +43,24 @@ using KinesisVideoEndpointProviderBase = using KinesisVideoDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace KinesisVideo + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KINESISVIDEO_EXTERN template class AWS_KINESISVIDEO_API Aws::Endpoint::EndpointProviderBase< + KinesisVideo::Endpoint::KinesisVideoClientConfiguration, KinesisVideo::Endpoint::KinesisVideoBuiltInParameters, + KinesisVideo::Endpoint::KinesisVideoClientContextParameters>; + +AWS_KINESISVIDEO_EXTERN template class AWS_KINESISVIDEO_API Aws::Endpoint::BDDEndpointProvider< + KinesisVideo::Endpoint::KinesisVideoClientConfiguration, KinesisVideo::Endpoint::KinesisVideoBuiltInParameters, + KinesisVideo::Endpoint::KinesisVideoClientContextParameters>; +} // namespace Endpoint + +namespace KinesisVideo { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoServiceClientModel.h b/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoServiceClientModel.h index d1b35868dff7..e06a09e7b739 100644 --- a/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoServiceClientModel.h @@ -92,7 +92,6 @@ class RetryStrategy; } // namespace Client namespace KinesisVideo { -using KinesisVideoClientConfiguration = Aws::Client::GenericClientConfiguration; using KinesisVideoEndpointProviderBase = Aws::KinesisVideo::Endpoint::KinesisVideoEndpointProviderBase; using KinesisVideoEndpointProvider = Aws::KinesisVideo::Endpoint::KinesisVideoEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoClient.cpp b/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoClient.cpp index 2fdb3a48f2eb..968cfc0d1c40 100644 --- a/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoClient.cpp +++ b/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoClient.cpp @@ -110,41 +110,6 @@ KinesisVideoClient::KinesisVideoClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoClient::KinesisVideoClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KinesisVideoClient::KinesisVideoClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KinesisVideoClient::~KinesisVideoClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KinesisVideoClient::accessEndpointProvider() { return m_endpointProvider; } @@ -162,12 +127,7 @@ void KinesisVideoClient::init(const KinesisVideo::KinesisVideoClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kinesisvideo"); -} - -void KinesisVideoClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KinesisVideoClient::InvokeOperationOutcome KinesisVideoClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoClientConfiguration.cpp new file mode 100644 index 000000000000..612ea7b1bbda --- /dev/null +++ b/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KinesisVideo { + +void KinesisVideoClientConfiguration::LoadKinesisVideoSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KinesisVideoClientConfiguration::KinesisVideoClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKinesisVideoSpecificConfig(this->profileName); +} + +KinesisVideoClientConfiguration::KinesisVideoClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKinesisVideoSpecificConfig(Aws::String(inputProfileName)); +} + +KinesisVideoClientConfiguration::KinesisVideoClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKinesisVideoSpecificConfig(this->profileName); +} + +KinesisVideoClientConfiguration::KinesisVideoClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadKinesisVideoSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KinesisVideoClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KinesisVideo +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoEndpointProvider.cpp index e028305bfcb8..3bad65091785 100644 --- a/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_KINESISVIDEO_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KinesisVideo { namespace Endpoint { KinesisVideoEndpointProvider::KinesisVideoEndpointProvider() : KinesisVideoDefaultEpProviderBase(Aws::KinesisVideo::KinesisVideoEndpointRules::GetRulesBlob(), Aws::KinesisVideo::KinesisVideoEndpointRules::RulesBlobSize) {} +void KinesisVideoBuiltInParameters::SetFromClientConfiguration(const KinesisVideoClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KinesisVideoBuiltInParameters::SetFromClientConfiguration(const KinesisVideoClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KinesisVideoBuiltInParameters::SetServiceSpecificParameters(const KinesisVideoClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KinesisVideo } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClient.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClient.h index 153d414b685b..42fd98d9296d 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClient.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClient.h @@ -132,27 +132,6 @@ class AWS_KMS_API KMSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::KMS::KMSClientConfiguration& clientConfiguration = Aws::KMS::KMSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - KMSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - KMSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - KMSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~KMSClient(); /** @@ -4081,7 +4060,6 @@ class AWS_KMS_API KMSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&KMSClient::VerifyMac, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClientConfiguration.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClientConfiguration.h new file mode 100644 index 000000000000..5486bc47e8c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace KMS { +struct AWS_KMS_API KMSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + KMSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KMSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + KMSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit KMSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadKMSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_KMS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const KMSClientConfiguration& config); +} // namespace KMS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSEndpointProvider.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSEndpointProvider.h index 1b0f699abcb7..29c9a7a2de58 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace KMS { namespace Endpoint { +using KMSClientConfiguration = Aws::KMS::KMSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using KMSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using KMSClientConfiguration = Aws::Client::GenericClientConfiguration; -using KMSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_KMS_API KMSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~KMSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const KMSClientConfiguration& config); + virtual void SetFromClientConfiguration(const KMSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const KMSClientConfiguration& config); +}; /** * The type for the KMS Client Endpoint Provider. @@ -32,6 +41,22 @@ using KMSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace KMS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_KMS_EXTERN template class AWS_KMS_API Aws::Endpoint::EndpointProviderBase< + KMS::Endpoint::KMSClientConfiguration, KMS::Endpoint::KMSBuiltInParameters, KMS::Endpoint::KMSClientContextParameters>; + +AWS_KMS_EXTERN template class AWS_KMS_API Aws::Endpoint::BDDEndpointProvider< + KMS::Endpoint::KMSClientConfiguration, KMS::Endpoint::KMSBuiltInParameters, KMS::Endpoint::KMSClientContextParameters>; +} // namespace Endpoint + +namespace KMS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSServiceClientModel.h b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSServiceClientModel.h index 425a07dae59b..e2a4eba4da22 100644 --- a/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSServiceClientModel.h @@ -97,7 +97,6 @@ class RetryStrategy; } // namespace Client namespace KMS { -using KMSClientConfiguration = Aws::Client::GenericClientConfiguration; using KMSEndpointProviderBase = Aws::KMS::Endpoint::KMSEndpointProviderBase; using KMSEndpointProvider = Aws::KMS::Endpoint::KMSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-kms/source/KMSClient.cpp b/generated/src/aws-cpp-sdk-kms/source/KMSClient.cpp index 9362f94ce29c..b9373eea33a5 100644 --- a/generated/src/aws-cpp-sdk-kms/source/KMSClient.cpp +++ b/generated/src/aws-cpp-sdk-kms/source/KMSClient.cpp @@ -131,41 +131,6 @@ KMSClient::KMSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -KMSClient::KMSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KMSClient::KMSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -KMSClient::KMSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ KMSClient::~KMSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& KMSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -183,12 +148,7 @@ void KMSClient::init(const KMS::KMSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "kms"); -} - -void KMSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } KMSClient::InvokeOperationOutcome KMSClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-kms/source/KMSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-kms/source/KMSClientConfiguration.cpp new file mode 100644 index 000000000000..3c09108f7386 --- /dev/null +++ b/generated/src/aws-cpp-sdk-kms/source/KMSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace KMS { + +void KMSClientConfiguration::LoadKMSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +KMSClientConfiguration::KMSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadKMSSpecificConfig(this->profileName); +} + +KMSClientConfiguration::KMSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadKMSSpecificConfig(Aws::String(inputProfileName)); +} + +KMSClientConfiguration::KMSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadKMSSpecificConfig(this->profileName); +} + +KMSClientConfiguration::KMSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadKMSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const KMSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace KMS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-kms/source/KMSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-kms/source/KMSEndpointProvider.cpp index 6f163338babf..34289c7f0771 100644 --- a/generated/src/aws-cpp-sdk-kms/source/KMSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-kms/source/KMSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_KMS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace KMS { namespace Endpoint { KMSEndpointProvider::KMSEndpointProvider() : KMSDefaultEpProviderBase(Aws::KMS::KMSEndpointRules::GetRulesBlob(), Aws::KMS::KMSEndpointRules::RulesBlobSize) {} +void KMSBuiltInParameters::SetFromClientConfiguration(const KMSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void KMSBuiltInParameters::SetFromClientConfiguration(const KMSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void KMSBuiltInParameters::SetServiceSpecificParameters(const KMSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace KMS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClient.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClient.h index d279c96f8bb0..1ef1f1bea14e 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClient.h +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClient.h @@ -57,27 +57,6 @@ class AWS_LAKEFORMATION_API LakeFormationClient : public Aws::Client::AWSJsonCli const Aws::LakeFormation::LakeFormationClientConfiguration& clientConfiguration = Aws::LakeFormation::LakeFormationClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LakeFormationClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LakeFormationClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LakeFormationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LakeFormationClient(); /** @@ -2108,7 +2087,6 @@ class AWS_LAKEFORMATION_API LakeFormationClient : public Aws::Client::AWSJsonCli return SubmitAsync(&LakeFormationClient::UpdateTableStorageOptimizer, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClientConfiguration.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClientConfiguration.h new file mode 100644 index 000000000000..38e14e6e25aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LakeFormation { +struct AWS_LAKEFORMATION_API LakeFormationClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LakeFormationClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LakeFormationClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LakeFormationClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LakeFormationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadLakeFormationSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LAKEFORMATION_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LakeFormationClientConfiguration& config); +} // namespace LakeFormation +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationEndpointProvider.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationEndpointProvider.h index 214abf533536..68941d81a192 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LakeFormation { namespace Endpoint { +using LakeFormationClientConfiguration = Aws::LakeFormation::LakeFormationClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LakeFormationClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LakeFormationClientConfiguration = Aws::Client::GenericClientConfiguration; -using LakeFormationBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LAKEFORMATION_API LakeFormationBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LakeFormationBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LakeFormationClientConfiguration& config); + virtual void SetFromClientConfiguration(const LakeFormationClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LakeFormationClientConfiguration& config); +}; /** * The type for the LakeFormation Client Endpoint Provider. @@ -34,6 +43,24 @@ using LakeFormationEndpointProviderBase = using LakeFormationDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LakeFormation + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LAKEFORMATION_EXTERN template class AWS_LAKEFORMATION_API Aws::Endpoint::EndpointProviderBase< + LakeFormation::Endpoint::LakeFormationClientConfiguration, LakeFormation::Endpoint::LakeFormationBuiltInParameters, + LakeFormation::Endpoint::LakeFormationClientContextParameters>; + +AWS_LAKEFORMATION_EXTERN template class AWS_LAKEFORMATION_API Aws::Endpoint::BDDEndpointProvider< + LakeFormation::Endpoint::LakeFormationClientConfiguration, LakeFormation::Endpoint::LakeFormationBuiltInParameters, + LakeFormation::Endpoint::LakeFormationClientContextParameters>; +} // namespace Endpoint + +namespace LakeFormation { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationServiceClientModel.h b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationServiceClientModel.h index ebc736c34879..ed729579a6f8 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationServiceClientModel.h @@ -134,7 +134,6 @@ class RetryStrategy; } // namespace Client namespace LakeFormation { -using LakeFormationClientConfiguration = Aws::Client::GenericClientConfiguration; using LakeFormationEndpointProviderBase = Aws::LakeFormation::Endpoint::LakeFormationEndpointProviderBase; using LakeFormationEndpointProvider = Aws::LakeFormation::Endpoint::LakeFormationEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClient.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClient.cpp index 046e606b518e..022186725bbd 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClient.cpp +++ b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClient.cpp @@ -147,41 +147,6 @@ LakeFormationClient::LakeFormationClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LakeFormationClient::LakeFormationClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LakeFormationClient::LakeFormationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LakeFormationClient::~LakeFormationClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LakeFormationClient::accessEndpointProvider() { return m_endpointProvider; } @@ -199,12 +164,7 @@ void LakeFormationClient::init(const LakeFormation::LakeFormationClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lakeformation"); -} - -void LakeFormationClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LakeFormationClient::InvokeOperationOutcome LakeFormationClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClientConfiguration.cpp new file mode 100644 index 000000000000..2cc5be5b6755 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LakeFormation { + +void LakeFormationClientConfiguration::LoadLakeFormationSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LakeFormationClientConfiguration::LakeFormationClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLakeFormationSpecificConfig(this->profileName); +} + +LakeFormationClientConfiguration::LakeFormationClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLakeFormationSpecificConfig(Aws::String(inputProfileName)); +} + +LakeFormationClientConfiguration::LakeFormationClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLakeFormationSpecificConfig(this->profileName); +} + +LakeFormationClientConfiguration::LakeFormationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLakeFormationSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LakeFormationClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LakeFormation +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationEndpointProvider.cpp index 66d0e0e0f128..8b9278dc33f0 100644 --- a/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LAKEFORMATION_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LakeFormation { namespace Endpoint { LakeFormationEndpointProvider::LakeFormationEndpointProvider() : LakeFormationDefaultEpProviderBase(Aws::LakeFormation::LakeFormationEndpointRules::GetRulesBlob(), Aws::LakeFormation::LakeFormationEndpointRules::RulesBlobSize) {} +void LakeFormationBuiltInParameters::SetFromClientConfiguration(const LakeFormationClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LakeFormationBuiltInParameters::SetFromClientConfiguration(const LakeFormationClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LakeFormationBuiltInParameters::SetServiceSpecificParameters(const LakeFormationClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LakeFormation } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreClient.h b/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreClient.h index ebd3d3bb35b5..223ceeabf5db 100644 --- a/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreClient.h +++ b/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreClient.h @@ -78,27 +78,6 @@ class AWS_LAMBDACORE_API LambdaCoreClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::LambdaCore::LambdaCoreClientConfiguration& clientConfiguration = Aws::LambdaCore::LambdaCoreClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LambdaCoreClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LambdaCoreClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LambdaCoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LambdaCoreClient(); /** @@ -327,7 +306,6 @@ class AWS_LAMBDACORE_API LambdaCoreClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&LambdaCoreClient::UpdateNetworkConnector, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreClientConfiguration.h b/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreClientConfiguration.h new file mode 100644 index 000000000000..d796c7fea23e --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LambdaCore { +struct AWS_LAMBDACORE_API LambdaCoreClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LambdaCoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LambdaCoreClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LambdaCoreClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LambdaCoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLambdaCoreSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LAMBDACORE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LambdaCoreClientConfiguration& config); +} // namespace LambdaCore +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreEndpointProvider.h b/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreEndpointProvider.h index 108daa97e94f..b19e5d2424ac 100644 --- a/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LambdaCore { namespace Endpoint { +using LambdaCoreClientConfiguration = Aws::LambdaCore::LambdaCoreClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LambdaCoreClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LambdaCoreClientConfiguration = Aws::Client::GenericClientConfiguration; -using LambdaCoreBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LAMBDACORE_API LambdaCoreBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LambdaCoreBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LambdaCoreClientConfiguration& config); + virtual void SetFromClientConfiguration(const LambdaCoreClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LambdaCoreClientConfiguration& config); +}; /** * The type for the LambdaCore Client Endpoint Provider. @@ -34,6 +43,24 @@ using LambdaCoreEndpointProviderBase = using LambdaCoreDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LambdaCore + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LAMBDACORE_EXTERN template class AWS_LAMBDACORE_API Aws::Endpoint::EndpointProviderBase< + LambdaCore::Endpoint::LambdaCoreClientConfiguration, LambdaCore::Endpoint::LambdaCoreBuiltInParameters, + LambdaCore::Endpoint::LambdaCoreClientContextParameters>; + +AWS_LAMBDACORE_EXTERN template class AWS_LAMBDACORE_API Aws::Endpoint::BDDEndpointProvider< + LambdaCore::Endpoint::LambdaCoreClientConfiguration, LambdaCore::Endpoint::LambdaCoreBuiltInParameters, + LambdaCore::Endpoint::LambdaCoreClientContextParameters>; +} // namespace Endpoint + +namespace LambdaCore { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreServiceClientModel.h b/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreServiceClientModel.h index 00cdf0ff43d5..1458c1faefa9 100644 --- a/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreServiceClientModel.h @@ -53,7 +53,6 @@ class RetryStrategy; } // namespace Client namespace LambdaCore { -using LambdaCoreClientConfiguration = Aws::Client::GenericClientConfiguration; using LambdaCoreEndpointProviderBase = Aws::LambdaCore::Endpoint::LambdaCoreEndpointProviderBase; using LambdaCoreEndpointProvider = Aws::LambdaCore::Endpoint::LambdaCoreEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreClient.cpp b/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreClient.cpp index 140979773edd..6eacb7980b67 100644 --- a/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreClient.cpp +++ b/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreClient.cpp @@ -83,41 +83,6 @@ LambdaCoreClient::LambdaCoreClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -LambdaCoreClient::LambdaCoreClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LambdaCoreClient::LambdaCoreClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LambdaCoreClient::LambdaCoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LambdaCoreClient::~LambdaCoreClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LambdaCoreClient::accessEndpointProvider() { return m_endpointProvider; } @@ -135,12 +100,7 @@ void LambdaCoreClient::init(const LambdaCore::LambdaCoreClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lambda"); -} - -void LambdaCoreClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LambdaCoreClient::InvokeOperationOutcome LambdaCoreClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreClientConfiguration.cpp new file mode 100644 index 000000000000..938dc494d50a --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LambdaCore { + +void LambdaCoreClientConfiguration::LoadLambdaCoreSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LambdaCoreClientConfiguration::LambdaCoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLambdaCoreSpecificConfig(this->profileName); +} + +LambdaCoreClientConfiguration::LambdaCoreClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLambdaCoreSpecificConfig(Aws::String(inputProfileName)); +} + +LambdaCoreClientConfiguration::LambdaCoreClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLambdaCoreSpecificConfig(this->profileName); +} + +LambdaCoreClientConfiguration::LambdaCoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLambdaCoreSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LambdaCoreClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LambdaCore +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreEndpointProvider.cpp index e2cba4ec5875..d6e4e3cd0666 100644 --- a/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_LAMBDACORE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LambdaCore { namespace Endpoint { LambdaCoreEndpointProvider::LambdaCoreEndpointProvider() : LambdaCoreDefaultEpProviderBase(Aws::LambdaCore::LambdaCoreEndpointRules::GetRulesBlob(), Aws::LambdaCore::LambdaCoreEndpointRules::RulesBlobSize) {} +void LambdaCoreBuiltInParameters::SetFromClientConfiguration(const LambdaCoreClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LambdaCoreBuiltInParameters::SetFromClientConfiguration(const LambdaCoreClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LambdaCoreBuiltInParameters::SetServiceSpecificParameters(const LambdaCoreClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LambdaCore } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsClient.h b/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsClient.h index a193c5be0144..98bf79709c0b 100644 --- a/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsClient.h +++ b/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsClient.h @@ -57,27 +57,6 @@ class AWS_LAMBDAMICROVMS_API LambdaMicrovmsClient : public Aws::Client::AWSJsonC const Aws::LambdaMicrovms::LambdaMicrovmsClientConfiguration& clientConfiguration = Aws::LambdaMicrovms::LambdaMicrovmsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LambdaMicrovmsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LambdaMicrovmsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LambdaMicrovmsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LambdaMicrovmsClient(); /** @@ -754,7 +733,6 @@ class AWS_LAMBDAMICROVMS_API LambdaMicrovmsClient : public Aws::Client::AWSJsonC return SubmitAsync(&LambdaMicrovmsClient::UpdateMicrovmImageVersion, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsClientConfiguration.h b/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsClientConfiguration.h new file mode 100644 index 000000000000..b345b829d890 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LambdaMicrovms { +struct AWS_LAMBDAMICROVMS_API LambdaMicrovmsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LambdaMicrovmsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LambdaMicrovmsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LambdaMicrovmsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LambdaMicrovmsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLambdaMicrovmsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LAMBDAMICROVMS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LambdaMicrovmsClientConfiguration& config); +} // namespace LambdaMicrovms +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsEndpointProvider.h b/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsEndpointProvider.h index 966e60a0aa10..3e1dc303b10f 100644 --- a/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LambdaMicrovms { namespace Endpoint { +using LambdaMicrovmsClientConfiguration = Aws::LambdaMicrovms::LambdaMicrovmsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LambdaMicrovmsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LambdaMicrovmsClientConfiguration = Aws::Client::GenericClientConfiguration; -using LambdaMicrovmsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LAMBDAMICROVMS_API LambdaMicrovmsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LambdaMicrovmsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LambdaMicrovmsClientConfiguration& config); + virtual void SetFromClientConfiguration(const LambdaMicrovmsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LambdaMicrovmsClientConfiguration& config); +}; /** * The type for the LambdaMicrovms Client Endpoint Provider. @@ -34,6 +43,24 @@ using LambdaMicrovmsEndpointProviderBase = using LambdaMicrovmsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LambdaMicrovms + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LAMBDAMICROVMS_EXTERN template class AWS_LAMBDAMICROVMS_API Aws::Endpoint::EndpointProviderBase< + LambdaMicrovms::Endpoint::LambdaMicrovmsClientConfiguration, LambdaMicrovms::Endpoint::LambdaMicrovmsBuiltInParameters, + LambdaMicrovms::Endpoint::LambdaMicrovmsClientContextParameters>; + +AWS_LAMBDAMICROVMS_EXTERN template class AWS_LAMBDAMICROVMS_API Aws::Endpoint::BDDEndpointProvider< + LambdaMicrovms::Endpoint::LambdaMicrovmsClientConfiguration, LambdaMicrovms::Endpoint::LambdaMicrovmsBuiltInParameters, + LambdaMicrovms::Endpoint::LambdaMicrovmsClientContextParameters>; +} // namespace Endpoint + +namespace LambdaMicrovms { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsServiceClientModel.h b/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsServiceClientModel.h index 85332004c17e..f2415dfc0871 100644 --- a/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsServiceClientModel.h @@ -72,7 +72,6 @@ class RetryStrategy; } // namespace Client namespace LambdaMicrovms { -using LambdaMicrovmsClientConfiguration = Aws::Client::GenericClientConfiguration; using LambdaMicrovmsEndpointProviderBase = Aws::LambdaMicrovms::Endpoint::LambdaMicrovmsEndpointProviderBase; using LambdaMicrovmsEndpointProvider = Aws::LambdaMicrovms::Endpoint::LambdaMicrovmsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsClient.cpp b/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsClient.cpp index 335b8a066fdb..17aceea1ae16 100644 --- a/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsClient.cpp +++ b/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsClient.cpp @@ -102,41 +102,6 @@ LambdaMicrovmsClient::LambdaMicrovmsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LambdaMicrovmsClient::LambdaMicrovmsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LambdaMicrovmsClient::LambdaMicrovmsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LambdaMicrovmsClient::~LambdaMicrovmsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LambdaMicrovmsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -154,12 +119,7 @@ void LambdaMicrovmsClient::init(const LambdaMicrovms::LambdaMicrovmsClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lambda"); -} - -void LambdaMicrovmsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LambdaMicrovmsClient::InvokeOperationOutcome LambdaMicrovmsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsClientConfiguration.cpp new file mode 100644 index 000000000000..26f10e160774 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LambdaMicrovms { + +void LambdaMicrovmsClientConfiguration::LoadLambdaMicrovmsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LambdaMicrovmsClientConfiguration::LambdaMicrovmsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLambdaMicrovmsSpecificConfig(this->profileName); +} + +LambdaMicrovmsClientConfiguration::LambdaMicrovmsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLambdaMicrovmsSpecificConfig(Aws::String(inputProfileName)); +} + +LambdaMicrovmsClientConfiguration::LambdaMicrovmsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLambdaMicrovmsSpecificConfig(this->profileName); +} + +LambdaMicrovmsClientConfiguration::LambdaMicrovmsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLambdaMicrovmsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LambdaMicrovmsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LambdaMicrovms +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsEndpointProvider.cpp index a0e905f8a792..6059d2fafc57 100644 --- a/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LAMBDAMICROVMS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LambdaMicrovms { namespace Endpoint { LambdaMicrovmsEndpointProvider::LambdaMicrovmsEndpointProvider() : LambdaMicrovmsDefaultEpProviderBase(Aws::LambdaMicrovms::LambdaMicrovmsEndpointRules::GetRulesBlob(), Aws::LambdaMicrovms::LambdaMicrovmsEndpointRules::RulesBlobSize) {} +void LambdaMicrovmsBuiltInParameters::SetFromClientConfiguration(const LambdaMicrovmsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LambdaMicrovmsBuiltInParameters::SetFromClientConfiguration(const LambdaMicrovmsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LambdaMicrovmsBuiltInParameters::SetServiceSpecificParameters(const LambdaMicrovmsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LambdaMicrovms } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebClient.h b/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebClient.h index f902c2150bf5..4710d465f989 100644 --- a/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebClient.h +++ b/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebClient.h @@ -79,27 +79,6 @@ class AWS_LAMBDAWEB_API LambdaWebClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::LambdaWeb::LambdaWebClientConfiguration& clientConfiguration = Aws::LambdaWeb::LambdaWebClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LambdaWebClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LambdaWebClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LambdaWebClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LambdaWebClient(); /** @@ -668,7 +647,6 @@ class AWS_LAMBDAWEB_API LambdaWebClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&LambdaWebClient::UpdateWebFunctionEndpoint, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebClientConfiguration.h b/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebClientConfiguration.h new file mode 100644 index 000000000000..b91ee7698b7c --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LambdaWeb { +struct AWS_LAMBDAWEB_API LambdaWebClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LambdaWebClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LambdaWebClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LambdaWebClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LambdaWebClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLambdaWebSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LAMBDAWEB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LambdaWebClientConfiguration& config); +} // namespace LambdaWeb +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebEndpointProvider.h b/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebEndpointProvider.h index e5183cea8bf5..ef009f300135 100644 --- a/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LambdaWeb { namespace Endpoint { +using LambdaWebClientConfiguration = Aws::LambdaWeb::LambdaWebClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LambdaWebClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LambdaWebClientConfiguration = Aws::Client::GenericClientConfiguration; -using LambdaWebBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LAMBDAWEB_API LambdaWebBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LambdaWebBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LambdaWebClientConfiguration& config); + virtual void SetFromClientConfiguration(const LambdaWebClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LambdaWebClientConfiguration& config); +}; /** * The type for the LambdaWeb Client Endpoint Provider. @@ -34,6 +43,24 @@ using LambdaWebEndpointProviderBase = using LambdaWebDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LambdaWeb + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LAMBDAWEB_EXTERN template class AWS_LAMBDAWEB_API + Aws::Endpoint::EndpointProviderBase; + +AWS_LAMBDAWEB_EXTERN template class AWS_LAMBDAWEB_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace LambdaWeb { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebServiceClientModel.h b/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebServiceClientModel.h index 27757df253b0..9e98979bd941 100644 --- a/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace LambdaWeb { -using LambdaWebClientConfiguration = Aws::Client::GenericClientConfiguration; using LambdaWebEndpointProviderBase = Aws::LambdaWeb::Endpoint::LambdaWebEndpointProviderBase; using LambdaWebEndpointProvider = Aws::LambdaWeb::Endpoint::LambdaWebEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebClient.cpp b/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebClient.cpp index 3e77d8abee16..e64c4bbc869e 100644 --- a/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebClient.cpp +++ b/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebClient.cpp @@ -97,41 +97,6 @@ LambdaWebClient::LambdaWebClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -LambdaWebClient::LambdaWebClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LambdaWebClient::LambdaWebClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LambdaWebClient::LambdaWebClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LambdaWebClient::~LambdaWebClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LambdaWebClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void LambdaWebClient::init(const LambdaWeb::LambdaWebClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lambda"); -} - -void LambdaWebClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LambdaWebClient::InvokeOperationOutcome LambdaWebClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebClientConfiguration.cpp new file mode 100644 index 000000000000..a61276bf4c14 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LambdaWeb { + +void LambdaWebClientConfiguration::LoadLambdaWebSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LambdaWebClientConfiguration::LambdaWebClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLambdaWebSpecificConfig(this->profileName); +} + +LambdaWebClientConfiguration::LambdaWebClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLambdaWebSpecificConfig(Aws::String(inputProfileName)); +} + +LambdaWebClientConfiguration::LambdaWebClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLambdaWebSpecificConfig(this->profileName); +} + +LambdaWebClientConfiguration::LambdaWebClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLambdaWebSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LambdaWebClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LambdaWeb +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebEndpointProvider.cpp index 00186a091796..1e80a5b1503c 100644 --- a/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_LAMBDAWEB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LambdaWeb { namespace Endpoint { LambdaWebEndpointProvider::LambdaWebEndpointProvider() : LambdaWebDefaultEpProviderBase(Aws::LambdaWeb::LambdaWebEndpointRules::GetRulesBlob(), Aws::LambdaWeb::LambdaWebEndpointRules::RulesBlobSize) {} +void LambdaWebBuiltInParameters::SetFromClientConfiguration(const LambdaWebClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LambdaWebBuiltInParameters::SetFromClientConfiguration(const LambdaWebClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LambdaWebBuiltInParameters::SetServiceSpecificParameters(const LambdaWebClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LambdaWeb } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h index 595862e1b97c..feb37d048b11 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClient.h @@ -108,27 +108,6 @@ class AWS_LAMBDA_API LambdaClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Lambda::LambdaClientConfiguration& clientConfiguration = Aws::Lambda::LambdaClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LambdaClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LambdaClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LambdaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LambdaClient(); /** @@ -3019,7 +2998,6 @@ class AWS_LAMBDA_API LambdaClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&LambdaClient::UpdateFunctionUrlConfig, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClientConfiguration.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClientConfiguration.h new file mode 100644 index 000000000000..0f5ab32e5134 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Lambda { +struct AWS_LAMBDA_API LambdaClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LambdaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LambdaClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LambdaClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LambdaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadLambdaSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LAMBDA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LambdaClientConfiguration& config); +} // namespace Lambda +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaEndpointProvider.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaEndpointProvider.h index 262a1bf99059..34155547be09 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Lambda { namespace Endpoint { +using LambdaClientConfiguration = Aws::Lambda::LambdaClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LambdaClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LambdaClientConfiguration = Aws::Client::GenericClientConfiguration; -using LambdaBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LAMBDA_API LambdaBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LambdaBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LambdaClientConfiguration& config); + virtual void SetFromClientConfiguration(const LambdaClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LambdaClientConfiguration& config); +}; /** * The type for the Lambda Client Endpoint Provider. @@ -32,6 +41,24 @@ using LambdaEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Lambda + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LAMBDA_EXTERN template class AWS_LAMBDA_API + Aws::Endpoint::EndpointProviderBase; + +AWS_LAMBDA_EXTERN template class AWS_LAMBDA_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Lambda { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaServiceClientModel.h b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaServiceClientModel.h index 4d8ead076fdd..546e71e333d7 100644 --- a/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaServiceClientModel.h @@ -127,7 +127,6 @@ class RetryStrategy; } // namespace Client namespace Lambda { -using LambdaClientConfiguration = Aws::Client::GenericClientConfiguration; using LambdaEndpointProviderBase = Aws::Lambda::Endpoint::LambdaEndpointProviderBase; using LambdaEndpointProvider = Aws::Lambda::Endpoint::LambdaEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lambda/source/LambdaClient.cpp b/generated/src/aws-cpp-sdk-lambda/source/LambdaClient.cpp index 0b4e9f403e89..be70dcc04145 100644 --- a/generated/src/aws-cpp-sdk-lambda/source/LambdaClient.cpp +++ b/generated/src/aws-cpp-sdk-lambda/source/LambdaClient.cpp @@ -167,43 +167,6 @@ LambdaClient::LambdaClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -LambdaClient::LambdaClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LambdaClient::LambdaClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LambdaClient::LambdaClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LambdaClient::~LambdaClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LambdaClient::accessEndpointProvider() { return m_endpointProvider; } @@ -221,12 +184,7 @@ void LambdaClient::init(const Lambda::LambdaClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lambda"); -} - -void LambdaClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LambdaClient::InvokeOperationOutcome LambdaClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lambda/source/LambdaClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lambda/source/LambdaClientConfiguration.cpp new file mode 100644 index 000000000000..14b43c4baf8e --- /dev/null +++ b/generated/src/aws-cpp-sdk-lambda/source/LambdaClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Lambda { + +void LambdaClientConfiguration::LoadLambdaSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LambdaClientConfiguration::LambdaClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLambdaSpecificConfig(this->profileName); +} + +LambdaClientConfiguration::LambdaClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLambdaSpecificConfig(Aws::String(inputProfileName)); +} + +LambdaClientConfiguration::LambdaClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLambdaSpecificConfig(this->profileName); +} + +LambdaClientConfiguration::LambdaClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLambdaSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LambdaClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace Lambda +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lambda/source/LambdaEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lambda/source/LambdaEndpointProvider.cpp index 083f04c0458a..7184e98caea5 100644 --- a/generated/src/aws-cpp-sdk-lambda/source/LambdaEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lambda/source/LambdaEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_LAMBDA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Lambda { namespace Endpoint { LambdaEndpointProvider::LambdaEndpointProvider() : LambdaDefaultEpProviderBase(Aws::Lambda::LambdaEndpointRules::GetRulesBlob(), Aws::Lambda::LambdaEndpointRules::RulesBlobSize) {} +void LambdaBuiltInParameters::SetFromClientConfiguration(const LambdaClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LambdaBuiltInParameters::SetFromClientConfiguration(const LambdaClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LambdaBuiltInParameters::SetServiceSpecificParameters(const LambdaClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Lambda } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardClient.h b/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardClient.h index c169f15d9036..44121f3306ca 100644 --- a/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardClient.h +++ b/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardClient.h @@ -58,27 +58,6 @@ class AWS_LAUNCHWIZARD_API LaunchWizardClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::LaunchWizard::LaunchWizardClientConfiguration& clientConfiguration = Aws::LaunchWizard::LaunchWizardClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LaunchWizardClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LaunchWizardClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LaunchWizardClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LaunchWizardClient(); /** @@ -497,7 +476,6 @@ class AWS_LAUNCHWIZARD_API LaunchWizardClient : public Aws::Client::AWSJsonClien return SubmitAsync(&LaunchWizardClient::UpdateDeployment, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardClientConfiguration.h b/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardClientConfiguration.h new file mode 100644 index 000000000000..5093f5bc5455 --- /dev/null +++ b/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LaunchWizard { +struct AWS_LAUNCHWIZARD_API LaunchWizardClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LaunchWizardClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LaunchWizardClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LaunchWizardClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LaunchWizardClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLaunchWizardSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LAUNCHWIZARD_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LaunchWizardClientConfiguration& config); +} // namespace LaunchWizard +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardEndpointProvider.h b/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardEndpointProvider.h index 9550e9df00c2..0e47d75ba41a 100644 --- a/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LaunchWizard { namespace Endpoint { +using LaunchWizardClientConfiguration = Aws::LaunchWizard::LaunchWizardClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LaunchWizardClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LaunchWizardClientConfiguration = Aws::Client::GenericClientConfiguration; -using LaunchWizardBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LAUNCHWIZARD_API LaunchWizardBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LaunchWizardBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LaunchWizardClientConfiguration& config); + virtual void SetFromClientConfiguration(const LaunchWizardClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LaunchWizardClientConfiguration& config); +}; /** * The type for the LaunchWizard Client Endpoint Provider. @@ -34,6 +43,24 @@ using LaunchWizardEndpointProviderBase = using LaunchWizardDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LaunchWizard + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LAUNCHWIZARD_EXTERN template class AWS_LAUNCHWIZARD_API Aws::Endpoint::EndpointProviderBase< + LaunchWizard::Endpoint::LaunchWizardClientConfiguration, LaunchWizard::Endpoint::LaunchWizardBuiltInParameters, + LaunchWizard::Endpoint::LaunchWizardClientContextParameters>; + +AWS_LAUNCHWIZARD_EXTERN template class AWS_LAUNCHWIZARD_API Aws::Endpoint::BDDEndpointProvider< + LaunchWizard::Endpoint::LaunchWizardClientConfiguration, LaunchWizard::Endpoint::LaunchWizardBuiltInParameters, + LaunchWizard::Endpoint::LaunchWizardClientContextParameters>; +} // namespace Endpoint + +namespace LaunchWizard { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardServiceClientModel.h b/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardServiceClientModel.h index 265354ef3011..a83bc0ea30c6 100644 --- a/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace LaunchWizard { -using LaunchWizardClientConfiguration = Aws::Client::GenericClientConfiguration; using LaunchWizardEndpointProviderBase = Aws::LaunchWizard::Endpoint::LaunchWizardEndpointProviderBase; using LaunchWizardEndpointProvider = Aws::LaunchWizard::Endpoint::LaunchWizardEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardClient.cpp b/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardClient.cpp index e005c3d4579d..90d8dc9a464d 100644 --- a/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardClient.cpp +++ b/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardClient.cpp @@ -93,41 +93,6 @@ LaunchWizardClient::LaunchWizardClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LaunchWizardClient::LaunchWizardClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LaunchWizardClient::LaunchWizardClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LaunchWizardClient::~LaunchWizardClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LaunchWizardClient::accessEndpointProvider() { return m_endpointProvider; } @@ -145,12 +110,7 @@ void LaunchWizardClient::init(const LaunchWizard::LaunchWizardClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "launchwizard"); -} - -void LaunchWizardClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LaunchWizardClient::InvokeOperationOutcome LaunchWizardClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardClientConfiguration.cpp b/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardClientConfiguration.cpp new file mode 100644 index 000000000000..3f2139935c39 --- /dev/null +++ b/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LaunchWizard { + +void LaunchWizardClientConfiguration::LoadLaunchWizardSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LaunchWizardClientConfiguration::LaunchWizardClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLaunchWizardSpecificConfig(this->profileName); +} + +LaunchWizardClientConfiguration::LaunchWizardClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLaunchWizardSpecificConfig(Aws::String(inputProfileName)); +} + +LaunchWizardClientConfiguration::LaunchWizardClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLaunchWizardSpecificConfig(this->profileName); +} + +LaunchWizardClientConfiguration::LaunchWizardClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLaunchWizardSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LaunchWizardClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LaunchWizard +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardEndpointProvider.cpp b/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardEndpointProvider.cpp index 8c7e70165280..cc847a47f030 100644 --- a/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LAUNCHWIZARD_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LaunchWizard { namespace Endpoint { LaunchWizardEndpointProvider::LaunchWizardEndpointProvider() : LaunchWizardDefaultEpProviderBase(Aws::LaunchWizard::LaunchWizardEndpointRules::GetRulesBlob(), Aws::LaunchWizard::LaunchWizardEndpointRules::RulesBlobSize) {} +void LaunchWizardBuiltInParameters::SetFromClientConfiguration(const LaunchWizardClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LaunchWizardBuiltInParameters::SetFromClientConfiguration(const LaunchWizardClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LaunchWizardBuiltInParameters::SetServiceSpecificParameters(const LaunchWizardClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LaunchWizard } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceClient.h b/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceClient.h index 613e06451926..f0fd86b20b6d 100644 --- a/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceClient.h +++ b/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceClient.h @@ -60,30 +60,8 @@ class AWS_LEXMODELBUILDINGSERVICE_API LexModelBuildingServiceClient const Aws::LexModelBuildingService::LexModelBuildingServiceClientConfiguration& clientConfiguration = Aws::LexModelBuildingService::LexModelBuildingServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LexModelBuildingServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LexModelBuildingServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LexModelBuildingServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LexModelBuildingServiceClient(); - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceClientConfiguration.h new file mode 100644 index 000000000000..74aba514be6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LexModelBuildingService { +struct AWS_LEXMODELBUILDINGSERVICE_API LexModelBuildingServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LexModelBuildingServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LexModelBuildingServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LexModelBuildingServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LexModelBuildingServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLexModelBuildingServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LEXMODELBUILDINGSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const LexModelBuildingServiceClientConfiguration& config); +} // namespace LexModelBuildingService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceEndpointProvider.h index 88f917465321..7c6e3440e4b4 100644 --- a/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LexModelBuildingService { namespace Endpoint { +using LexModelBuildingServiceClientConfiguration = Aws::LexModelBuildingService::LexModelBuildingServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LexModelBuildingServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LexModelBuildingServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using LexModelBuildingServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LEXMODELBUILDINGSERVICE_API LexModelBuildingServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LexModelBuildingServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LexModelBuildingServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const LexModelBuildingServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LexModelBuildingServiceClientConfiguration& config); +}; /** * The type for the LexModelBuildingService Client Endpoint Provider. @@ -36,6 +45,26 @@ using LexModelBuildingServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LexModelBuildingService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LEXMODELBUILDINGSERVICE_EXTERN template class AWS_LEXMODELBUILDINGSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_LEXMODELBUILDINGSERVICE_EXTERN template class AWS_LEXMODELBUILDINGSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace LexModelBuildingService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceServiceClientModel.h index 5260dd8507e3..f4a388e25d39 100644 --- a/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceServiceClientModel.h @@ -46,7 +46,6 @@ class RetryStrategy; } // namespace Client namespace LexModelBuildingService { -using LexModelBuildingServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using LexModelBuildingServiceEndpointProviderBase = Aws::LexModelBuildingService::Endpoint::LexModelBuildingServiceEndpointProviderBase; using LexModelBuildingServiceEndpointProvider = Aws::LexModelBuildingService::Endpoint::LexModelBuildingServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceClient.cpp b/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceClient.cpp index d83703864220..2796e0e834ab 100644 --- a/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceClient.cpp @@ -83,42 +83,6 @@ LexModelBuildingServiceClient::LexModelBuildingServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -LexModelBuildingServiceClient::LexModelBuildingServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LexModelBuildingServiceClient::LexModelBuildingServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LexModelBuildingServiceClient::LexModelBuildingServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LexModelBuildingServiceClient::~LexModelBuildingServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LexModelBuildingServiceClient::accessEndpointProvider() { @@ -138,12 +102,7 @@ void LexModelBuildingServiceClient::init(const LexModelBuildingService::LexModel AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lex"); -} - -void LexModelBuildingServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LexModelBuildingServiceClient::InvokeOperationOutcome LexModelBuildingServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceClientConfiguration.cpp new file mode 100644 index 000000000000..0afce87a02ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LexModelBuildingService { + +void LexModelBuildingServiceClientConfiguration::LoadLexModelBuildingServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LexModelBuildingServiceClientConfiguration::LexModelBuildingServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLexModelBuildingServiceSpecificConfig(this->profileName); +} + +LexModelBuildingServiceClientConfiguration::LexModelBuildingServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLexModelBuildingServiceSpecificConfig(Aws::String(inputProfileName)); +} + +LexModelBuildingServiceClientConfiguration::LexModelBuildingServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLexModelBuildingServiceSpecificConfig(this->profileName); +} + +LexModelBuildingServiceClientConfiguration::LexModelBuildingServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLexModelBuildingServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LexModelBuildingServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LexModelBuildingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceEndpointProvider.cpp index 8054e7c47960..1ae80deed001 100644 --- a/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LEXMODELBUILDINGSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LexModelBuildingService { namespace Endpoint { LexModelBuildingServiceEndpointProvider::LexModelBuildingServiceEndpointProvider() : LexModelBuildingServiceDefaultEpProviderBase(Aws::LexModelBuildingService::LexModelBuildingServiceEndpointRules::GetRulesBlob(), Aws::LexModelBuildingService::LexModelBuildingServiceEndpointRules::RulesBlobSize) {} +void LexModelBuildingServiceBuiltInParameters::SetFromClientConfiguration(const LexModelBuildingServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LexModelBuildingServiceBuiltInParameters::SetFromClientConfiguration(const LexModelBuildingServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LexModelBuildingServiceBuiltInParameters::SetServiceSpecificParameters(const LexModelBuildingServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LexModelBuildingService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceClient.h b/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceClient.h index 20565c47deeb..66631ba0fa1c 100644 --- a/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceClient.h +++ b/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceClient.h @@ -66,27 +66,6 @@ class AWS_LEXRUNTIMESERVICE_API LexRuntimeServiceClient : public Aws::Client::AW const Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration& clientConfiguration = Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LexRuntimeServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LexRuntimeServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LexRuntimeServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LexRuntimeServiceClient(); /** @@ -293,7 +272,6 @@ class AWS_LEXRUNTIMESERVICE_API LexRuntimeServiceClient : public Aws::Client::AW return SubmitAsync(&LexRuntimeServiceClient::PutSession, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceClientConfiguration.h new file mode 100644 index 000000000000..0d513c039438 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LexRuntimeService { +struct AWS_LEXRUNTIMESERVICE_API LexRuntimeServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LexRuntimeServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LexRuntimeServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LexRuntimeServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LexRuntimeServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadLexRuntimeServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LEXRUNTIMESERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LexRuntimeServiceClientConfiguration& config); +} // namespace LexRuntimeService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceEndpointProvider.h index cc7c1b1420fd..f56824ab69c8 100644 --- a/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LexRuntimeService { namespace Endpoint { +using LexRuntimeServiceClientConfiguration = Aws::LexRuntimeService::LexRuntimeServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LexRuntimeServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LexRuntimeServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using LexRuntimeServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LEXRUNTIMESERVICE_API LexRuntimeServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LexRuntimeServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LexRuntimeServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const LexRuntimeServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LexRuntimeServiceClientConfiguration& config); +}; /** * The type for the LexRuntimeService Client Endpoint Provider. @@ -34,6 +43,24 @@ using LexRuntimeServiceEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace LexRuntimeService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LEXRUNTIMESERVICE_EXTERN template class AWS_LEXRUNTIMESERVICE_API Aws::Endpoint::EndpointProviderBase< + LexRuntimeService::Endpoint::LexRuntimeServiceClientConfiguration, LexRuntimeService::Endpoint::LexRuntimeServiceBuiltInParameters, + LexRuntimeService::Endpoint::LexRuntimeServiceClientContextParameters>; + +AWS_LEXRUNTIMESERVICE_EXTERN template class AWS_LEXRUNTIMESERVICE_API Aws::Endpoint::BDDEndpointProvider< + LexRuntimeService::Endpoint::LexRuntimeServiceClientConfiguration, LexRuntimeService::Endpoint::LexRuntimeServiceBuiltInParameters, + LexRuntimeService::Endpoint::LexRuntimeServiceClientContextParameters>; +} // namespace Endpoint + +namespace LexRuntimeService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceServiceClientModel.h index 6c876c356e7b..811c4d89b0aa 100644 --- a/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace LexRuntimeService { -using LexRuntimeServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using LexRuntimeServiceEndpointProviderBase = Aws::LexRuntimeService::Endpoint::LexRuntimeServiceEndpointProviderBase; using LexRuntimeServiceEndpointProvider = Aws::LexRuntimeService::Endpoint::LexRuntimeServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceClient.cpp b/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceClient.cpp index f69be7ada3ec..0fe9601e04f9 100644 --- a/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceClient.cpp @@ -88,44 +88,6 @@ LexRuntimeServiceClient::LexRuntimeServiceClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LexRuntimeServiceClient::LexRuntimeServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LexRuntimeServiceClient::LexRuntimeServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LexRuntimeServiceClient::~LexRuntimeServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LexRuntimeServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -143,12 +105,7 @@ void LexRuntimeServiceClient::init(const LexRuntimeService::LexRuntimeServiceCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lex"); -} - -void LexRuntimeServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LexRuntimeServiceClient::InvokeOperationOutcome LexRuntimeServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceClientConfiguration.cpp new file mode 100644 index 000000000000..572ea1d3cbcc --- /dev/null +++ b/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LexRuntimeService { + +void LexRuntimeServiceClientConfiguration::LoadLexRuntimeServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LexRuntimeServiceClientConfiguration::LexRuntimeServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLexRuntimeServiceSpecificConfig(this->profileName); +} + +LexRuntimeServiceClientConfiguration::LexRuntimeServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLexRuntimeServiceSpecificConfig(Aws::String(inputProfileName)); +} + +LexRuntimeServiceClientConfiguration::LexRuntimeServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLexRuntimeServiceSpecificConfig(this->profileName); +} + +LexRuntimeServiceClientConfiguration::LexRuntimeServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLexRuntimeServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LexRuntimeServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace LexRuntimeService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceEndpointProvider.cpp index 5ae996764f56..1ce792817db9 100644 --- a/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LEXRUNTIMESERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LexRuntimeService { namespace Endpoint { LexRuntimeServiceEndpointProvider::LexRuntimeServiceEndpointProvider() : LexRuntimeServiceDefaultEpProviderBase(Aws::LexRuntimeService::LexRuntimeServiceEndpointRules::GetRulesBlob(), Aws::LexRuntimeService::LexRuntimeServiceEndpointRules::RulesBlobSize) {} +void LexRuntimeServiceBuiltInParameters::SetFromClientConfiguration(const LexRuntimeServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LexRuntimeServiceBuiltInParameters::SetFromClientConfiguration(const LexRuntimeServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LexRuntimeServiceBuiltInParameters::SetServiceSpecificParameters(const LexRuntimeServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LexRuntimeService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h index 2617a2b24910..c40752014525 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2Client.h @@ -77,27 +77,6 @@ class AWS_LEXMODELSV2_API LexModelsV2Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::LexModelsV2::LexModelsV2ClientConfiguration& clientConfiguration = Aws::LexModelsV2::LexModelsV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LexModelsV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LexModelsV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LexModelsV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LexModelsV2Client(); /** @@ -3213,7 +3192,6 @@ class AWS_LEXMODELSV2_API LexModelsV2Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&LexModelsV2Client::UpdateTestSet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2ClientConfiguration.h new file mode 100644 index 000000000000..876ef5f3ba26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LexModelsV2 { +struct AWS_LEXMODELSV2_API LexModelsV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LexModelsV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LexModelsV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LexModelsV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LexModelsV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLexModelsV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LEXMODELSV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LexModelsV2ClientConfiguration& config); +} // namespace LexModelsV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2EndpointProvider.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2EndpointProvider.h index 74598e14470b..9bbd5951256e 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LexModelsV2 { namespace Endpoint { +using LexModelsV2ClientConfiguration = Aws::LexModelsV2::LexModelsV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LexModelsV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LexModelsV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using LexModelsV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LEXMODELSV2_API LexModelsV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LexModelsV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LexModelsV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const LexModelsV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LexModelsV2ClientConfiguration& config); +}; /** * The type for the LexModelsV2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using LexModelsV2EndpointProviderBase = using LexModelsV2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LexModelsV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LEXMODELSV2_EXTERN template class AWS_LEXMODELSV2_API Aws::Endpoint::EndpointProviderBase< + LexModelsV2::Endpoint::LexModelsV2ClientConfiguration, LexModelsV2::Endpoint::LexModelsV2BuiltInParameters, + LexModelsV2::Endpoint::LexModelsV2ClientContextParameters>; + +AWS_LEXMODELSV2_EXTERN template class AWS_LEXMODELSV2_API Aws::Endpoint::BDDEndpointProvider< + LexModelsV2::Endpoint::LexModelsV2ClientConfiguration, LexModelsV2::Endpoint::LexModelsV2BuiltInParameters, + LexModelsV2::Endpoint::LexModelsV2ClientContextParameters>; +} // namespace Endpoint + +namespace LexModelsV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2ServiceClientModel.h index a49f63ad1871..ddb74d95213a 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2ServiceClientModel.h @@ -156,7 +156,6 @@ class RetryStrategy; } // namespace Client namespace LexModelsV2 { -using LexModelsV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using LexModelsV2EndpointProviderBase = Aws::LexModelsV2::Endpoint::LexModelsV2EndpointProviderBase; using LexModelsV2EndpointProvider = Aws::LexModelsV2::Endpoint::LexModelsV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2Client.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2Client.cpp index 1f848b58b448..3d9b111830fa 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2Client.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2Client.cpp @@ -184,41 +184,6 @@ LexModelsV2Client::LexModelsV2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LexModelsV2Client::LexModelsV2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LexModelsV2Client::LexModelsV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LexModelsV2Client::~LexModelsV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& LexModelsV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -236,12 +201,7 @@ void LexModelsV2Client::init(const LexModelsV2::LexModelsV2ClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lex"); -} - -void LexModelsV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LexModelsV2Client::InvokeOperationOutcome LexModelsV2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2ClientConfiguration.cpp new file mode 100644 index 000000000000..28d61cc1c1d6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LexModelsV2 { + +void LexModelsV2ClientConfiguration::LoadLexModelsV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LexModelsV2ClientConfiguration::LexModelsV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLexModelsV2SpecificConfig(this->profileName); +} + +LexModelsV2ClientConfiguration::LexModelsV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLexModelsV2SpecificConfig(Aws::String(inputProfileName)); +} + +LexModelsV2ClientConfiguration::LexModelsV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLexModelsV2SpecificConfig(this->profileName); +} + +LexModelsV2ClientConfiguration::LexModelsV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLexModelsV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LexModelsV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LexModelsV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2EndpointProvider.cpp index 9a31a17e0503..9845c7de957f 100644 --- a/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LEXMODELSV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LexModelsV2 { namespace Endpoint { LexModelsV2EndpointProvider::LexModelsV2EndpointProvider() : LexModelsV2DefaultEpProviderBase(Aws::LexModelsV2::LexModelsV2EndpointRules::GetRulesBlob(), Aws::LexModelsV2::LexModelsV2EndpointRules::RulesBlobSize) {} +void LexModelsV2BuiltInParameters::SetFromClientConfiguration(const LexModelsV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LexModelsV2BuiltInParameters::SetFromClientConfiguration(const LexModelsV2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LexModelsV2BuiltInParameters::SetServiceSpecificParameters(const LexModelsV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LexModelsV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2Client.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2Client.h index 70614ad80d61..10fb889a5240 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2Client.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2Client.h @@ -56,27 +56,6 @@ class AWS_LEXRUNTIMEV2_API LexRuntimeV2Client : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::LexRuntimeV2::LexRuntimeV2ClientConfiguration& clientConfiguration = Aws::LexRuntimeV2::LexRuntimeV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LexRuntimeV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LexRuntimeV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LexRuntimeV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LexRuntimeV2Client(); /** @@ -312,7 +291,6 @@ class AWS_LEXRUNTIMEV2_API LexRuntimeV2Client : public Aws::Client::AWSJsonClien const StartConversationResponseReceivedHandler& handler, const std::shared_ptr& handlerContext = nullptr) const; - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2ClientConfiguration.h new file mode 100644 index 000000000000..b6c81280a774 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2ClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LexRuntimeV2 { +struct AWS_LEXRUNTIMEV2_API LexRuntimeV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LexRuntimeV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LexRuntimeV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LexRuntimeV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LexRuntimeV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadLexRuntimeV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LEXRUNTIMEV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LexRuntimeV2ClientConfiguration& config); +} // namespace LexRuntimeV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2EndpointProvider.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2EndpointProvider.h index 0ac2e6131209..6af01f78c5f3 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LexRuntimeV2 { namespace Endpoint { +using LexRuntimeV2ClientConfiguration = Aws::LexRuntimeV2::LexRuntimeV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LexRuntimeV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LexRuntimeV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using LexRuntimeV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LEXRUNTIMEV2_API LexRuntimeV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LexRuntimeV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LexRuntimeV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const LexRuntimeV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LexRuntimeV2ClientConfiguration& config); +}; /** * The type for the LexRuntimeV2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using LexRuntimeV2EndpointProviderBase = using LexRuntimeV2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LexRuntimeV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LEXRUNTIMEV2_EXTERN template class AWS_LEXRUNTIMEV2_API Aws::Endpoint::EndpointProviderBase< + LexRuntimeV2::Endpoint::LexRuntimeV2ClientConfiguration, LexRuntimeV2::Endpoint::LexRuntimeV2BuiltInParameters, + LexRuntimeV2::Endpoint::LexRuntimeV2ClientContextParameters>; + +AWS_LEXRUNTIMEV2_EXTERN template class AWS_LEXRUNTIMEV2_API Aws::Endpoint::BDDEndpointProvider< + LexRuntimeV2::Endpoint::LexRuntimeV2ClientConfiguration, LexRuntimeV2::Endpoint::LexRuntimeV2BuiltInParameters, + LexRuntimeV2::Endpoint::LexRuntimeV2ClientContextParameters>; +} // namespace Endpoint + +namespace LexRuntimeV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2ServiceClientModel.h index ecdaa8d6a7ff..d5b22f72c69e 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2ServiceClientModel.h @@ -56,7 +56,6 @@ class RetryStrategy; } // namespace Client namespace LexRuntimeV2 { -using LexRuntimeV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using LexRuntimeV2EndpointProviderBase = Aws::LexRuntimeV2::Endpoint::LexRuntimeV2EndpointProviderBase; using LexRuntimeV2EndpointProvider = Aws::LexRuntimeV2::Endpoint::LexRuntimeV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2Client.cpp b/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2Client.cpp index 6d1121f2d3cf..784f4a8fa57a 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2Client.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2Client.cpp @@ -89,43 +89,6 @@ LexRuntimeV2Client::LexRuntimeV2Client(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LexRuntimeV2Client::LexRuntimeV2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LexRuntimeV2Client::LexRuntimeV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LexRuntimeV2Client::~LexRuntimeV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& LexRuntimeV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -143,12 +106,7 @@ void LexRuntimeV2Client::init(const LexRuntimeV2::LexRuntimeV2ClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lex"); -} - -void LexRuntimeV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LexRuntimeV2Client::InvokeOperationOutcome LexRuntimeV2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2ClientConfiguration.cpp new file mode 100644 index 000000000000..3faec67bd9d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2ClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LexRuntimeV2 { + +void LexRuntimeV2ClientConfiguration::LoadLexRuntimeV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LexRuntimeV2ClientConfiguration::LexRuntimeV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLexRuntimeV2SpecificConfig(this->profileName); +} + +LexRuntimeV2ClientConfiguration::LexRuntimeV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLexRuntimeV2SpecificConfig(Aws::String(inputProfileName)); +} + +LexRuntimeV2ClientConfiguration::LexRuntimeV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLexRuntimeV2SpecificConfig(this->profileName); +} + +LexRuntimeV2ClientConfiguration::LexRuntimeV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLexRuntimeV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LexRuntimeV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace LexRuntimeV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2EndpointProvider.cpp index 260494dfdabd..c3a5997223b8 100644 --- a/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LEXRUNTIMEV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LexRuntimeV2 { namespace Endpoint { LexRuntimeV2EndpointProvider::LexRuntimeV2EndpointProvider() : LexRuntimeV2DefaultEpProviderBase(Aws::LexRuntimeV2::LexRuntimeV2EndpointRules::GetRulesBlob(), Aws::LexRuntimeV2::LexRuntimeV2EndpointRules::RulesBlobSize) {} +void LexRuntimeV2BuiltInParameters::SetFromClientConfiguration(const LexRuntimeV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LexRuntimeV2BuiltInParameters::SetFromClientConfiguration(const LexRuntimeV2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LexRuntimeV2BuiltInParameters::SetServiceSpecificParameters(const LexRuntimeV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LexRuntimeV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsClient.h b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsClient.h index 786d3db2a7e8..db38ec7667ba 100644 --- a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsClient.h +++ b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsClient.h @@ -61,28 +61,6 @@ class AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_API LicenseManagerLinuxSubscriptionsC const Aws::LicenseManagerLinuxSubscriptions::LicenseManagerLinuxSubscriptionsClientConfiguration& clientConfiguration = Aws::LicenseManagerLinuxSubscriptions::LicenseManagerLinuxSubscriptionsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LicenseManagerLinuxSubscriptionsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LicenseManagerLinuxSubscriptionsClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LicenseManagerLinuxSubscriptionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LicenseManagerLinuxSubscriptionsClient(); /** @@ -398,7 +376,6 @@ class AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_API LicenseManagerLinuxSubscriptionsC return SubmitAsync(&LicenseManagerLinuxSubscriptionsClient::UpdateServiceSettings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsClientConfiguration.h b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsClientConfiguration.h new file mode 100644 index 000000000000..fe1aa9d3f675 --- /dev/null +++ b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LicenseManagerLinuxSubscriptions { +struct AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_API LicenseManagerLinuxSubscriptionsClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LicenseManagerLinuxSubscriptionsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LicenseManagerLinuxSubscriptionsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LicenseManagerLinuxSubscriptionsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LicenseManagerLinuxSubscriptionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLicenseManagerLinuxSubscriptionsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const LicenseManagerLinuxSubscriptionsClientConfiguration& config); +} // namespace LicenseManagerLinuxSubscriptions +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsEndpointProvider.h b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsEndpointProvider.h index 316b7f21ce1d..22909ebb9153 100644 --- a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsEndpointProvider.h @@ -4,24 +4,35 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LicenseManagerLinuxSubscriptions { namespace Endpoint { +using LicenseManagerLinuxSubscriptionsClientConfiguration = + Aws::LicenseManagerLinuxSubscriptions::LicenseManagerLinuxSubscriptionsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LicenseManagerLinuxSubscriptionsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LicenseManagerLinuxSubscriptionsClientConfiguration = Aws::Client::GenericClientConfiguration; -using LicenseManagerLinuxSubscriptionsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_API LicenseManagerLinuxSubscriptionsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LicenseManagerLinuxSubscriptionsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LicenseManagerLinuxSubscriptionsClientConfiguration& config); + virtual void SetFromClientConfiguration(const LicenseManagerLinuxSubscriptionsClientConfiguration& config, + const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LicenseManagerLinuxSubscriptionsClientConfiguration& config); +}; /** * The type for the LicenseManagerLinuxSubscriptions Client Endpoint Provider. @@ -36,6 +47,26 @@ using LicenseManagerLinuxSubscriptionsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LicenseManagerLinuxSubscriptions + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_EXTERN template class AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_API Aws::Endpoint::EndpointProviderBase< + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsClientConfiguration, + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsBuiltInParameters, + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsClientContextParameters>; + +AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_EXTERN template class AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace LicenseManagerLinuxSubscriptions { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsServiceClientModel.h b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsServiceClientModel.h index d7eaa24a8e8d..990e73dffa3c 100644 --- a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace LicenseManagerLinuxSubscriptions { -using LicenseManagerLinuxSubscriptionsClientConfiguration = Aws::Client::GenericClientConfiguration; using LicenseManagerLinuxSubscriptionsEndpointProviderBase = Aws::LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsEndpointProviderBase; using LicenseManagerLinuxSubscriptionsEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsClient.cpp b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsClient.cpp index 19011edc3ae3..bc09c376a5e7 100644 --- a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsClient.cpp +++ b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsClient.cpp @@ -94,42 +94,6 @@ LicenseManagerLinuxSubscriptionsClient::LicenseManagerLinuxSubscriptionsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -LicenseManagerLinuxSubscriptionsClient::LicenseManagerLinuxSubscriptionsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LicenseManagerLinuxSubscriptionsClient::LicenseManagerLinuxSubscriptionsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LicenseManagerLinuxSubscriptionsClient::LicenseManagerLinuxSubscriptionsClient( - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LicenseManagerLinuxSubscriptionsClient::~LicenseManagerLinuxSubscriptionsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LicenseManagerLinuxSubscriptionsClient::accessEndpointProvider() { @@ -150,12 +114,7 @@ void LicenseManagerLinuxSubscriptionsClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "license-manager-linux-subscriptions"); -} - -void LicenseManagerLinuxSubscriptionsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LicenseManagerLinuxSubscriptionsClient::InvokeOperationOutcome LicenseManagerLinuxSubscriptionsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsClientConfiguration.cpp new file mode 100644 index 000000000000..ef813341cebe --- /dev/null +++ b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsClientConfiguration.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LicenseManagerLinuxSubscriptions { + +void LicenseManagerLinuxSubscriptionsClientConfiguration::LoadLicenseManagerLinuxSubscriptionsSpecificConfig( + const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LicenseManagerLinuxSubscriptionsClientConfiguration::LicenseManagerLinuxSubscriptionsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLicenseManagerLinuxSubscriptionsSpecificConfig(this->profileName); +} + +LicenseManagerLinuxSubscriptionsClientConfiguration::LicenseManagerLinuxSubscriptionsClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLicenseManagerLinuxSubscriptionsSpecificConfig(Aws::String(inputProfileName)); +} + +LicenseManagerLinuxSubscriptionsClientConfiguration::LicenseManagerLinuxSubscriptionsClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLicenseManagerLinuxSubscriptionsSpecificConfig(this->profileName); +} + +LicenseManagerLinuxSubscriptionsClientConfiguration::LicenseManagerLinuxSubscriptionsClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLicenseManagerLinuxSubscriptionsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LicenseManagerLinuxSubscriptionsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LicenseManagerLinuxSubscriptions +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsEndpointProvider.cpp index 4faa8d880bc9..2f34b5bef5d3 100644 --- a/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_LICENSEMANAGERLINUXSUBSCRIPTIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsClientConfiguration, + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsBuiltInParameters, + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsClientConfiguration, + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsBuiltInParameters, + LicenseManagerLinuxSubscriptions::Endpoint::LicenseManagerLinuxSubscriptionsClientContextParameters>; +} // namespace Endpoint +#endif + namespace LicenseManagerLinuxSubscriptions { namespace Endpoint { LicenseManagerLinuxSubscriptionsEndpointProvider::LicenseManagerLinuxSubscriptionsEndpointProvider() @@ -14,6 +31,28 @@ LicenseManagerLinuxSubscriptionsEndpointProvider::LicenseManagerLinuxSubscriptio Aws::LicenseManagerLinuxSubscriptions::LicenseManagerLinuxSubscriptionsEndpointRules::GetRulesBlob(), Aws::LicenseManagerLinuxSubscriptions::LicenseManagerLinuxSubscriptionsEndpointRules::RulesBlobSize) {} +void LicenseManagerLinuxSubscriptionsBuiltInParameters::SetFromClientConfiguration( + const LicenseManagerLinuxSubscriptionsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LicenseManagerLinuxSubscriptionsBuiltInParameters::SetFromClientConfiguration( + const LicenseManagerLinuxSubscriptionsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void LicenseManagerLinuxSubscriptionsBuiltInParameters::SetServiceSpecificParameters( + const LicenseManagerLinuxSubscriptionsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LicenseManagerLinuxSubscriptions } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsClient.h b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsClient.h index b640e3577931..9fa117203af5 100644 --- a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsClient.h +++ b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsClient.h @@ -61,28 +61,6 @@ class AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API LicenseManagerUserSubscriptionsCli const Aws::LicenseManagerUserSubscriptions::LicenseManagerUserSubscriptionsClientConfiguration& clientConfiguration = Aws::LicenseManagerUserSubscriptions::LicenseManagerUserSubscriptionsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LicenseManagerUserSubscriptionsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LicenseManagerUserSubscriptionsClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LicenseManagerUserSubscriptionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LicenseManagerUserSubscriptionsClient(); /** @@ -572,7 +550,6 @@ class AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API LicenseManagerUserSubscriptionsCli return SubmitAsync(&LicenseManagerUserSubscriptionsClient::UpdateIdentityProviderSettings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsClientConfiguration.h b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsClientConfiguration.h new file mode 100644 index 000000000000..0a84482fc817 --- /dev/null +++ b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LicenseManagerUserSubscriptions { +struct AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API LicenseManagerUserSubscriptionsClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LicenseManagerUserSubscriptionsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LicenseManagerUserSubscriptionsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LicenseManagerUserSubscriptionsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LicenseManagerUserSubscriptionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLicenseManagerUserSubscriptionsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const LicenseManagerUserSubscriptionsClientConfiguration& config); +} // namespace LicenseManagerUserSubscriptions +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsEndpointProvider.h b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsEndpointProvider.h index 0eb55618699c..add2c7b4ec92 100644 --- a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsEndpointProvider.h @@ -4,24 +4,34 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LicenseManagerUserSubscriptions { namespace Endpoint { +using LicenseManagerUserSubscriptionsClientConfiguration = + Aws::LicenseManagerUserSubscriptions::LicenseManagerUserSubscriptionsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LicenseManagerUserSubscriptionsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LicenseManagerUserSubscriptionsClientConfiguration = Aws::Client::GenericClientConfiguration; -using LicenseManagerUserSubscriptionsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API LicenseManagerUserSubscriptionsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LicenseManagerUserSubscriptionsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LicenseManagerUserSubscriptionsClientConfiguration& config); + virtual void SetFromClientConfiguration(const LicenseManagerUserSubscriptionsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LicenseManagerUserSubscriptionsClientConfiguration& config); +}; /** * The type for the LicenseManagerUserSubscriptions Client Endpoint Provider. @@ -36,6 +46,26 @@ using LicenseManagerUserSubscriptionsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LicenseManagerUserSubscriptions + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_EXTERN template class AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_EXTERN template class AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace LicenseManagerUserSubscriptions { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsServiceClientModel.h b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsServiceClientModel.h index d1629aceb1f2..03b8bd8f85bc 100644 --- a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsServiceClientModel.h @@ -69,7 +69,6 @@ class RetryStrategy; } // namespace Client namespace LicenseManagerUserSubscriptions { -using LicenseManagerUserSubscriptionsClientConfiguration = Aws::Client::GenericClientConfiguration; using LicenseManagerUserSubscriptionsEndpointProviderBase = Aws::LicenseManagerUserSubscriptions::Endpoint::LicenseManagerUserSubscriptionsEndpointProviderBase; using LicenseManagerUserSubscriptionsEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsClient.cpp b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsClient.cpp index 2f83240d7826..25f192a9ff8c 100644 --- a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsClient.cpp +++ b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsClient.cpp @@ -100,42 +100,6 @@ LicenseManagerUserSubscriptionsClient::LicenseManagerUserSubscriptionsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -LicenseManagerUserSubscriptionsClient::LicenseManagerUserSubscriptionsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LicenseManagerUserSubscriptionsClient::LicenseManagerUserSubscriptionsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LicenseManagerUserSubscriptionsClient::LicenseManagerUserSubscriptionsClient( - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LicenseManagerUserSubscriptionsClient::~LicenseManagerUserSubscriptionsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LicenseManagerUserSubscriptionsClient::accessEndpointProvider() { @@ -156,12 +120,7 @@ void LicenseManagerUserSubscriptionsClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "license-manager-user-subscriptions"); -} - -void LicenseManagerUserSubscriptionsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LicenseManagerUserSubscriptionsClient::InvokeOperationOutcome LicenseManagerUserSubscriptionsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsClientConfiguration.cpp new file mode 100644 index 000000000000..d37cfed7a8e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsClientConfiguration.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LicenseManagerUserSubscriptions { + +void LicenseManagerUserSubscriptionsClientConfiguration::LoadLicenseManagerUserSubscriptionsSpecificConfig( + const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LicenseManagerUserSubscriptionsClientConfiguration::LicenseManagerUserSubscriptionsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLicenseManagerUserSubscriptionsSpecificConfig(this->profileName); +} + +LicenseManagerUserSubscriptionsClientConfiguration::LicenseManagerUserSubscriptionsClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLicenseManagerUserSubscriptionsSpecificConfig(Aws::String(inputProfileName)); +} + +LicenseManagerUserSubscriptionsClientConfiguration::LicenseManagerUserSubscriptionsClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLicenseManagerUserSubscriptionsSpecificConfig(this->profileName); +} + +LicenseManagerUserSubscriptionsClientConfiguration::LicenseManagerUserSubscriptionsClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLicenseManagerUserSubscriptionsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LicenseManagerUserSubscriptionsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LicenseManagerUserSubscriptions +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsEndpointProvider.cpp index 7406e11ccef7..92b82c84a0e2 100644 --- a/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_LICENSEMANAGERUSERSUBSCRIPTIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + LicenseManagerUserSubscriptions::Endpoint::LicenseManagerUserSubscriptionsClientConfiguration, + LicenseManagerUserSubscriptions::Endpoint::LicenseManagerUserSubscriptionsBuiltInParameters, + LicenseManagerUserSubscriptions::Endpoint::LicenseManagerUserSubscriptionsClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + LicenseManagerUserSubscriptions::Endpoint::LicenseManagerUserSubscriptionsClientConfiguration, + LicenseManagerUserSubscriptions::Endpoint::LicenseManagerUserSubscriptionsBuiltInParameters, + LicenseManagerUserSubscriptions::Endpoint::LicenseManagerUserSubscriptionsClientContextParameters>; +} // namespace Endpoint +#endif + namespace LicenseManagerUserSubscriptions { namespace Endpoint { LicenseManagerUserSubscriptionsEndpointProvider::LicenseManagerUserSubscriptionsEndpointProvider() @@ -14,6 +31,28 @@ LicenseManagerUserSubscriptionsEndpointProvider::LicenseManagerUserSubscriptions Aws::LicenseManagerUserSubscriptions::LicenseManagerUserSubscriptionsEndpointRules::GetRulesBlob(), Aws::LicenseManagerUserSubscriptions::LicenseManagerUserSubscriptionsEndpointRules::RulesBlobSize) {} +void LicenseManagerUserSubscriptionsBuiltInParameters::SetFromClientConfiguration( + const LicenseManagerUserSubscriptionsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LicenseManagerUserSubscriptionsBuiltInParameters::SetFromClientConfiguration( + const LicenseManagerUserSubscriptionsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void LicenseManagerUserSubscriptionsBuiltInParameters::SetServiceSpecificParameters( + const LicenseManagerUserSubscriptionsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LicenseManagerUserSubscriptions } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerClient.h b/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerClient.h index a27841fc8e17..59cb32b26c91 100644 --- a/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerClient.h +++ b/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerClient.h @@ -57,27 +57,6 @@ class AWS_LICENSEMANAGER_API LicenseManagerClient : public Aws::Client::AWSJsonC const Aws::LicenseManager::LicenseManagerClientConfiguration& clientConfiguration = Aws::LicenseManager::LicenseManagerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LicenseManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LicenseManagerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LicenseManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LicenseManagerClient(); /** @@ -1840,7 +1819,6 @@ class AWS_LICENSEMANAGER_API LicenseManagerClient : public Aws::Client::AWSJsonC return SubmitAsync(&LicenseManagerClient::UpdateServiceSettings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerClientConfiguration.h b/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerClientConfiguration.h new file mode 100644 index 000000000000..c495e77e0734 --- /dev/null +++ b/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LicenseManager { +struct AWS_LICENSEMANAGER_API LicenseManagerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LicenseManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LicenseManagerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LicenseManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LicenseManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLicenseManagerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LICENSEMANAGER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LicenseManagerClientConfiguration& config); +} // namespace LicenseManager +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerEndpointProvider.h b/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerEndpointProvider.h index 6c557c90674d..6dc295e47f7c 100644 --- a/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LicenseManager { namespace Endpoint { +using LicenseManagerClientConfiguration = Aws::LicenseManager::LicenseManagerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LicenseManagerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LicenseManagerClientConfiguration = Aws::Client::GenericClientConfiguration; -using LicenseManagerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LICENSEMANAGER_API LicenseManagerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LicenseManagerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LicenseManagerClientConfiguration& config); + virtual void SetFromClientConfiguration(const LicenseManagerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LicenseManagerClientConfiguration& config); +}; /** * The type for the LicenseManager Client Endpoint Provider. @@ -34,6 +43,24 @@ using LicenseManagerEndpointProviderBase = using LicenseManagerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LicenseManager + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LICENSEMANAGER_EXTERN template class AWS_LICENSEMANAGER_API Aws::Endpoint::EndpointProviderBase< + LicenseManager::Endpoint::LicenseManagerClientConfiguration, LicenseManager::Endpoint::LicenseManagerBuiltInParameters, + LicenseManager::Endpoint::LicenseManagerClientContextParameters>; + +AWS_LICENSEMANAGER_EXTERN template class AWS_LICENSEMANAGER_API Aws::Endpoint::BDDEndpointProvider< + LicenseManager::Endpoint::LicenseManagerClientConfiguration, LicenseManager::Endpoint::LicenseManagerBuiltInParameters, + LicenseManager::Endpoint::LicenseManagerClientContextParameters>; +} // namespace Endpoint + +namespace LicenseManager { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerServiceClientModel.h index d3dfed9c973b..77d232f9efdf 100644 --- a/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerServiceClientModel.h @@ -123,7 +123,6 @@ class RetryStrategy; } // namespace Client namespace LicenseManager { -using LicenseManagerClientConfiguration = Aws::Client::GenericClientConfiguration; using LicenseManagerEndpointProviderBase = Aws::LicenseManager::Endpoint::LicenseManagerEndpointProviderBase; using LicenseManagerEndpointProvider = Aws::LicenseManager::Endpoint::LicenseManagerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerClient.cpp b/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerClient.cpp index 40dd1949800d..8a170f7a668c 100644 --- a/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerClient.cpp @@ -140,41 +140,6 @@ LicenseManagerClient::LicenseManagerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LicenseManagerClient::LicenseManagerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LicenseManagerClient::LicenseManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LicenseManagerClient::~LicenseManagerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LicenseManagerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -192,12 +157,7 @@ void LicenseManagerClient::init(const LicenseManager::LicenseManagerClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "license-manager"); -} - -void LicenseManagerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LicenseManagerClient::InvokeOperationOutcome LicenseManagerClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerClientConfiguration.cpp new file mode 100644 index 000000000000..ab7fbed5a93e --- /dev/null +++ b/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LicenseManager { + +void LicenseManagerClientConfiguration::LoadLicenseManagerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LicenseManagerClientConfiguration::LicenseManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLicenseManagerSpecificConfig(this->profileName); +} + +LicenseManagerClientConfiguration::LicenseManagerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLicenseManagerSpecificConfig(Aws::String(inputProfileName)); +} + +LicenseManagerClientConfiguration::LicenseManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLicenseManagerSpecificConfig(this->profileName); +} + +LicenseManagerClientConfiguration::LicenseManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLicenseManagerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LicenseManagerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LicenseManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerEndpointProvider.cpp index 418e2d6fde30..1fedf53dd71e 100644 --- a/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LICENSEMANAGER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LicenseManager { namespace Endpoint { LicenseManagerEndpointProvider::LicenseManagerEndpointProvider() : LicenseManagerDefaultEpProviderBase(Aws::LicenseManager::LicenseManagerEndpointRules::GetRulesBlob(), Aws::LicenseManager::LicenseManagerEndpointRules::RulesBlobSize) {} +void LicenseManagerBuiltInParameters::SetFromClientConfiguration(const LicenseManagerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LicenseManagerBuiltInParameters::SetFromClientConfiguration(const LicenseManagerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LicenseManagerBuiltInParameters::SetServiceSpecificParameters(const LicenseManagerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LicenseManager } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailClient.h b/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailClient.h index 878b51709314..a57f006791a1 100644 --- a/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailClient.h +++ b/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailClient.h @@ -69,27 +69,6 @@ class AWS_LIGHTSAIL_API LightsailClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Lightsail::LightsailClientConfiguration& clientConfiguration = Aws::Lightsail::LightsailClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LightsailClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LightsailClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LightsailClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LightsailClient(); /** @@ -5206,7 +5185,6 @@ class AWS_LIGHTSAIL_API LightsailClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&LightsailClient::UpdateRelationalDatabaseParameters, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailClientConfiguration.h b/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailClientConfiguration.h new file mode 100644 index 000000000000..b8c0304b1dc4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Lightsail { +struct AWS_LIGHTSAIL_API LightsailClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LightsailClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LightsailClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LightsailClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LightsailClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLightsailSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LIGHTSAIL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LightsailClientConfiguration& config); +} // namespace Lightsail +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailEndpointProvider.h b/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailEndpointProvider.h index 516d53bf8885..253969071763 100644 --- a/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Lightsail { namespace Endpoint { +using LightsailClientConfiguration = Aws::Lightsail::LightsailClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LightsailClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LightsailClientConfiguration = Aws::Client::GenericClientConfiguration; -using LightsailBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LIGHTSAIL_API LightsailBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LightsailBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LightsailClientConfiguration& config); + virtual void SetFromClientConfiguration(const LightsailClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LightsailClientConfiguration& config); +}; /** * The type for the Lightsail Client Endpoint Provider. @@ -34,6 +43,24 @@ using LightsailEndpointProviderBase = using LightsailDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Lightsail + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LIGHTSAIL_EXTERN template class AWS_LIGHTSAIL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_LIGHTSAIL_EXTERN template class AWS_LIGHTSAIL_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Lightsail { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailServiceClientModel.h b/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailServiceClientModel.h index a324274860c4..444d7ce9c374 100644 --- a/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailServiceClientModel.h @@ -248,7 +248,6 @@ class RetryStrategy; } // namespace Client namespace Lightsail { -using LightsailClientConfiguration = Aws::Client::GenericClientConfiguration; using LightsailEndpointProviderBase = Aws::Lightsail::Endpoint::LightsailEndpointProviderBase; using LightsailEndpointProvider = Aws::Lightsail::Endpoint::LightsailEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lightsail/source/LightsailClient.cpp b/generated/src/aws-cpp-sdk-lightsail/source/LightsailClient.cpp index 35167f5c2430..cb5dbd5a729a 100644 --- a/generated/src/aws-cpp-sdk-lightsail/source/LightsailClient.cpp +++ b/generated/src/aws-cpp-sdk-lightsail/source/LightsailClient.cpp @@ -239,41 +239,6 @@ LightsailClient::LightsailClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -LightsailClient::LightsailClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LightsailClient::LightsailClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LightsailClient::LightsailClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LightsailClient::~LightsailClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LightsailClient::accessEndpointProvider() { return m_endpointProvider; } @@ -291,12 +256,7 @@ void LightsailClient::init(const Lightsail::LightsailClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lightsail"); -} - -void LightsailClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LightsailClient::InvokeOperationOutcome LightsailClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-lightsail/source/LightsailClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lightsail/source/LightsailClientConfiguration.cpp new file mode 100644 index 000000000000..7f1c7e31cfbd --- /dev/null +++ b/generated/src/aws-cpp-sdk-lightsail/source/LightsailClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Lightsail { + +void LightsailClientConfiguration::LoadLightsailSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LightsailClientConfiguration::LightsailClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLightsailSpecificConfig(this->profileName); +} + +LightsailClientConfiguration::LightsailClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLightsailSpecificConfig(Aws::String(inputProfileName)); +} + +LightsailClientConfiguration::LightsailClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLightsailSpecificConfig(this->profileName); +} + +LightsailClientConfiguration::LightsailClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLightsailSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LightsailClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Lightsail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lightsail/source/LightsailEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lightsail/source/LightsailEndpointProvider.cpp index e8baad13885e..fa1e5e23f6a4 100644 --- a/generated/src/aws-cpp-sdk-lightsail/source/LightsailEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lightsail/source/LightsailEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_LIGHTSAIL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Lightsail { namespace Endpoint { LightsailEndpointProvider::LightsailEndpointProvider() : LightsailDefaultEpProviderBase(Aws::Lightsail::LightsailEndpointRules::GetRulesBlob(), Aws::Lightsail::LightsailEndpointRules::RulesBlobSize) {} +void LightsailBuiltInParameters::SetFromClientConfiguration(const LightsailClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LightsailBuiltInParameters::SetFromClientConfiguration(const LightsailClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LightsailBuiltInParameters::SetServiceSpecificParameters(const LightsailClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Lightsail } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceClient.h b/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceClient.h index 41b42b80d4f1..c9f395ac11e4 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceClient.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceClient.h @@ -57,27 +57,6 @@ class AWS_LOCATIONSERVICE_API LocationServiceClient : public Aws::Client::AWSJso const Aws::LocationService::LocationServiceClientConfiguration& clientConfiguration = Aws::LocationService::LocationServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LocationServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LocationServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LocationServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LocationServiceClient(); /** @@ -2443,7 +2422,6 @@ class AWS_LOCATIONSERVICE_API LocationServiceClient : public Aws::Client::AWSJso return SubmitAsync(&LocationServiceClient::VerifyDevicePosition, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceClientConfiguration.h new file mode 100644 index 000000000000..f0a90650251b --- /dev/null +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LocationService { +struct AWS_LOCATIONSERVICE_API LocationServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LocationServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LocationServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LocationServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LocationServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadLocationServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LOCATIONSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LocationServiceClientConfiguration& config); +} // namespace LocationService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceEndpointProvider.h index c586a31e1fb1..96ac28d52ab3 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LocationService { namespace Endpoint { +using LocationServiceClientConfiguration = Aws::LocationService::LocationServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LocationServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LocationServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using LocationServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LOCATIONSERVICE_API LocationServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LocationServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LocationServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const LocationServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LocationServiceClientConfiguration& config); +}; /** * The type for the LocationService Client Endpoint Provider. @@ -34,6 +43,24 @@ using LocationServiceEndpointProviderBase = using LocationServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LocationService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LOCATIONSERVICE_EXTERN template class AWS_LOCATIONSERVICE_API Aws::Endpoint::EndpointProviderBase< + LocationService::Endpoint::LocationServiceClientConfiguration, LocationService::Endpoint::LocationServiceBuiltInParameters, + LocationService::Endpoint::LocationServiceClientContextParameters>; + +AWS_LOCATIONSERVICE_EXTERN template class AWS_LOCATIONSERVICE_API Aws::Endpoint::BDDEndpointProvider< + LocationService::Endpoint::LocationServiceClientConfiguration, LocationService::Endpoint::LocationServiceBuiltInParameters, + LocationService::Endpoint::LocationServiceClientContextParameters>; +} // namespace Endpoint + +namespace LocationService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceServiceClientModel.h index 63db2f317449..9d56ac2898ff 100644 --- a/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceServiceClientModel.h @@ -117,7 +117,6 @@ class RetryStrategy; } // namespace Client namespace LocationService { -using LocationServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using LocationServiceEndpointProviderBase = Aws::LocationService::Endpoint::LocationServiceEndpointProviderBase; using LocationServiceEndpointProvider = Aws::LocationService::Endpoint::LocationServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-location/source/LocationServiceClient.cpp b/generated/src/aws-cpp-sdk-location/source/LocationServiceClient.cpp index ab50e66f862c..5d29aa116615 100644 --- a/generated/src/aws-cpp-sdk-location/source/LocationServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-location/source/LocationServiceClient.cpp @@ -145,41 +145,6 @@ LocationServiceClient::LocationServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LocationServiceClient::LocationServiceClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LocationServiceClient::LocationServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LocationServiceClient::~LocationServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LocationServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -197,12 +162,7 @@ void LocationServiceClient::init(const LocationService::LocationServiceClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "geo"); -} - -void LocationServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LocationServiceClient::InvokeOperationOutcome LocationServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-location/source/LocationServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-location/source/LocationServiceClientConfiguration.cpp new file mode 100644 index 000000000000..3949a5d7ab3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-location/source/LocationServiceClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LocationService { + +void LocationServiceClientConfiguration::LoadLocationServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LocationServiceClientConfiguration::LocationServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLocationServiceSpecificConfig(this->profileName); +} + +LocationServiceClientConfiguration::LocationServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLocationServiceSpecificConfig(Aws::String(inputProfileName)); +} + +LocationServiceClientConfiguration::LocationServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLocationServiceSpecificConfig(this->profileName); +} + +LocationServiceClientConfiguration::LocationServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLocationServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LocationServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LocationService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-location/source/LocationServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-location/source/LocationServiceEndpointProvider.cpp index 576628e05237..d3a4ff744bff 100644 --- a/generated/src/aws-cpp-sdk-location/source/LocationServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-location/source/LocationServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LOCATIONSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LocationService { namespace Endpoint { LocationServiceEndpointProvider::LocationServiceEndpointProvider() : LocationServiceDefaultEpProviderBase(Aws::LocationService::LocationServiceEndpointRules::GetRulesBlob(), Aws::LocationService::LocationServiceEndpointRules::RulesBlobSize) {} +void LocationServiceBuiltInParameters::SetFromClientConfiguration(const LocationServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LocationServiceBuiltInParameters::SetFromClientConfiguration(const LocationServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LocationServiceBuiltInParameters::SetServiceSpecificParameters(const LocationServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LocationService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h index 3976e1ea9c84..ca667a3747e1 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClient.h @@ -85,27 +85,6 @@ class AWS_CLOUDWATCHLOGS_API CloudWatchLogsClient : public Aws::Client::AWSJsonC const Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration& clientConfiguration = Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudWatchLogsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudWatchLogsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudWatchLogsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudWatchLogsClient(); /** @@ -4521,7 +4500,6 @@ class AWS_CLOUDWATCHLOGS_API CloudWatchLogsClient : public Aws::Client::AWSJsonC return SubmitAsync(&CloudWatchLogsClient::UpdateScheduledQuery, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClientConfiguration.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClientConfiguration.h new file mode 100644 index 000000000000..ed5de2d7c3af --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudWatchLogs { +struct AWS_CLOUDWATCHLOGS_API CloudWatchLogsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudWatchLogsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchLogsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchLogsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudWatchLogsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadCloudWatchLogsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDWATCHLOGS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchLogsClientConfiguration& config); +} // namespace CloudWatchLogs +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsEndpointProvider.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsEndpointProvider.h index bf15c1b192c9..49757ca268e5 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace CloudWatchLogs { namespace Endpoint { +using CloudWatchLogsClientConfiguration = Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudWatchLogsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudWatchLogsClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudWatchLogsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDWATCHLOGS_API CloudWatchLogsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudWatchLogsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudWatchLogsClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudWatchLogsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudWatchLogsClientConfiguration& config); +}; /** * The type for the CloudWatchLogs Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudWatchLogsEndpointProviderBase = using CloudWatchLogsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudWatchLogs + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDWATCHLOGS_EXTERN template class AWS_CLOUDWATCHLOGS_API Aws::Endpoint::EndpointProviderBase< + CloudWatchLogs::Endpoint::CloudWatchLogsClientConfiguration, CloudWatchLogs::Endpoint::CloudWatchLogsBuiltInParameters, + CloudWatchLogs::Endpoint::CloudWatchLogsClientContextParameters>; + +AWS_CLOUDWATCHLOGS_EXTERN template class AWS_CLOUDWATCHLOGS_API Aws::Endpoint::BDDEndpointProvider< + CloudWatchLogs::Endpoint::CloudWatchLogsClientConfiguration, CloudWatchLogs::Endpoint::CloudWatchLogsBuiltInParameters, + CloudWatchLogs::Endpoint::CloudWatchLogsClientContextParameters>; +} // namespace Endpoint + +namespace CloudWatchLogs { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h index 7c58b88dd885..1368444e737b 100644 --- a/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsServiceClientModel.h @@ -153,7 +153,6 @@ class RetryStrategy; } // namespace Client namespace CloudWatchLogs { -using CloudWatchLogsClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudWatchLogsEndpointProviderBase = Aws::CloudWatchLogs::Endpoint::CloudWatchLogsEndpointProviderBase; using CloudWatchLogsEndpointProvider = Aws::CloudWatchLogs::Endpoint::CloudWatchLogsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp index 2035bedd9af0..69a2390b33a8 100644 --- a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClient.cpp @@ -194,41 +194,6 @@ CloudWatchLogsClient::CloudWatchLogsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchLogsClient::CloudWatchLogsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchLogsClient::CloudWatchLogsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudWatchLogsClient::~CloudWatchLogsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudWatchLogsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -246,12 +211,7 @@ void CloudWatchLogsClient::init(const CloudWatchLogs::CloudWatchLogsClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "logs"); -} - -void CloudWatchLogsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudWatchLogsClient::InvokeOperationOutcome CloudWatchLogsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClientConfiguration.cpp new file mode 100644 index 000000000000..219f4a823b2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudWatchLogs { + +void CloudWatchLogsClientConfiguration::LoadCloudWatchLogsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudWatchLogsClientConfiguration::CloudWatchLogsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudWatchLogsSpecificConfig(this->profileName); +} + +CloudWatchLogsClientConfiguration::CloudWatchLogsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudWatchLogsSpecificConfig(Aws::String(inputProfileName)); +} + +CloudWatchLogsClientConfiguration::CloudWatchLogsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudWatchLogsSpecificConfig(this->profileName); +} + +CloudWatchLogsClientConfiguration::CloudWatchLogsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudWatchLogsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchLogsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudWatchLogs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsEndpointProvider.cpp index 85b35fca5e4c..eae1fbb17a37 100644 --- a/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDWATCHLOGS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudWatchLogs { namespace Endpoint { CloudWatchLogsEndpointProvider::CloudWatchLogsEndpointProvider() : CloudWatchLogsDefaultEpProviderBase(Aws::CloudWatchLogs::CloudWatchLogsEndpointRules::GetRulesBlob(), Aws::CloudWatchLogs::CloudWatchLogsEndpointRules::RulesBlobSize) {} +void CloudWatchLogsBuiltInParameters::SetFromClientConfiguration(const CloudWatchLogsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudWatchLogsBuiltInParameters::SetFromClientConfiguration(const CloudWatchLogsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudWatchLogsBuiltInParameters::SetServiceSpecificParameters(const CloudWatchLogsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudWatchLogs } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentClient.h b/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentClient.h index 94b7855df78b..243ad76d32d2 100644 --- a/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentClient.h +++ b/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentClient.h @@ -58,27 +58,6 @@ class AWS_LOOKOUTEQUIPMENT_API LookoutEquipmentClient : public Aws::Client::AWSJ const Aws::LookoutEquipment::LookoutEquipmentClientConfiguration& clientConfiguration = Aws::LookoutEquipment::LookoutEquipmentClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - LookoutEquipmentClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - LookoutEquipmentClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - LookoutEquipmentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~LookoutEquipmentClient(); /** @@ -1429,7 +1408,6 @@ class AWS_LOOKOUTEQUIPMENT_API LookoutEquipmentClient : public Aws::Client::AWSJ return SubmitAsync(&LookoutEquipmentClient::UpdateRetrainingScheduler, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentClientConfiguration.h b/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentClientConfiguration.h new file mode 100644 index 000000000000..bcad523a41b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace LookoutEquipment { +struct AWS_LOOKOUTEQUIPMENT_API LookoutEquipmentClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + LookoutEquipmentClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LookoutEquipmentClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + LookoutEquipmentClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit LookoutEquipmentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadLookoutEquipmentSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_LOOKOUTEQUIPMENT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const LookoutEquipmentClientConfiguration& config); +} // namespace LookoutEquipment +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentEndpointProvider.h b/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentEndpointProvider.h index d1002ef28c13..feb22389deb9 100644 --- a/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace LookoutEquipment { namespace Endpoint { +using LookoutEquipmentClientConfiguration = Aws::LookoutEquipment::LookoutEquipmentClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using LookoutEquipmentClientContextParameters = Aws::Endpoint::ClientContextParameters; -using LookoutEquipmentClientConfiguration = Aws::Client::GenericClientConfiguration; -using LookoutEquipmentBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_LOOKOUTEQUIPMENT_API LookoutEquipmentBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~LookoutEquipmentBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const LookoutEquipmentClientConfiguration& config); + virtual void SetFromClientConfiguration(const LookoutEquipmentClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const LookoutEquipmentClientConfiguration& config); +}; /** * The type for the LookoutEquipment Client Endpoint Provider. @@ -34,6 +43,24 @@ using LookoutEquipmentEndpointProviderBase = using LookoutEquipmentDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace LookoutEquipment + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_LOOKOUTEQUIPMENT_EXTERN template class AWS_LOOKOUTEQUIPMENT_API Aws::Endpoint::EndpointProviderBase< + LookoutEquipment::Endpoint::LookoutEquipmentClientConfiguration, LookoutEquipment::Endpoint::LookoutEquipmentBuiltInParameters, + LookoutEquipment::Endpoint::LookoutEquipmentClientContextParameters>; + +AWS_LOOKOUTEQUIPMENT_EXTERN template class AWS_LOOKOUTEQUIPMENT_API Aws::Endpoint::BDDEndpointProvider< + LookoutEquipment::Endpoint::LookoutEquipmentClientConfiguration, LookoutEquipment::Endpoint::LookoutEquipmentBuiltInParameters, + LookoutEquipment::Endpoint::LookoutEquipmentClientContextParameters>; +} // namespace Endpoint + +namespace LookoutEquipment { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentServiceClientModel.h b/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentServiceClientModel.h index 63a8bb979374..39e05e638608 100644 --- a/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentServiceClientModel.h @@ -91,7 +91,6 @@ class RetryStrategy; } // namespace Client namespace LookoutEquipment { -using LookoutEquipmentClientConfiguration = Aws::Client::GenericClientConfiguration; using LookoutEquipmentEndpointProviderBase = Aws::LookoutEquipment::Endpoint::LookoutEquipmentEndpointProviderBase; using LookoutEquipmentEndpointProvider = Aws::LookoutEquipment::Endpoint::LookoutEquipmentEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentClient.cpp b/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentClient.cpp index e1463ddf53a2..222ec079e078 100644 --- a/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentClient.cpp +++ b/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentClient.cpp @@ -130,42 +130,6 @@ LookoutEquipmentClient::LookoutEquipmentClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LookoutEquipmentClient::LookoutEquipmentClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -LookoutEquipmentClient::LookoutEquipmentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ LookoutEquipmentClient::~LookoutEquipmentClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& LookoutEquipmentClient::accessEndpointProvider() { return m_endpointProvider; } @@ -183,12 +147,7 @@ void LookoutEquipmentClient::init(const LookoutEquipment::LookoutEquipmentClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "lookoutequipment"); -} - -void LookoutEquipmentClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } LookoutEquipmentClient::InvokeOperationOutcome LookoutEquipmentClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentClientConfiguration.cpp b/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentClientConfiguration.cpp new file mode 100644 index 000000000000..a5cfd4fa46b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace LookoutEquipment { + +void LookoutEquipmentClientConfiguration::LoadLookoutEquipmentSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +LookoutEquipmentClientConfiguration::LookoutEquipmentClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadLookoutEquipmentSpecificConfig(this->profileName); +} + +LookoutEquipmentClientConfiguration::LookoutEquipmentClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadLookoutEquipmentSpecificConfig(Aws::String(inputProfileName)); +} + +LookoutEquipmentClientConfiguration::LookoutEquipmentClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadLookoutEquipmentSpecificConfig(this->profileName); +} + +LookoutEquipmentClientConfiguration::LookoutEquipmentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadLookoutEquipmentSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const LookoutEquipmentClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace LookoutEquipment +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentEndpointProvider.cpp b/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentEndpointProvider.cpp index f58e98ed90fd..6ec5bff87fc8 100644 --- a/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_LOOKOUTEQUIPMENT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace LookoutEquipment { namespace Endpoint { LookoutEquipmentEndpointProvider::LookoutEquipmentEndpointProvider() : LookoutEquipmentDefaultEpProviderBase(Aws::LookoutEquipment::LookoutEquipmentEndpointRules::GetRulesBlob(), Aws::LookoutEquipment::LookoutEquipmentEndpointRules::RulesBlobSize) {} +void LookoutEquipmentBuiltInParameters::SetFromClientConfiguration(const LookoutEquipmentClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void LookoutEquipmentBuiltInParameters::SetFromClientConfiguration(const LookoutEquipmentClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void LookoutEquipmentBuiltInParameters::SetServiceSpecificParameters(const LookoutEquipmentClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace LookoutEquipment } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationClient.h b/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationClient.h index f2ec02d4807a..0690ed7918de 100644 --- a/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationClient.h +++ b/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationClient.h @@ -62,27 +62,6 @@ class AWS_MAINFRAMEMODERNIZATION_API MainframeModernizationClient const Aws::MainframeModernization::MainframeModernizationClientConfiguration& clientConfiguration = Aws::MainframeModernization::MainframeModernizationClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MainframeModernizationClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MainframeModernizationClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MainframeModernizationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MainframeModernizationClient(); /** @@ -1101,7 +1080,6 @@ class AWS_MAINFRAMEMODERNIZATION_API MainframeModernizationClient return SubmitAsync(&MainframeModernizationClient::UpdateEnvironment, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationClientConfiguration.h b/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationClientConfiguration.h new file mode 100644 index 000000000000..dd88bdcce3f1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MainframeModernization { +struct AWS_MAINFRAMEMODERNIZATION_API MainframeModernizationClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MainframeModernizationClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MainframeModernizationClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MainframeModernizationClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MainframeModernizationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMainframeModernizationSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MAINFRAMEMODERNIZATION_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MainframeModernizationClientConfiguration& config); +} // namespace MainframeModernization +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationEndpointProvider.h b/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationEndpointProvider.h index c4771a4a9372..6653cb8ffc92 100644 --- a/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MainframeModernization { namespace Endpoint { +using MainframeModernizationClientConfiguration = Aws::MainframeModernization::MainframeModernizationClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MainframeModernizationClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MainframeModernizationClientConfiguration = Aws::Client::GenericClientConfiguration; -using MainframeModernizationBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MAINFRAMEMODERNIZATION_API MainframeModernizationBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MainframeModernizationBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MainframeModernizationClientConfiguration& config); + virtual void SetFromClientConfiguration(const MainframeModernizationClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MainframeModernizationClientConfiguration& config); +}; /** * The type for the MainframeModernization Client Endpoint Provider. @@ -36,6 +45,26 @@ using MainframeModernizationDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MainframeModernization + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MAINFRAMEMODERNIZATION_EXTERN template class AWS_MAINFRAMEMODERNIZATION_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MAINFRAMEMODERNIZATION_EXTERN template class AWS_MAINFRAMEMODERNIZATION_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MainframeModernization { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationServiceClientModel.h b/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationServiceClientModel.h index 733ee596c21c..642e14954cd3 100644 --- a/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationServiceClientModel.h @@ -87,7 +87,6 @@ class RetryStrategy; } // namespace Client namespace MainframeModernization { -using MainframeModernizationClientConfiguration = Aws::Client::GenericClientConfiguration; using MainframeModernizationEndpointProviderBase = Aws::MainframeModernization::Endpoint::MainframeModernizationEndpointProviderBase; using MainframeModernizationEndpointProvider = Aws::MainframeModernization::Endpoint::MainframeModernizationEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationClient.cpp b/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationClient.cpp index 58dd9253b366..c2eefcf98db2 100644 --- a/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationClient.cpp +++ b/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationClient.cpp @@ -120,42 +120,6 @@ MainframeModernizationClient::MainframeModernizationClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MainframeModernizationClient::MainframeModernizationClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MainframeModernizationClient::MainframeModernizationClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MainframeModernizationClient::MainframeModernizationClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MainframeModernizationClient::~MainframeModernizationClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MainframeModernizationClient::accessEndpointProvider() { @@ -175,12 +139,7 @@ void MainframeModernizationClient::init(const MainframeModernization::MainframeM AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "m2"); -} - -void MainframeModernizationClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MainframeModernizationClient::InvokeOperationOutcome MainframeModernizationClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationClientConfiguration.cpp b/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationClientConfiguration.cpp new file mode 100644 index 000000000000..0235c1b840ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MainframeModernization { + +void MainframeModernizationClientConfiguration::LoadMainframeModernizationSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MainframeModernizationClientConfiguration::MainframeModernizationClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMainframeModernizationSpecificConfig(this->profileName); +} + +MainframeModernizationClientConfiguration::MainframeModernizationClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMainframeModernizationSpecificConfig(Aws::String(inputProfileName)); +} + +MainframeModernizationClientConfiguration::MainframeModernizationClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMainframeModernizationSpecificConfig(this->profileName); +} + +MainframeModernizationClientConfiguration::MainframeModernizationClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMainframeModernizationSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MainframeModernizationClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MainframeModernization +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationEndpointProvider.cpp b/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationEndpointProvider.cpp index 4bbde776e4c0..b005ec25f2a7 100644 --- a/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-m2/source/MainframeModernizationEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MAINFRAMEMODERNIZATION_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MainframeModernization { namespace Endpoint { MainframeModernizationEndpointProvider::MainframeModernizationEndpointProvider() : MainframeModernizationDefaultEpProviderBase(Aws::MainframeModernization::MainframeModernizationEndpointRules::GetRulesBlob(), Aws::MainframeModernization::MainframeModernizationEndpointRules::RulesBlobSize) {} +void MainframeModernizationBuiltInParameters::SetFromClientConfiguration(const MainframeModernizationClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MainframeModernizationBuiltInParameters::SetFromClientConfiguration(const MainframeModernizationClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MainframeModernizationBuiltInParameters::SetServiceSpecificParameters(const MainframeModernizationClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MainframeModernization } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningClient.h b/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningClient.h index 9622ef8acfe7..ee9b98eafb13 100644 --- a/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningClient.h +++ b/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningClient.h @@ -56,27 +56,6 @@ class AWS_MACHINELEARNING_API MachineLearningClient : public Aws::Client::AWSJso const Aws::MachineLearning::MachineLearningClientConfiguration& clientConfiguration = Aws::MachineLearning::MachineLearningClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MachineLearningClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MachineLearningClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MachineLearningClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MachineLearningClient(); /** @@ -989,7 +968,6 @@ class AWS_MACHINELEARNING_API MachineLearningClient : public Aws::Client::AWSJso return SubmitAsync(&MachineLearningClient::UpdateMLModel, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningClientConfiguration.h b/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningClientConfiguration.h new file mode 100644 index 000000000000..0e1ae71c7d88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MachineLearning { +struct AWS_MACHINELEARNING_API MachineLearningClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MachineLearningClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MachineLearningClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MachineLearningClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MachineLearningClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMachineLearningSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MACHINELEARNING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MachineLearningClientConfiguration& config); +} // namespace MachineLearning +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningEndpointProvider.h b/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningEndpointProvider.h index a57cc8a77d9d..3dce5bd9cc79 100644 --- a/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MachineLearning { namespace Endpoint { +using MachineLearningClientConfiguration = Aws::MachineLearning::MachineLearningClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MachineLearningClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MachineLearningClientConfiguration = Aws::Client::GenericClientConfiguration; -using MachineLearningBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MACHINELEARNING_API MachineLearningBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MachineLearningBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MachineLearningClientConfiguration& config); + virtual void SetFromClientConfiguration(const MachineLearningClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MachineLearningClientConfiguration& config); +}; /** * The type for the MachineLearning Client Endpoint Provider. @@ -34,6 +43,24 @@ using MachineLearningEndpointProviderBase = using MachineLearningDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MachineLearning + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MACHINELEARNING_EXTERN template class AWS_MACHINELEARNING_API Aws::Endpoint::EndpointProviderBase< + MachineLearning::Endpoint::MachineLearningClientConfiguration, MachineLearning::Endpoint::MachineLearningBuiltInParameters, + MachineLearning::Endpoint::MachineLearningClientContextParameters>; + +AWS_MACHINELEARNING_EXTERN template class AWS_MACHINELEARNING_API Aws::Endpoint::BDDEndpointProvider< + MachineLearning::Endpoint::MachineLearningClientConfiguration, MachineLearning::Endpoint::MachineLearningBuiltInParameters, + MachineLearning::Endpoint::MachineLearningClientContextParameters>; +} // namespace Endpoint + +namespace MachineLearning { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningServiceClientModel.h b/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningServiceClientModel.h index 1f2a3d478122..7f30d024e3f0 100644 --- a/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningServiceClientModel.h @@ -78,7 +78,6 @@ class RetryStrategy; } // namespace Client namespace MachineLearning { -using MachineLearningClientConfiguration = Aws::Client::GenericClientConfiguration; using MachineLearningEndpointProviderBase = Aws::MachineLearning::Endpoint::MachineLearningEndpointProviderBase; using MachineLearningEndpointProvider = Aws::MachineLearning::Endpoint::MachineLearningEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningClient.cpp b/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningClient.cpp index 2ece6f0f148c..0f17025b7249 100644 --- a/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningClient.cpp +++ b/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningClient.cpp @@ -108,41 +108,6 @@ MachineLearningClient::MachineLearningClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MachineLearningClient::MachineLearningClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MachineLearningClient::MachineLearningClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MachineLearningClient::~MachineLearningClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MachineLearningClient::accessEndpointProvider() { return m_endpointProvider; } @@ -160,12 +125,7 @@ void MachineLearningClient::init(const MachineLearning::MachineLearningClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "machinelearning"); -} - -void MachineLearningClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AddTagsOutcome MachineLearningClient::AddTags(const AddTagsRequest& request) const { diff --git a/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningClientConfiguration.cpp b/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningClientConfiguration.cpp new file mode 100644 index 000000000000..49fc0e9bac32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MachineLearning { + +void MachineLearningClientConfiguration::LoadMachineLearningSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MachineLearningClientConfiguration::MachineLearningClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMachineLearningSpecificConfig(this->profileName); +} + +MachineLearningClientConfiguration::MachineLearningClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMachineLearningSpecificConfig(Aws::String(inputProfileName)); +} + +MachineLearningClientConfiguration::MachineLearningClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMachineLearningSpecificConfig(this->profileName); +} + +MachineLearningClientConfiguration::MachineLearningClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMachineLearningSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MachineLearningClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MachineLearning +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningEndpointProvider.cpp b/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningEndpointProvider.cpp index f5b043a94bfa..aa3bdfeb0465 100644 --- a/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MACHINELEARNING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MachineLearning { namespace Endpoint { MachineLearningEndpointProvider::MachineLearningEndpointProvider() : MachineLearningDefaultEpProviderBase(Aws::MachineLearning::MachineLearningEndpointRules::GetRulesBlob(), Aws::MachineLearning::MachineLearningEndpointRules::RulesBlobSize) {} +void MachineLearningBuiltInParameters::SetFromClientConfiguration(const MachineLearningClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MachineLearningBuiltInParameters::SetFromClientConfiguration(const MachineLearningClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MachineLearningBuiltInParameters::SetServiceSpecificParameters(const MachineLearningClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MachineLearning } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2Client.h b/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2Client.h index 15b2b8a62ff0..00ac8d7b0673 100644 --- a/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2Client.h +++ b/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2Client.h @@ -52,27 +52,6 @@ class AWS_MACIE2_API Macie2Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Macie2::Macie2ClientConfiguration& clientConfiguration = Aws::Macie2::Macie2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Macie2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Macie2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Macie2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Macie2Client(); /** @@ -2358,7 +2337,6 @@ class AWS_MACIE2_API Macie2Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&Macie2Client::UpdateSensitivityInspectionTemplate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2ClientConfiguration.h b/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2ClientConfiguration.h new file mode 100644 index 000000000000..a368cf27ed7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Macie2 { +struct AWS_MACIE2_API Macie2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Macie2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Macie2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Macie2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Macie2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMacie2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MACIE2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Macie2ClientConfiguration& config); +} // namespace Macie2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2EndpointProvider.h b/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2EndpointProvider.h index c3a9fa524489..4f1278c41219 100644 --- a/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Macie2 { namespace Endpoint { +using Macie2ClientConfiguration = Aws::Macie2::Macie2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Macie2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Macie2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using Macie2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MACIE2_API Macie2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Macie2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Macie2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const Macie2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Macie2ClientConfiguration& config); +}; /** * The type for the Macie2 Client Endpoint Provider. @@ -32,6 +41,24 @@ using Macie2EndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Macie2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MACIE2_EXTERN template class AWS_MACIE2_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MACIE2_EXTERN template class AWS_MACIE2_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Macie2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2ServiceClientModel.h b/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2ServiceClientModel.h index e25e90b491d1..c404e061c8dc 100644 --- a/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2ServiceClientModel.h @@ -162,7 +162,6 @@ class RetryStrategy; } // namespace Client namespace Macie2 { -using Macie2ClientConfiguration = Aws::Client::GenericClientConfiguration; using Macie2EndpointProviderBase = Aws::Macie2::Endpoint::Macie2EndpointProviderBase; using Macie2EndpointProvider = Aws::Macie2::Endpoint::Macie2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-macie2/source/Macie2Client.cpp b/generated/src/aws-cpp-sdk-macie2/source/Macie2Client.cpp index 8dce304f141a..95f744bd7998 100644 --- a/generated/src/aws-cpp-sdk-macie2/source/Macie2Client.cpp +++ b/generated/src/aws-cpp-sdk-macie2/source/Macie2Client.cpp @@ -158,41 +158,6 @@ Macie2Client::Macie2Client(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -Macie2Client::Macie2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Macie2Client::Macie2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Macie2Client::Macie2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Macie2Client::~Macie2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& Macie2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -210,12 +175,7 @@ void Macie2Client::init(const Macie2::Macie2ClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "macie2"); -} - -void Macie2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Macie2Client::InvokeOperationOutcome Macie2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-macie2/source/Macie2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-macie2/source/Macie2ClientConfiguration.cpp new file mode 100644 index 000000000000..ca211233e320 --- /dev/null +++ b/generated/src/aws-cpp-sdk-macie2/source/Macie2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Macie2 { + +void Macie2ClientConfiguration::LoadMacie2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Macie2ClientConfiguration::Macie2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMacie2SpecificConfig(this->profileName); +} + +Macie2ClientConfiguration::Macie2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMacie2SpecificConfig(Aws::String(inputProfileName)); +} + +Macie2ClientConfiguration::Macie2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMacie2SpecificConfig(this->profileName); +} + +Macie2ClientConfiguration::Macie2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMacie2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Macie2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Macie2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-macie2/source/Macie2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-macie2/source/Macie2EndpointProvider.cpp index a61e36bc1cc0..1cef03146fc6 100644 --- a/generated/src/aws-cpp-sdk-macie2/source/Macie2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-macie2/source/Macie2EndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_MACIE2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Macie2 { namespace Endpoint { Macie2EndpointProvider::Macie2EndpointProvider() : Macie2DefaultEpProviderBase(Aws::Macie2::Macie2EndpointRules::GetRulesBlob(), Aws::Macie2::Macie2EndpointRules::RulesBlobSize) {} +void Macie2BuiltInParameters::SetFromClientConfiguration(const Macie2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Macie2BuiltInParameters::SetFromClientConfiguration(const Macie2ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Macie2BuiltInParameters::SetServiceSpecificParameters(const Macie2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Macie2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClient.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClient.h index db9f2c64970f..b2263511dfbd 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClient.h +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClient.h @@ -63,27 +63,6 @@ class AWS_MAILMANAGER_API MailManagerClient : public Aws::Client::AWSRpcV2CborCl std::shared_ptr endpointProvider = nullptr, const Aws::MailManager::MailManagerClientConfiguration& clientConfiguration = Aws::MailManager::MailManagerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MailManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MailManagerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MailManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MailManagerClient(); /** @@ -1689,7 +1668,6 @@ class AWS_MAILMANAGER_API MailManagerClient : public Aws::Client::AWSRpcV2CborCl return SubmitAsync(&MailManagerClient::UpdateTrafficPolicy, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClientConfiguration.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClientConfiguration.h new file mode 100644 index 000000000000..51d1e97d8611 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MailManager { +struct AWS_MAILMANAGER_API MailManagerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MailManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MailManagerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MailManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MailManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMailManagerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MAILMANAGER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MailManagerClientConfiguration& config); +} // namespace MailManager +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerEndpointProvider.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerEndpointProvider.h index 566242973bd1..57271ac514a5 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MailManager { namespace Endpoint { +using MailManagerClientConfiguration = Aws::MailManager::MailManagerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MailManagerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MailManagerClientConfiguration = Aws::Client::GenericClientConfiguration; -using MailManagerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MAILMANAGER_API MailManagerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MailManagerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MailManagerClientConfiguration& config); + virtual void SetFromClientConfiguration(const MailManagerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MailManagerClientConfiguration& config); +}; /** * The type for the MailManager Client Endpoint Provider. @@ -34,6 +43,24 @@ using MailManagerEndpointProviderBase = using MailManagerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MailManager + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MAILMANAGER_EXTERN template class AWS_MAILMANAGER_API Aws::Endpoint::EndpointProviderBase< + MailManager::Endpoint::MailManagerClientConfiguration, MailManager::Endpoint::MailManagerBuiltInParameters, + MailManager::Endpoint::MailManagerClientContextParameters>; + +AWS_MAILMANAGER_EXTERN template class AWS_MAILMANAGER_API Aws::Endpoint::BDDEndpointProvider< + MailManager::Endpoint::MailManagerClientConfiguration, MailManager::Endpoint::MailManagerBuiltInParameters, + MailManager::Endpoint::MailManagerClientContextParameters>; +} // namespace Endpoint + +namespace MailManager { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerServiceClientModel.h index 75d56b9acc62..e22df35d3fb5 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerServiceClientModel.h @@ -114,7 +114,6 @@ class RetryStrategy; } // namespace Client namespace MailManager { -using MailManagerClientConfiguration = Aws::Client::GenericClientConfiguration; using MailManagerEndpointProviderBase = Aws::MailManager::Endpoint::MailManagerEndpointProviderBase; using MailManagerEndpointProvider = Aws::MailManager::Endpoint::MailManagerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClient.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClient.cpp index 0496d300349e..903a6beb7dd2 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClient.cpp @@ -137,41 +137,6 @@ MailManagerClient::MailManagerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MailManagerClient::MailManagerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MailManagerClient::MailManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MailManagerClient::~MailManagerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MailManagerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -189,12 +154,7 @@ void MailManagerClient::init(const MailManager::MailManagerClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ses"); -} - -void MailManagerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MailManagerClient::InvokeOperationOutcome MailManagerClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClientConfiguration.cpp new file mode 100644 index 000000000000..ebc3158d930f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MailManager { + +void MailManagerClientConfiguration::LoadMailManagerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MailManagerClientConfiguration::MailManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMailManagerSpecificConfig(this->profileName); +} + +MailManagerClientConfiguration::MailManagerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMailManagerSpecificConfig(Aws::String(inputProfileName)); +} + +MailManagerClientConfiguration::MailManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMailManagerSpecificConfig(this->profileName); +} + +MailManagerClientConfiguration::MailManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMailManagerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MailManagerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MailManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerEndpointProvider.cpp index 2ce3904041da..c504fb76e627 100644 --- a/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mailmanager/source/MailManagerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MAILMANAGER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MailManager { namespace Endpoint { MailManagerEndpointProvider::MailManagerEndpointProvider() : MailManagerDefaultEpProviderBase(Aws::MailManager::MailManagerEndpointRules::GetRulesBlob(), Aws::MailManager::MailManagerEndpointRules::RulesBlobSize) {} +void MailManagerBuiltInParameters::SetFromClientConfiguration(const MailManagerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MailManagerBuiltInParameters::SetFromClientConfiguration(const MailManagerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MailManagerBuiltInParameters::SetServiceSpecificParameters(const MailManagerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MailManager } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryClient.h b/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryClient.h index 639fab9f8056..71ba8d6cdea3 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryClient.h +++ b/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryClient.h @@ -65,27 +65,6 @@ class AWS_MANAGEDBLOCKCHAINQUERY_API ManagedBlockchainQueryClient const Aws::ManagedBlockchainQuery::ManagedBlockchainQueryClientConfiguration& clientConfiguration = Aws::ManagedBlockchainQuery::ManagedBlockchainQueryClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ManagedBlockchainQueryClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ManagedBlockchainQueryClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ManagedBlockchainQueryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ManagedBlockchainQueryClient(); /** @@ -354,7 +333,6 @@ class AWS_MANAGEDBLOCKCHAINQUERY_API ManagedBlockchainQueryClient return SubmitAsync(&ManagedBlockchainQueryClient::ListTransactions, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryClientConfiguration.h b/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryClientConfiguration.h new file mode 100644 index 000000000000..f2cf5b6baabf --- /dev/null +++ b/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ManagedBlockchainQuery { +struct AWS_MANAGEDBLOCKCHAINQUERY_API ManagedBlockchainQueryClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ManagedBlockchainQueryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ManagedBlockchainQueryClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ManagedBlockchainQueryClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ManagedBlockchainQueryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadManagedBlockchainQuerySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MANAGEDBLOCKCHAINQUERY_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ManagedBlockchainQueryClientConfiguration& config); +} // namespace ManagedBlockchainQuery +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryEndpointProvider.h b/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryEndpointProvider.h index 65cc6dae1a6d..7dd97ed26048 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ManagedBlockchainQuery { namespace Endpoint { +using ManagedBlockchainQueryClientConfiguration = Aws::ManagedBlockchainQuery::ManagedBlockchainQueryClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ManagedBlockchainQueryClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ManagedBlockchainQueryClientConfiguration = Aws::Client::GenericClientConfiguration; -using ManagedBlockchainQueryBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MANAGEDBLOCKCHAINQUERY_API ManagedBlockchainQueryBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ManagedBlockchainQueryBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ManagedBlockchainQueryClientConfiguration& config); + virtual void SetFromClientConfiguration(const ManagedBlockchainQueryClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ManagedBlockchainQueryClientConfiguration& config); +}; /** * The type for the ManagedBlockchainQuery Client Endpoint Provider. @@ -36,6 +45,26 @@ using ManagedBlockchainQueryDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ManagedBlockchainQuery + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MANAGEDBLOCKCHAINQUERY_EXTERN template class AWS_MANAGEDBLOCKCHAINQUERY_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MANAGEDBLOCKCHAINQUERY_EXTERN template class AWS_MANAGEDBLOCKCHAINQUERY_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ManagedBlockchainQuery { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryServiceClientModel.h b/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryServiceClientModel.h index 65e0a30c15c1..3e4cba25d17d 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryServiceClientModel.h @@ -56,7 +56,6 @@ class RetryStrategy; } // namespace Client namespace ManagedBlockchainQuery { -using ManagedBlockchainQueryClientConfiguration = Aws::Client::GenericClientConfiguration; using ManagedBlockchainQueryEndpointProviderBase = Aws::ManagedBlockchainQuery::Endpoint::ManagedBlockchainQueryEndpointProviderBase; using ManagedBlockchainQueryEndpointProvider = Aws::ManagedBlockchainQuery::Endpoint::ManagedBlockchainQueryEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryClient.cpp b/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryClient.cpp index 0f100ca900e7..526687d43575 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryClient.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryClient.cpp @@ -92,42 +92,6 @@ ManagedBlockchainQueryClient::ManagedBlockchainQueryClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ManagedBlockchainQueryClient::ManagedBlockchainQueryClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ManagedBlockchainQueryClient::ManagedBlockchainQueryClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ManagedBlockchainQueryClient::ManagedBlockchainQueryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ManagedBlockchainQueryClient::~ManagedBlockchainQueryClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ManagedBlockchainQueryClient::accessEndpointProvider() { @@ -147,12 +111,7 @@ void ManagedBlockchainQueryClient::init(const ManagedBlockchainQuery::ManagedBlo AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "managedblockchain-query"); -} - -void ManagedBlockchainQueryClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ManagedBlockchainQueryClient::InvokeOperationOutcome ManagedBlockchainQueryClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryClientConfiguration.cpp b/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryClientConfiguration.cpp new file mode 100644 index 000000000000..11bf96493439 --- /dev/null +++ b/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ManagedBlockchainQuery { + +void ManagedBlockchainQueryClientConfiguration::LoadManagedBlockchainQuerySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ManagedBlockchainQueryClientConfiguration::ManagedBlockchainQueryClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadManagedBlockchainQuerySpecificConfig(this->profileName); +} + +ManagedBlockchainQueryClientConfiguration::ManagedBlockchainQueryClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadManagedBlockchainQuerySpecificConfig(Aws::String(inputProfileName)); +} + +ManagedBlockchainQueryClientConfiguration::ManagedBlockchainQueryClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadManagedBlockchainQuerySpecificConfig(this->profileName); +} + +ManagedBlockchainQueryClientConfiguration::ManagedBlockchainQueryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadManagedBlockchainQuerySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ManagedBlockchainQueryClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ManagedBlockchainQuery +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryEndpointProvider.cpp b/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryEndpointProvider.cpp index df3a4bb111fb..75159ca16535 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MANAGEDBLOCKCHAINQUERY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ManagedBlockchainQuery { namespace Endpoint { ManagedBlockchainQueryEndpointProvider::ManagedBlockchainQueryEndpointProvider() : ManagedBlockchainQueryDefaultEpProviderBase(Aws::ManagedBlockchainQuery::ManagedBlockchainQueryEndpointRules::GetRulesBlob(), Aws::ManagedBlockchainQuery::ManagedBlockchainQueryEndpointRules::RulesBlobSize) {} +void ManagedBlockchainQueryBuiltInParameters::SetFromClientConfiguration(const ManagedBlockchainQueryClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ManagedBlockchainQueryBuiltInParameters::SetFromClientConfiguration(const ManagedBlockchainQueryClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ManagedBlockchainQueryBuiltInParameters::SetServiceSpecificParameters(const ManagedBlockchainQueryClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ManagedBlockchainQuery } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClient.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClient.h index c64937614dfc..7841c85b4ee6 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClient.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClient.h @@ -67,27 +67,6 @@ class AWS_MANAGEDBLOCKCHAIN_API ManagedBlockchainClient : public Aws::Client::AW const Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration& clientConfiguration = Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ManagedBlockchainClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ManagedBlockchainClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ManagedBlockchainClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ManagedBlockchainClient(); /** @@ -849,7 +828,6 @@ class AWS_MANAGEDBLOCKCHAIN_API ManagedBlockchainClient : public Aws::Client::AW return SubmitAsync(&ManagedBlockchainClient::VoteOnProposal, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClientConfiguration.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClientConfiguration.h new file mode 100644 index 000000000000..b0beb1292146 --- /dev/null +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ManagedBlockchain { +struct AWS_MANAGEDBLOCKCHAIN_API ManagedBlockchainClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ManagedBlockchainClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ManagedBlockchainClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ManagedBlockchainClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ManagedBlockchainClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadManagedBlockchainSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MANAGEDBLOCKCHAIN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ManagedBlockchainClientConfiguration& config); +} // namespace ManagedBlockchain +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainEndpointProvider.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainEndpointProvider.h index fa0a471b802c..34e89f626314 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ManagedBlockchain { namespace Endpoint { +using ManagedBlockchainClientConfiguration = Aws::ManagedBlockchain::ManagedBlockchainClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ManagedBlockchainClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ManagedBlockchainClientConfiguration = Aws::Client::GenericClientConfiguration; -using ManagedBlockchainBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MANAGEDBLOCKCHAIN_API ManagedBlockchainBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ManagedBlockchainBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ManagedBlockchainClientConfiguration& config); + virtual void SetFromClientConfiguration(const ManagedBlockchainClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ManagedBlockchainClientConfiguration& config); +}; /** * The type for the ManagedBlockchain Client Endpoint Provider. @@ -34,6 +43,24 @@ using ManagedBlockchainEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace ManagedBlockchain + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MANAGEDBLOCKCHAIN_EXTERN template class AWS_MANAGEDBLOCKCHAIN_API Aws::Endpoint::EndpointProviderBase< + ManagedBlockchain::Endpoint::ManagedBlockchainClientConfiguration, ManagedBlockchain::Endpoint::ManagedBlockchainBuiltInParameters, + ManagedBlockchain::Endpoint::ManagedBlockchainClientContextParameters>; + +AWS_MANAGEDBLOCKCHAIN_EXTERN template class AWS_MANAGEDBLOCKCHAIN_API Aws::Endpoint::BDDEndpointProvider< + ManagedBlockchain::Endpoint::ManagedBlockchainClientConfiguration, ManagedBlockchain::Endpoint::ManagedBlockchainBuiltInParameters, + ManagedBlockchain::Endpoint::ManagedBlockchainClientContextParameters>; +} // namespace Endpoint + +namespace ManagedBlockchain { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainServiceClientModel.h b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainServiceClientModel.h index 5491f335cf8a..a20f7ec02e37 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace ManagedBlockchain { -using ManagedBlockchainClientConfiguration = Aws::Client::GenericClientConfiguration; using ManagedBlockchainEndpointProviderBase = Aws::ManagedBlockchain::Endpoint::ManagedBlockchainEndpointProviderBase; using ManagedBlockchainEndpointProvider = Aws::ManagedBlockchain::Endpoint::ManagedBlockchainEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainClient.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainClient.cpp index 4cdef3cbec27..17f01578469b 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainClient.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainClient.cpp @@ -108,42 +108,6 @@ ManagedBlockchainClient::ManagedBlockchainClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ManagedBlockchainClient::ManagedBlockchainClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ManagedBlockchainClient::ManagedBlockchainClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ManagedBlockchainClient::~ManagedBlockchainClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ManagedBlockchainClient::accessEndpointProvider() { return m_endpointProvider; } @@ -161,12 +125,7 @@ void ManagedBlockchainClient::init(const ManagedBlockchain::ManagedBlockchainCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "managedblockchain"); -} - -void ManagedBlockchainClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ManagedBlockchainClient::InvokeOperationOutcome ManagedBlockchainClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainClientConfiguration.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainClientConfiguration.cpp new file mode 100644 index 000000000000..787866c92f88 --- /dev/null +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ManagedBlockchain { + +void ManagedBlockchainClientConfiguration::LoadManagedBlockchainSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ManagedBlockchainClientConfiguration::ManagedBlockchainClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadManagedBlockchainSpecificConfig(this->profileName); +} + +ManagedBlockchainClientConfiguration::ManagedBlockchainClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadManagedBlockchainSpecificConfig(Aws::String(inputProfileName)); +} + +ManagedBlockchainClientConfiguration::ManagedBlockchainClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadManagedBlockchainSpecificConfig(this->profileName); +} + +ManagedBlockchainClientConfiguration::ManagedBlockchainClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadManagedBlockchainSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ManagedBlockchainClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ManagedBlockchain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainEndpointProvider.cpp b/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainEndpointProvider.cpp index 9e3dbe09c495..ff5b5751ed73 100644 --- a/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MANAGEDBLOCKCHAIN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ManagedBlockchain { namespace Endpoint { ManagedBlockchainEndpointProvider::ManagedBlockchainEndpointProvider() : ManagedBlockchainDefaultEpProviderBase(Aws::ManagedBlockchain::ManagedBlockchainEndpointRules::GetRulesBlob(), Aws::ManagedBlockchain::ManagedBlockchainEndpointRules::RulesBlobSize) {} +void ManagedBlockchainBuiltInParameters::SetFromClientConfiguration(const ManagedBlockchainClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ManagedBlockchainBuiltInParameters::SetFromClientConfiguration(const ManagedBlockchainClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ManagedBlockchainBuiltInParameters::SetServiceSpecificParameters(const ManagedBlockchainClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ManagedBlockchain } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceClient.h b/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceClient.h index 007737020b06..16a4b7f5ccaf 100644 --- a/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceClient.h +++ b/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceClient.h @@ -61,27 +61,6 @@ class AWS_AGREEMENTSERVICE_API AgreementServiceClient : public Aws::Client::AWSR const Aws::AgreementService::AgreementServiceClientConfiguration& clientConfiguration = Aws::AgreementService::AgreementServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AgreementServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AgreementServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AgreementServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AgreementServiceClient(); /** @@ -895,7 +874,6 @@ class AWS_AGREEMENTSERVICE_API AgreementServiceClient : public Aws::Client::AWSR return SubmitAsync(&AgreementServiceClient::UpdatePurchaseOrders, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceClientConfiguration.h new file mode 100644 index 000000000000..7c0ed9affab0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AgreementService { +struct AWS_AGREEMENTSERVICE_API AgreementServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AgreementServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AgreementServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AgreementServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AgreementServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAgreementServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AGREEMENTSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AgreementServiceClientConfiguration& config); +} // namespace AgreementService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceEndpointProvider.h index 0dd9f6815047..a1ae9c06c7e4 100644 --- a/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace AgreementService { namespace Endpoint { +using AgreementServiceClientConfiguration = Aws::AgreementService::AgreementServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AgreementServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AgreementServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using AgreementServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AGREEMENTSERVICE_API AgreementServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AgreementServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AgreementServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const AgreementServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AgreementServiceClientConfiguration& config); +}; /** * The type for the AgreementService Client Endpoint Provider. @@ -34,6 +43,24 @@ using AgreementServiceEndpointProviderBase = using AgreementServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AgreementService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AGREEMENTSERVICE_EXTERN template class AWS_AGREEMENTSERVICE_API Aws::Endpoint::EndpointProviderBase< + AgreementService::Endpoint::AgreementServiceClientConfiguration, AgreementService::Endpoint::AgreementServiceBuiltInParameters, + AgreementService::Endpoint::AgreementServiceClientContextParameters>; + +AWS_AGREEMENTSERVICE_EXTERN template class AWS_AGREEMENTSERVICE_API Aws::Endpoint::BDDEndpointProvider< + AgreementService::Endpoint::AgreementServiceClientConfiguration, AgreementService::Endpoint::AgreementServiceBuiltInParameters, + AgreementService::Endpoint::AgreementServiceClientContextParameters>; +} // namespace Endpoint + +namespace AgreementService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceServiceClientModel.h index aee997271105..45dca9c57382 100644 --- a/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceServiceClientModel.h @@ -74,7 +74,6 @@ class RetryStrategy; } // namespace Client namespace AgreementService { -using AgreementServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using AgreementServiceEndpointProviderBase = Aws::AgreementService::Endpoint::AgreementServiceEndpointProviderBase; using AgreementServiceEndpointProvider = Aws::AgreementService::Endpoint::AgreementServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceClient.cpp b/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceClient.cpp index 28d2891390f7..87e7054ae49d 100644 --- a/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceClient.cpp @@ -106,42 +106,6 @@ AgreementServiceClient::AgreementServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AgreementServiceClient::AgreementServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AgreementServiceClient::AgreementServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AgreementServiceClient::~AgreementServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AgreementServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -159,12 +123,7 @@ void AgreementServiceClient::init(const AgreementService::AgreementServiceClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aws-marketplace"); -} - -void AgreementServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AgreementServiceClient::InvokeOperationOutcome AgreementServiceClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceClientConfiguration.cpp new file mode 100644 index 000000000000..17316ce931fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AgreementService { + +void AgreementServiceClientConfiguration::LoadAgreementServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AgreementServiceClientConfiguration::AgreementServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAgreementServiceSpecificConfig(this->profileName); +} + +AgreementServiceClientConfiguration::AgreementServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAgreementServiceSpecificConfig(Aws::String(inputProfileName)); +} + +AgreementServiceClientConfiguration::AgreementServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAgreementServiceSpecificConfig(this->profileName); +} + +AgreementServiceClientConfiguration::AgreementServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAgreementServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AgreementServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AgreementService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceEndpointProvider.cpp index a18255a2d3e8..8f127cff4f89 100644 --- a/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_AGREEMENTSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AgreementService { namespace Endpoint { AgreementServiceEndpointProvider::AgreementServiceEndpointProvider() : AgreementServiceDefaultEpProviderBase(Aws::AgreementService::AgreementServiceEndpointRules::GetRulesBlob(), Aws::AgreementService::AgreementServiceEndpointRules::RulesBlobSize) {} +void AgreementServiceBuiltInParameters::SetFromClientConfiguration(const AgreementServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AgreementServiceBuiltInParameters::SetFromClientConfiguration(const AgreementServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AgreementServiceBuiltInParameters::SetServiceSpecificParameters(const AgreementServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AgreementService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClient.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClient.h index 2d313c598a28..3ac950bfa450 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClient.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClient.h @@ -61,27 +61,6 @@ class AWS_MARKETPLACECATALOG_API MarketplaceCatalogClient : public Aws::Client:: const Aws::MarketplaceCatalog::MarketplaceCatalogClientConfiguration& clientConfiguration = Aws::MarketplaceCatalog::MarketplaceCatalogClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MarketplaceCatalogClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MarketplaceCatalogClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MarketplaceCatalogClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MarketplaceCatalogClient(); /** @@ -528,7 +507,6 @@ class AWS_MARKETPLACECATALOG_API MarketplaceCatalogClient : public Aws::Client:: return SubmitAsync(&MarketplaceCatalogClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClientConfiguration.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClientConfiguration.h new file mode 100644 index 000000000000..32b195276a70 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MarketplaceCatalog { +struct AWS_MARKETPLACECATALOG_API MarketplaceCatalogClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MarketplaceCatalogClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceCatalogClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceCatalogClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MarketplaceCatalogClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMarketplaceCatalogSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MARKETPLACECATALOG_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceCatalogClientConfiguration& config); +} // namespace MarketplaceCatalog +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogEndpointProvider.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogEndpointProvider.h index 9eb45190357e..0bd62383354b 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MarketplaceCatalog { namespace Endpoint { +using MarketplaceCatalogClientConfiguration = Aws::MarketplaceCatalog::MarketplaceCatalogClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MarketplaceCatalogClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MarketplaceCatalogClientConfiguration = Aws::Client::GenericClientConfiguration; -using MarketplaceCatalogBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MARKETPLACECATALOG_API MarketplaceCatalogBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MarketplaceCatalogBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MarketplaceCatalogClientConfiguration& config); + virtual void SetFromClientConfiguration(const MarketplaceCatalogClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MarketplaceCatalogClientConfiguration& config); +}; /** * The type for the MarketplaceCatalog Client Endpoint Provider. @@ -36,6 +45,24 @@ using MarketplaceCatalogDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MarketplaceCatalog + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MARKETPLACECATALOG_EXTERN template class AWS_MARKETPLACECATALOG_API Aws::Endpoint::EndpointProviderBase< + MarketplaceCatalog::Endpoint::MarketplaceCatalogClientConfiguration, MarketplaceCatalog::Endpoint::MarketplaceCatalogBuiltInParameters, + MarketplaceCatalog::Endpoint::MarketplaceCatalogClientContextParameters>; + +AWS_MARKETPLACECATALOG_EXTERN template class AWS_MARKETPLACECATALOG_API Aws::Endpoint::BDDEndpointProvider< + MarketplaceCatalog::Endpoint::MarketplaceCatalogClientConfiguration, MarketplaceCatalog::Endpoint::MarketplaceCatalogBuiltInParameters, + MarketplaceCatalog::Endpoint::MarketplaceCatalogClientContextParameters>; +} // namespace Endpoint + +namespace MarketplaceCatalog { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogServiceClientModel.h b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogServiceClientModel.h index a1d512a165f4..a0dbac64523d 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace MarketplaceCatalog { -using MarketplaceCatalogClientConfiguration = Aws::Client::GenericClientConfiguration; using MarketplaceCatalogEndpointProviderBase = Aws::MarketplaceCatalog::Endpoint::MarketplaceCatalogEndpointProviderBase; using MarketplaceCatalogEndpointProvider = Aws::MarketplaceCatalog::Endpoint::MarketplaceCatalogEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogClient.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogClient.cpp index e9f87f2d256b..533ff7e15254 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogClient.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogClient.cpp @@ -96,42 +96,6 @@ MarketplaceCatalogClient::MarketplaceCatalogClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceCatalogClient::MarketplaceCatalogClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceCatalogClient::MarketplaceCatalogClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MarketplaceCatalogClient::~MarketplaceCatalogClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MarketplaceCatalogClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +113,7 @@ void MarketplaceCatalogClient::init(const MarketplaceCatalog::MarketplaceCatalog AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aws-marketplace"); -} - -void MarketplaceCatalogClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MarketplaceCatalogClient::InvokeOperationOutcome MarketplaceCatalogClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogClientConfiguration.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogClientConfiguration.cpp new file mode 100644 index 000000000000..3cea38262b13 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MarketplaceCatalog { + +void MarketplaceCatalogClientConfiguration::LoadMarketplaceCatalogSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MarketplaceCatalogClientConfiguration::MarketplaceCatalogClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMarketplaceCatalogSpecificConfig(this->profileName); +} + +MarketplaceCatalogClientConfiguration::MarketplaceCatalogClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMarketplaceCatalogSpecificConfig(Aws::String(inputProfileName)); +} + +MarketplaceCatalogClientConfiguration::MarketplaceCatalogClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMarketplaceCatalogSpecificConfig(this->profileName); +} + +MarketplaceCatalogClientConfiguration::MarketplaceCatalogClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMarketplaceCatalogSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceCatalogClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MarketplaceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogEndpointProvider.cpp b/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogEndpointProvider.cpp index 6d62730336f7..c0d7ed3fdf4c 100644 --- a/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MARKETPLACECATALOG_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MarketplaceCatalog { namespace Endpoint { MarketplaceCatalogEndpointProvider::MarketplaceCatalogEndpointProvider() : MarketplaceCatalogDefaultEpProviderBase(Aws::MarketplaceCatalog::MarketplaceCatalogEndpointRules::GetRulesBlob(), Aws::MarketplaceCatalog::MarketplaceCatalogEndpointRules::RulesBlobSize) {} +void MarketplaceCatalogBuiltInParameters::SetFromClientConfiguration(const MarketplaceCatalogClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MarketplaceCatalogBuiltInParameters::SetFromClientConfiguration(const MarketplaceCatalogClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MarketplaceCatalogBuiltInParameters::SetServiceSpecificParameters(const MarketplaceCatalogClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MarketplaceCatalog } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentClient.h b/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentClient.h index b54a7fc3f282..b3adf79b42e4 100644 --- a/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentClient.h +++ b/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentClient.h @@ -62,27 +62,6 @@ class AWS_MARKETPLACEDEPLOYMENT_API MarketplaceDeploymentClient const Aws::MarketplaceDeployment::MarketplaceDeploymentClientConfiguration& clientConfiguration = Aws::MarketplaceDeployment::MarketplaceDeploymentClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MarketplaceDeploymentClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MarketplaceDeploymentClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MarketplaceDeploymentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MarketplaceDeploymentClient(); /** @@ -190,7 +169,6 @@ class AWS_MARKETPLACEDEPLOYMENT_API MarketplaceDeploymentClient return SubmitAsync(&MarketplaceDeploymentClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentClientConfiguration.h b/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentClientConfiguration.h new file mode 100644 index 000000000000..bc778f23b798 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MarketplaceDeployment { +struct AWS_MARKETPLACEDEPLOYMENT_API MarketplaceDeploymentClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MarketplaceDeploymentClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceDeploymentClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceDeploymentClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MarketplaceDeploymentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMarketplaceDeploymentSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MARKETPLACEDEPLOYMENT_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MarketplaceDeploymentClientConfiguration& config); +} // namespace MarketplaceDeployment +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentEndpointProvider.h b/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentEndpointProvider.h index 576d80884d16..708c9126a7b2 100644 --- a/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MarketplaceDeployment { namespace Endpoint { +using MarketplaceDeploymentClientConfiguration = Aws::MarketplaceDeployment::MarketplaceDeploymentClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MarketplaceDeploymentClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MarketplaceDeploymentClientConfiguration = Aws::Client::GenericClientConfiguration; -using MarketplaceDeploymentBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MARKETPLACEDEPLOYMENT_API MarketplaceDeploymentBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MarketplaceDeploymentBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MarketplaceDeploymentClientConfiguration& config); + virtual void SetFromClientConfiguration(const MarketplaceDeploymentClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MarketplaceDeploymentClientConfiguration& config); +}; /** * The type for the MarketplaceDeployment Client Endpoint Provider. @@ -36,6 +45,26 @@ using MarketplaceDeploymentDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MarketplaceDeployment + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MARKETPLACEDEPLOYMENT_EXTERN template class AWS_MARKETPLACEDEPLOYMENT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MARKETPLACEDEPLOYMENT_EXTERN template class AWS_MARKETPLACEDEPLOYMENT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MarketplaceDeployment { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentServiceClientModel.h b/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentServiceClientModel.h index 69a7eedbb6dd..60e879a038bb 100644 --- a/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentServiceClientModel.h @@ -50,7 +50,6 @@ class RetryStrategy; } // namespace Client namespace MarketplaceDeployment { -using MarketplaceDeploymentClientConfiguration = Aws::Client::GenericClientConfiguration; using MarketplaceDeploymentEndpointProviderBase = Aws::MarketplaceDeployment::Endpoint::MarketplaceDeploymentEndpointProviderBase; using MarketplaceDeploymentEndpointProvider = Aws::MarketplaceDeployment::Endpoint::MarketplaceDeploymentEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentClient.cpp b/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentClient.cpp index b1a1305cb6a5..9cfad4626120 100644 --- a/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentClient.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentClient.cpp @@ -87,42 +87,6 @@ MarketplaceDeploymentClient::MarketplaceDeploymentClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MarketplaceDeploymentClient::MarketplaceDeploymentClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceDeploymentClient::MarketplaceDeploymentClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceDeploymentClient::MarketplaceDeploymentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MarketplaceDeploymentClient::~MarketplaceDeploymentClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MarketplaceDeploymentClient::accessEndpointProvider() { @@ -142,12 +106,7 @@ void MarketplaceDeploymentClient::init(const MarketplaceDeployment::MarketplaceD AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aws-marketplace"); -} - -void MarketplaceDeploymentClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MarketplaceDeploymentClient::InvokeOperationOutcome MarketplaceDeploymentClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentClientConfiguration.cpp b/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentClientConfiguration.cpp new file mode 100644 index 000000000000..4debb3cb140c --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MarketplaceDeployment { + +void MarketplaceDeploymentClientConfiguration::LoadMarketplaceDeploymentSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MarketplaceDeploymentClientConfiguration::MarketplaceDeploymentClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMarketplaceDeploymentSpecificConfig(this->profileName); +} + +MarketplaceDeploymentClientConfiguration::MarketplaceDeploymentClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMarketplaceDeploymentSpecificConfig(Aws::String(inputProfileName)); +} + +MarketplaceDeploymentClientConfiguration::MarketplaceDeploymentClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMarketplaceDeploymentSpecificConfig(this->profileName); +} + +MarketplaceDeploymentClientConfiguration::MarketplaceDeploymentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMarketplaceDeploymentSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceDeploymentClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MarketplaceDeployment +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentEndpointProvider.cpp b/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentEndpointProvider.cpp index 1238607aa854..59d7cd4e33ef 100644 --- a/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MARKETPLACEDEPLOYMENT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MarketplaceDeployment { namespace Endpoint { MarketplaceDeploymentEndpointProvider::MarketplaceDeploymentEndpointProvider() : MarketplaceDeploymentDefaultEpProviderBase(Aws::MarketplaceDeployment::MarketplaceDeploymentEndpointRules::GetRulesBlob(), Aws::MarketplaceDeployment::MarketplaceDeploymentEndpointRules::RulesBlobSize) {} +void MarketplaceDeploymentBuiltInParameters::SetFromClientConfiguration(const MarketplaceDeploymentClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MarketplaceDeploymentBuiltInParameters::SetFromClientConfiguration(const MarketplaceDeploymentClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MarketplaceDeploymentBuiltInParameters::SetServiceSpecificParameters(const MarketplaceDeploymentClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MarketplaceDeployment } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryClient.h b/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryClient.h index ed66f625d1fb..0509f6882a0b 100644 --- a/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryClient.h +++ b/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryClient.h @@ -60,27 +60,6 @@ class AWS_MARKETPLACEDISCOVERY_API MarketplaceDiscoveryClient const Aws::MarketplaceDiscovery::MarketplaceDiscoveryClientConfiguration& clientConfiguration = Aws::MarketplaceDiscovery::MarketplaceDiscoveryClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MarketplaceDiscoveryClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MarketplaceDiscoveryClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MarketplaceDiscoveryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MarketplaceDiscoveryClient(); /** @@ -337,7 +316,6 @@ class AWS_MARKETPLACEDISCOVERY_API MarketplaceDiscoveryClient return SubmitAsync(&MarketplaceDiscoveryClient::SearchListings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryClientConfiguration.h b/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryClientConfiguration.h new file mode 100644 index 000000000000..ccbf4cc4813e --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MarketplaceDiscovery { +struct AWS_MARKETPLACEDISCOVERY_API MarketplaceDiscoveryClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MarketplaceDiscoveryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceDiscoveryClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceDiscoveryClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MarketplaceDiscoveryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + + private: + void LoadMarketplaceDiscoverySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MARKETPLACEDISCOVERY_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MarketplaceDiscoveryClientConfiguration& config); +} // namespace MarketplaceDiscovery +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryEndpointProvider.h b/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryEndpointProvider.h index d6553a5038ff..752a3a63bbb6 100644 --- a/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MarketplaceDiscovery { namespace Endpoint { +using MarketplaceDiscoveryClientConfiguration = Aws::MarketplaceDiscovery::MarketplaceDiscoveryClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MarketplaceDiscoveryClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MarketplaceDiscoveryClientConfiguration = Aws::Client::GenericClientConfiguration; -using MarketplaceDiscoveryBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MARKETPLACEDISCOVERY_API MarketplaceDiscoveryBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MarketplaceDiscoveryBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MarketplaceDiscoveryClientConfiguration& config); + virtual void SetFromClientConfiguration(const MarketplaceDiscoveryClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MarketplaceDiscoveryClientConfiguration& config); +}; /** * The type for the MarketplaceDiscovery Client Endpoint Provider. @@ -36,6 +45,26 @@ using MarketplaceDiscoveryDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MarketplaceDiscovery + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MARKETPLACEDISCOVERY_EXTERN template class AWS_MARKETPLACEDISCOVERY_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MARKETPLACEDISCOVERY_EXTERN template class AWS_MARKETPLACEDISCOVERY_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MarketplaceDiscovery { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryServiceClientModel.h b/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryServiceClientModel.h index fcd31db24984..57bc9e846cdd 100644 --- a/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryServiceClientModel.h @@ -58,7 +58,6 @@ class RetryStrategy; } // namespace Client namespace MarketplaceDiscovery { -using MarketplaceDiscoveryClientConfiguration = Aws::Client::GenericClientConfiguration; using MarketplaceDiscoveryEndpointProviderBase = Aws::MarketplaceDiscovery::Endpoint::MarketplaceDiscoveryEndpointProviderBase; using MarketplaceDiscoveryEndpointProvider = Aws::MarketplaceDiscovery::Endpoint::MarketplaceDiscoveryEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryClient.cpp b/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryClient.cpp index 2c371a898f98..e410a2b60d08 100644 --- a/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryClient.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryClient.cpp @@ -94,44 +94,6 @@ MarketplaceDiscoveryClient::MarketplaceDiscoveryClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MarketplaceDiscoveryClient::MarketplaceDiscoveryClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceDiscoveryClient::MarketplaceDiscoveryClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceDiscoveryClient::MarketplaceDiscoveryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MarketplaceDiscoveryClient::~MarketplaceDiscoveryClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MarketplaceDiscoveryClient::accessEndpointProvider() { @@ -151,12 +113,7 @@ void MarketplaceDiscoveryClient::init(const MarketplaceDiscovery::MarketplaceDis AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aws-marketplace"); -} - -void MarketplaceDiscoveryClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MarketplaceDiscoveryClient::InvokeOperationOutcome MarketplaceDiscoveryClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryClientConfiguration.cpp b/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryClientConfiguration.cpp new file mode 100644 index 000000000000..6dfcaea36ce2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MarketplaceDiscovery { + +void MarketplaceDiscoveryClientConfiguration::LoadMarketplaceDiscoverySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MarketplaceDiscoveryClientConfiguration::MarketplaceDiscoveryClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMarketplaceDiscoverySpecificConfig(this->profileName); +} + +MarketplaceDiscoveryClientConfiguration::MarketplaceDiscoveryClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMarketplaceDiscoverySpecificConfig(Aws::String(inputProfileName)); +} + +MarketplaceDiscoveryClientConfiguration::MarketplaceDiscoveryClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMarketplaceDiscoverySpecificConfig(this->profileName); +} + +MarketplaceDiscoveryClientConfiguration::MarketplaceDiscoveryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMarketplaceDiscoverySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceDiscoveryClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + +} // namespace MarketplaceDiscovery +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryEndpointProvider.cpp b/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryEndpointProvider.cpp index 1cddf29596c0..5a9daab82190 100644 --- a/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_MARKETPLACEDISCOVERY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MarketplaceDiscovery { namespace Endpoint { MarketplaceDiscoveryEndpointProvider::MarketplaceDiscoveryEndpointProvider() : MarketplaceDiscoveryDefaultEpProviderBase(Aws::MarketplaceDiscovery::MarketplaceDiscoveryEndpointRules::GetRulesBlob(), Aws::MarketplaceDiscovery::MarketplaceDiscoveryEndpointRules::RulesBlobSize) {} +void MarketplaceDiscoveryBuiltInParameters::SetFromClientConfiguration(const MarketplaceDiscoveryClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MarketplaceDiscoveryBuiltInParameters::SetFromClientConfiguration(const MarketplaceDiscoveryClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MarketplaceDiscoveryBuiltInParameters::SetServiceSpecificParameters(const MarketplaceDiscoveryClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace MarketplaceDiscovery } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceClient.h b/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceClient.h index 1090a55b7388..340ee72c7999 100644 --- a/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceClient.h +++ b/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceClient.h @@ -68,28 +68,6 @@ class AWS_MARKETPLACEENTITLEMENTSERVICE_API MarketplaceEntitlementServiceClient const Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration& clientConfiguration = Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MarketplaceEntitlementServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MarketplaceEntitlementServiceClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MarketplaceEntitlementServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MarketplaceEntitlementServiceClient(); /** @@ -119,7 +97,6 @@ class AWS_MARKETPLACEENTITLEMENTSERVICE_API MarketplaceEntitlementServiceClient return SubmitAsync(&MarketplaceEntitlementServiceClient::GetEntitlements, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceClientConfiguration.h new file mode 100644 index 000000000000..9077504156e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MarketplaceEntitlementService { +struct AWS_MARKETPLACEENTITLEMENTSERVICE_API MarketplaceEntitlementServiceClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MarketplaceEntitlementServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceEntitlementServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceEntitlementServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MarketplaceEntitlementServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMarketplaceEntitlementServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MARKETPLACEENTITLEMENTSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MarketplaceEntitlementServiceClientConfiguration& config); +} // namespace MarketplaceEntitlementService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceEndpointProvider.h index e14ca67c172b..a6f024684ae5 100644 --- a/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceEndpointProvider.h @@ -4,24 +4,34 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MarketplaceEntitlementService { namespace Endpoint { +using MarketplaceEntitlementServiceClientConfiguration = + Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MarketplaceEntitlementServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MarketplaceEntitlementServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using MarketplaceEntitlementServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MARKETPLACEENTITLEMENTSERVICE_API MarketplaceEntitlementServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MarketplaceEntitlementServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MarketplaceEntitlementServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const MarketplaceEntitlementServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MarketplaceEntitlementServiceClientConfiguration& config); +}; /** * The type for the MarketplaceEntitlementService Client Endpoint Provider. @@ -36,6 +46,26 @@ using MarketplaceEntitlementServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MarketplaceEntitlementService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MARKETPLACEENTITLEMENTSERVICE_EXTERN template class AWS_MARKETPLACEENTITLEMENTSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MARKETPLACEENTITLEMENTSERVICE_EXTERN template class AWS_MARKETPLACEENTITLEMENTSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MarketplaceEntitlementService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceServiceClientModel.h index 97bb5e113b75..73165bdf4222 100644 --- a/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace MarketplaceEntitlementService { -using MarketplaceEntitlementServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using MarketplaceEntitlementServiceEndpointProviderBase = Aws::MarketplaceEntitlementService::Endpoint::MarketplaceEntitlementServiceEndpointProviderBase; using MarketplaceEntitlementServiceEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceClient.cpp b/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceClient.cpp index 041cff623135..6f841eeeee7f 100644 --- a/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceClient.cpp @@ -84,42 +84,6 @@ MarketplaceEntitlementServiceClient::MarketplaceEntitlementServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MarketplaceEntitlementServiceClient::MarketplaceEntitlementServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceEntitlementServiceClient::MarketplaceEntitlementServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceEntitlementServiceClient::MarketplaceEntitlementServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MarketplaceEntitlementServiceClient::~MarketplaceEntitlementServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MarketplaceEntitlementServiceClient::accessEndpointProvider() { @@ -140,12 +104,7 @@ void MarketplaceEntitlementServiceClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aws-marketplace"); -} - -void MarketplaceEntitlementServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MarketplaceEntitlementServiceClient::InvokeOperationOutcome MarketplaceEntitlementServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceClientConfiguration.cpp new file mode 100644 index 000000000000..e1a41122dd40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceClientConfiguration.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MarketplaceEntitlementService { + +void MarketplaceEntitlementServiceClientConfiguration::LoadMarketplaceEntitlementServiceSpecificConfig( + const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MarketplaceEntitlementServiceClientConfiguration::MarketplaceEntitlementServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMarketplaceEntitlementServiceSpecificConfig(this->profileName); +} + +MarketplaceEntitlementServiceClientConfiguration::MarketplaceEntitlementServiceClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMarketplaceEntitlementServiceSpecificConfig(Aws::String(inputProfileName)); +} + +MarketplaceEntitlementServiceClientConfiguration::MarketplaceEntitlementServiceClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMarketplaceEntitlementServiceSpecificConfig(this->profileName); +} + +MarketplaceEntitlementServiceClientConfiguration::MarketplaceEntitlementServiceClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMarketplaceEntitlementServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceEntitlementServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MarketplaceEntitlementService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceEndpointProvider.cpp index c97a92254545..30f30016cb1d 100644 --- a/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_MARKETPLACEENTITLEMENTSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + MarketplaceEntitlementService::Endpoint::MarketplaceEntitlementServiceClientConfiguration, + MarketplaceEntitlementService::Endpoint::MarketplaceEntitlementServiceBuiltInParameters, + MarketplaceEntitlementService::Endpoint::MarketplaceEntitlementServiceClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + MarketplaceEntitlementService::Endpoint::MarketplaceEntitlementServiceClientConfiguration, + MarketplaceEntitlementService::Endpoint::MarketplaceEntitlementServiceBuiltInParameters, + MarketplaceEntitlementService::Endpoint::MarketplaceEntitlementServiceClientContextParameters>; +} // namespace Endpoint +#endif + namespace MarketplaceEntitlementService { namespace Endpoint { MarketplaceEntitlementServiceEndpointProvider::MarketplaceEntitlementServiceEndpointProvider() @@ -14,6 +31,28 @@ MarketplaceEntitlementServiceEndpointProvider::MarketplaceEntitlementServiceEndp Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceEndpointRules::GetRulesBlob(), Aws::MarketplaceEntitlementService::MarketplaceEntitlementServiceEndpointRules::RulesBlobSize) {} +void MarketplaceEntitlementServiceBuiltInParameters::SetFromClientConfiguration( + const MarketplaceEntitlementServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MarketplaceEntitlementServiceBuiltInParameters::SetFromClientConfiguration( + const MarketplaceEntitlementServiceClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void MarketplaceEntitlementServiceBuiltInParameters::SetServiceSpecificParameters( + const MarketplaceEntitlementServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MarketplaceEntitlementService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingClient.h b/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingClient.h index 021c8577d2b4..2087b8d460aa 100644 --- a/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingClient.h +++ b/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingClient.h @@ -107,27 +107,6 @@ class AWS_MARKETPLACEREPORTING_API MarketplaceReportingClient const Aws::MarketplaceReporting::MarketplaceReportingClientConfiguration& clientConfiguration = Aws::MarketplaceReporting::MarketplaceReportingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MarketplaceReportingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MarketplaceReportingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MarketplaceReportingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MarketplaceReportingClient(); /** @@ -165,7 +144,6 @@ class AWS_MARKETPLACEREPORTING_API MarketplaceReportingClient return SubmitAsync(&MarketplaceReportingClient::GetBuyerDashboard, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingClientConfiguration.h b/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingClientConfiguration.h new file mode 100644 index 000000000000..86e423f756a9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MarketplaceReporting { +struct AWS_MARKETPLACEREPORTING_API MarketplaceReportingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MarketplaceReportingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceReportingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceReportingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MarketplaceReportingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMarketplaceReportingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MARKETPLACEREPORTING_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MarketplaceReportingClientConfiguration& config); +} // namespace MarketplaceReporting +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingEndpointProvider.h b/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingEndpointProvider.h index d5640dc52160..a8a30ae03056 100644 --- a/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MarketplaceReporting { namespace Endpoint { +using MarketplaceReportingClientConfiguration = Aws::MarketplaceReporting::MarketplaceReportingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MarketplaceReportingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MarketplaceReportingClientConfiguration = Aws::Client::GenericClientConfiguration; -using MarketplaceReportingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MARKETPLACEREPORTING_API MarketplaceReportingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MarketplaceReportingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MarketplaceReportingClientConfiguration& config); + virtual void SetFromClientConfiguration(const MarketplaceReportingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MarketplaceReportingClientConfiguration& config); +}; /** * The type for the MarketplaceReporting Client Endpoint Provider. @@ -36,6 +45,26 @@ using MarketplaceReportingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MarketplaceReporting + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MARKETPLACEREPORTING_EXTERN template class AWS_MARKETPLACEREPORTING_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MARKETPLACEREPORTING_EXTERN template class AWS_MARKETPLACEREPORTING_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MarketplaceReporting { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingServiceClientModel.h b/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingServiceClientModel.h index 45e2d050ee7c..973aa4a5591e 100644 --- a/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace MarketplaceReporting { -using MarketplaceReportingClientConfiguration = Aws::Client::GenericClientConfiguration; using MarketplaceReportingEndpointProviderBase = Aws::MarketplaceReporting::Endpoint::MarketplaceReportingEndpointProviderBase; using MarketplaceReportingEndpointProvider = Aws::MarketplaceReporting::Endpoint::MarketplaceReportingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingClient.cpp b/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingClient.cpp index 7215573b83e2..d9e4f7f004e6 100644 --- a/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingClient.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingClient.cpp @@ -84,42 +84,6 @@ MarketplaceReportingClient::MarketplaceReportingClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MarketplaceReportingClient::MarketplaceReportingClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceReportingClient::MarketplaceReportingClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceReportingClient::MarketplaceReportingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MarketplaceReportingClient::~MarketplaceReportingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MarketplaceReportingClient::accessEndpointProvider() { @@ -139,12 +103,7 @@ void MarketplaceReportingClient::init(const MarketplaceReporting::MarketplaceRep AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aws-marketplace"); -} - -void MarketplaceReportingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MarketplaceReportingClient::InvokeOperationOutcome MarketplaceReportingClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingClientConfiguration.cpp new file mode 100644 index 000000000000..cf9e3b233367 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MarketplaceReporting { + +void MarketplaceReportingClientConfiguration::LoadMarketplaceReportingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MarketplaceReportingClientConfiguration::MarketplaceReportingClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMarketplaceReportingSpecificConfig(this->profileName); +} + +MarketplaceReportingClientConfiguration::MarketplaceReportingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMarketplaceReportingSpecificConfig(Aws::String(inputProfileName)); +} + +MarketplaceReportingClientConfiguration::MarketplaceReportingClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMarketplaceReportingSpecificConfig(this->profileName); +} + +MarketplaceReportingClientConfiguration::MarketplaceReportingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMarketplaceReportingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceReportingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MarketplaceReporting +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingEndpointProvider.cpp index fd0be96aa908..45764b7bc6a0 100644 --- a/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MARKETPLACEREPORTING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MarketplaceReporting { namespace Endpoint { MarketplaceReportingEndpointProvider::MarketplaceReportingEndpointProvider() : MarketplaceReportingDefaultEpProviderBase(Aws::MarketplaceReporting::MarketplaceReportingEndpointRules::GetRulesBlob(), Aws::MarketplaceReporting::MarketplaceReportingEndpointRules::RulesBlobSize) {} +void MarketplaceReportingBuiltInParameters::SetFromClientConfiguration(const MarketplaceReportingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MarketplaceReportingBuiltInParameters::SetFromClientConfiguration(const MarketplaceReportingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MarketplaceReportingBuiltInParameters::SetServiceSpecificParameters(const MarketplaceReportingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MarketplaceReporting } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsClient.h b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsClient.h index 437e6d2843c9..9e1e12f724e5 100644 --- a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsClient.h +++ b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsClient.h @@ -60,28 +60,6 @@ class AWS_MARKETPLACECOMMERCEANALYTICS_API MarketplaceCommerceAnalyticsClient const Aws::MarketplaceCommerceAnalytics::MarketplaceCommerceAnalyticsClientConfiguration& clientConfiguration = Aws::MarketplaceCommerceAnalytics::MarketplaceCommerceAnalyticsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MarketplaceCommerceAnalyticsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MarketplaceCommerceAnalyticsClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MarketplaceCommerceAnalyticsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MarketplaceCommerceAnalyticsClient(); /** @@ -119,7 +97,6 @@ class AWS_MARKETPLACECOMMERCEANALYTICS_API MarketplaceCommerceAnalyticsClient return SubmitAsync(&MarketplaceCommerceAnalyticsClient::GenerateDataSet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsClientConfiguration.h b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsClientConfiguration.h new file mode 100644 index 000000000000..47eb04a764c6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MarketplaceCommerceAnalytics { +struct AWS_MARKETPLACECOMMERCEANALYTICS_API MarketplaceCommerceAnalyticsClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MarketplaceCommerceAnalyticsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceCommerceAnalyticsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceCommerceAnalyticsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MarketplaceCommerceAnalyticsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMarketplaceCommerceAnalyticsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MARKETPLACECOMMERCEANALYTICS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MarketplaceCommerceAnalyticsClientConfiguration& config); +} // namespace MarketplaceCommerceAnalytics +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsEndpointProvider.h b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsEndpointProvider.h index 804aeeedd0f7..ae95667d7c6d 100644 --- a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MarketplaceCommerceAnalytics { namespace Endpoint { +using MarketplaceCommerceAnalyticsClientConfiguration = Aws::MarketplaceCommerceAnalytics::MarketplaceCommerceAnalyticsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MarketplaceCommerceAnalyticsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MarketplaceCommerceAnalyticsClientConfiguration = Aws::Client::GenericClientConfiguration; -using MarketplaceCommerceAnalyticsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MARKETPLACECOMMERCEANALYTICS_API MarketplaceCommerceAnalyticsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MarketplaceCommerceAnalyticsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MarketplaceCommerceAnalyticsClientConfiguration& config); + virtual void SetFromClientConfiguration(const MarketplaceCommerceAnalyticsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MarketplaceCommerceAnalyticsClientConfiguration& config); +}; /** * The type for the MarketplaceCommerceAnalytics Client Endpoint Provider. @@ -36,6 +45,26 @@ using MarketplaceCommerceAnalyticsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MarketplaceCommerceAnalytics + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MARKETPLACECOMMERCEANALYTICS_EXTERN template class AWS_MARKETPLACECOMMERCEANALYTICS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MARKETPLACECOMMERCEANALYTICS_EXTERN template class AWS_MARKETPLACECOMMERCEANALYTICS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MarketplaceCommerceAnalytics { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsServiceClientModel.h b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsServiceClientModel.h index b55218df5b7e..00aef7ea9e95 100644 --- a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace MarketplaceCommerceAnalytics { -using MarketplaceCommerceAnalyticsClientConfiguration = Aws::Client::GenericClientConfiguration; using MarketplaceCommerceAnalyticsEndpointProviderBase = Aws::MarketplaceCommerceAnalytics::Endpoint::MarketplaceCommerceAnalyticsEndpointProviderBase; using MarketplaceCommerceAnalyticsEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsClient.cpp b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsClient.cpp index 4f8418540ea4..280f04ecfc34 100644 --- a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsClient.cpp +++ b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsClient.cpp @@ -84,42 +84,6 @@ MarketplaceCommerceAnalyticsClient::MarketplaceCommerceAnalyticsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MarketplaceCommerceAnalyticsClient::MarketplaceCommerceAnalyticsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceCommerceAnalyticsClient::MarketplaceCommerceAnalyticsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceCommerceAnalyticsClient::MarketplaceCommerceAnalyticsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MarketplaceCommerceAnalyticsClient::~MarketplaceCommerceAnalyticsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MarketplaceCommerceAnalyticsClient::accessEndpointProvider() { @@ -139,12 +103,7 @@ void MarketplaceCommerceAnalyticsClient::init(const MarketplaceCommerceAnalytics AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "marketplacecommerceanalytics"); -} - -void MarketplaceCommerceAnalyticsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MarketplaceCommerceAnalyticsClient::InvokeOperationOutcome MarketplaceCommerceAnalyticsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsClientConfiguration.cpp new file mode 100644 index 000000000000..484ad7323f8b --- /dev/null +++ b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsClientConfiguration.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MarketplaceCommerceAnalytics { + +void MarketplaceCommerceAnalyticsClientConfiguration::LoadMarketplaceCommerceAnalyticsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MarketplaceCommerceAnalyticsClientConfiguration::MarketplaceCommerceAnalyticsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMarketplaceCommerceAnalyticsSpecificConfig(this->profileName); +} + +MarketplaceCommerceAnalyticsClientConfiguration::MarketplaceCommerceAnalyticsClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMarketplaceCommerceAnalyticsSpecificConfig(Aws::String(inputProfileName)); +} + +MarketplaceCommerceAnalyticsClientConfiguration::MarketplaceCommerceAnalyticsClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMarketplaceCommerceAnalyticsSpecificConfig(this->profileName); +} + +MarketplaceCommerceAnalyticsClientConfiguration::MarketplaceCommerceAnalyticsClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMarketplaceCommerceAnalyticsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceCommerceAnalyticsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MarketplaceCommerceAnalytics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsEndpointProvider.cpp index 3cf93e260959..649f87d3a6fa 100644 --- a/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_MARKETPLACECOMMERCEANALYTICS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + MarketplaceCommerceAnalytics::Endpoint::MarketplaceCommerceAnalyticsClientConfiguration, + MarketplaceCommerceAnalytics::Endpoint::MarketplaceCommerceAnalyticsBuiltInParameters, + MarketplaceCommerceAnalytics::Endpoint::MarketplaceCommerceAnalyticsClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + MarketplaceCommerceAnalytics::Endpoint::MarketplaceCommerceAnalyticsClientConfiguration, + MarketplaceCommerceAnalytics::Endpoint::MarketplaceCommerceAnalyticsBuiltInParameters, + MarketplaceCommerceAnalytics::Endpoint::MarketplaceCommerceAnalyticsClientContextParameters>; +} // namespace Endpoint +#endif + namespace MarketplaceCommerceAnalytics { namespace Endpoint { MarketplaceCommerceAnalyticsEndpointProvider::MarketplaceCommerceAnalyticsEndpointProvider() @@ -14,6 +31,28 @@ MarketplaceCommerceAnalyticsEndpointProvider::MarketplaceCommerceAnalyticsEndpoi Aws::MarketplaceCommerceAnalytics::MarketplaceCommerceAnalyticsEndpointRules::GetRulesBlob(), Aws::MarketplaceCommerceAnalytics::MarketplaceCommerceAnalyticsEndpointRules::RulesBlobSize) {} +void MarketplaceCommerceAnalyticsBuiltInParameters::SetFromClientConfiguration( + const MarketplaceCommerceAnalyticsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MarketplaceCommerceAnalyticsBuiltInParameters::SetFromClientConfiguration( + const MarketplaceCommerceAnalyticsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void MarketplaceCommerceAnalyticsBuiltInParameters::SetServiceSpecificParameters( + const MarketplaceCommerceAnalyticsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MarketplaceCommerceAnalytics } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClient.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClient.h index e686b9dbb3c9..ba37661d5ee8 100644 --- a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClient.h +++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClient.h @@ -71,27 +71,6 @@ class AWS_MEDIACONNECT_API MediaConnectClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::MediaConnect::MediaConnectClientConfiguration& clientConfiguration = Aws::MediaConnect::MediaConnectClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MediaConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MediaConnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MediaConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MediaConnectClient(); /** @@ -2760,7 +2739,6 @@ class AWS_MEDIACONNECT_API MediaConnectClient : public Aws::Client::AWSJsonClien return SubmitAsync(&MediaConnectClient::UpdateSourceEndpoint, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClientConfiguration.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClientConfiguration.h new file mode 100644 index 000000000000..1fecda83f820 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MediaConnect { +struct AWS_MEDIACONNECT_API MediaConnectClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MediaConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaConnectClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MediaConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMediaConnectSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIACONNECT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaConnectClientConfiguration& config); +} // namespace MediaConnect +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectEndpointProvider.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectEndpointProvider.h index cd29b77fadbf..3e9493a6a0eb 100644 --- a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MediaConnect { namespace Endpoint { +using MediaConnectClientConfiguration = Aws::MediaConnect::MediaConnectClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MediaConnectClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MediaConnectClientConfiguration = Aws::Client::GenericClientConfiguration; -using MediaConnectBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIACONNECT_API MediaConnectBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MediaConnectBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MediaConnectClientConfiguration& config); + virtual void SetFromClientConfiguration(const MediaConnectClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MediaConnectClientConfiguration& config); +}; /** * The type for the MediaConnect Client Endpoint Provider. @@ -34,6 +43,24 @@ using MediaConnectEndpointProviderBase = using MediaConnectDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MediaConnect + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIACONNECT_EXTERN template class AWS_MEDIACONNECT_API Aws::Endpoint::EndpointProviderBase< + MediaConnect::Endpoint::MediaConnectClientConfiguration, MediaConnect::Endpoint::MediaConnectBuiltInParameters, + MediaConnect::Endpoint::MediaConnectClientContextParameters>; + +AWS_MEDIACONNECT_EXTERN template class AWS_MEDIACONNECT_API Aws::Endpoint::BDDEndpointProvider< + MediaConnect::Endpoint::MediaConnectClientConfiguration, MediaConnect::Endpoint::MediaConnectBuiltInParameters, + MediaConnect::Endpoint::MediaConnectClientContextParameters>; +} // namespace Endpoint + +namespace MediaConnect { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectServiceClientModel.h index 0c290a22dda9..6ef49919d11d 100644 --- a/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectServiceClientModel.h @@ -151,7 +151,6 @@ class RetryStrategy; } // namespace Client namespace MediaConnect { -using MediaConnectClientConfiguration = Aws::Client::GenericClientConfiguration; using MediaConnectEndpointProviderBase = Aws::MediaConnect::Endpoint::MediaConnectEndpointProviderBase; using MediaConnectEndpointProvider = Aws::MediaConnect::Endpoint::MediaConnectEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClient.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClient.cpp index 82e7d9f41464..3c9a1aba0cbd 100644 --- a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClient.cpp +++ b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClient.cpp @@ -174,41 +174,6 @@ MediaConnectClient::MediaConnectClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaConnectClient::MediaConnectClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaConnectClient::MediaConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MediaConnectClient::~MediaConnectClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MediaConnectClient::accessEndpointProvider() { return m_endpointProvider; } @@ -226,12 +191,7 @@ void MediaConnectClient::init(const MediaConnect::MediaConnectClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mediaconnect"); -} - -void MediaConnectClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MediaConnectClient::InvokeOperationOutcome MediaConnectClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClientConfiguration.cpp new file mode 100644 index 000000000000..0698eb4ae0fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MediaConnect { + +void MediaConnectClientConfiguration::LoadMediaConnectSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MediaConnectClientConfiguration::MediaConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMediaConnectSpecificConfig(this->profileName); +} + +MediaConnectClientConfiguration::MediaConnectClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMediaConnectSpecificConfig(Aws::String(inputProfileName)); +} + +MediaConnectClientConfiguration::MediaConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMediaConnectSpecificConfig(this->profileName); +} + +MediaConnectClientConfiguration::MediaConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMediaConnectSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaConnectClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MediaConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectEndpointProvider.cpp index d875d9458c24..8eadba1f8b3b 100644 --- a/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MEDIACONNECT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MediaConnect { namespace Endpoint { MediaConnectEndpointProvider::MediaConnectEndpointProvider() : MediaConnectDefaultEpProviderBase(Aws::MediaConnect::MediaConnectEndpointRules::GetRulesBlob(), Aws::MediaConnect::MediaConnectEndpointRules::RulesBlobSize) {} +void MediaConnectBuiltInParameters::SetFromClientConfiguration(const MediaConnectClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MediaConnectBuiltInParameters::SetFromClientConfiguration(const MediaConnectClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MediaConnectBuiltInParameters::SetServiceSpecificParameters(const MediaConnectClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MediaConnect } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertClient.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertClient.h index 3ead96d4a4ff..a29db16db62b 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertClient.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertClient.h @@ -55,27 +55,6 @@ class AWS_MEDIACONVERT_API MediaConvertClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::MediaConvert::MediaConvertClientConfiguration& clientConfiguration = Aws::MediaConvert::MediaConvertClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MediaConvertClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MediaConvertClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MediaConvertClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MediaConvertClient(); /** @@ -975,7 +954,6 @@ class AWS_MEDIACONVERT_API MediaConvertClient : public Aws::Client::AWSJsonClien return SubmitAsync(&MediaConvertClient::UpdateQueue, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertClientConfiguration.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertClientConfiguration.h new file mode 100644 index 000000000000..23c5d68dd51c --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MediaConvert { +struct AWS_MEDIACONVERT_API MediaConvertClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MediaConvertClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaConvertClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaConvertClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MediaConvertClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMediaConvertSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIACONVERT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaConvertClientConfiguration& config); +} // namespace MediaConvert +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertEndpointProvider.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertEndpointProvider.h index f7221b45e4f8..fbe04f86ca5b 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MediaConvert { namespace Endpoint { +using MediaConvertClientConfiguration = Aws::MediaConvert::MediaConvertClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MediaConvertClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MediaConvertClientConfiguration = Aws::Client::GenericClientConfiguration; -using MediaConvertBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIACONVERT_API MediaConvertBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MediaConvertBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MediaConvertClientConfiguration& config); + virtual void SetFromClientConfiguration(const MediaConvertClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MediaConvertClientConfiguration& config); +}; /** * The type for the MediaConvert Client Endpoint Provider. @@ -34,6 +43,24 @@ using MediaConvertEndpointProviderBase = using MediaConvertDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MediaConvert + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIACONVERT_EXTERN template class AWS_MEDIACONVERT_API Aws::Endpoint::EndpointProviderBase< + MediaConvert::Endpoint::MediaConvertClientConfiguration, MediaConvert::Endpoint::MediaConvertBuiltInParameters, + MediaConvert::Endpoint::MediaConvertClientContextParameters>; + +AWS_MEDIACONVERT_EXTERN template class AWS_MEDIACONVERT_API Aws::Endpoint::BDDEndpointProvider< + MediaConvert::Endpoint::MediaConvertClientConfiguration, MediaConvert::Endpoint::MediaConvertBuiltInParameters, + MediaConvert::Endpoint::MediaConvertClientContextParameters>; +} // namespace Endpoint + +namespace MediaConvert { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertServiceClientModel.h b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertServiceClientModel.h index 22c90062aaa4..71aadb50141e 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertServiceClientModel.h @@ -89,7 +89,6 @@ class RetryStrategy; } // namespace Client namespace MediaConvert { -using MediaConvertClientConfiguration = Aws::Client::GenericClientConfiguration; using MediaConvertEndpointProviderBase = Aws::MediaConvert::Endpoint::MediaConvertEndpointProviderBase; using MediaConvertEndpointProvider = Aws::MediaConvert::Endpoint::MediaConvertEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertClient.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertClient.cpp index 6081c1ce74be..e112029c228d 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertClient.cpp +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertClient.cpp @@ -111,41 +111,6 @@ MediaConvertClient::MediaConvertClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaConvertClient::MediaConvertClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaConvertClient::MediaConvertClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MediaConvertClient::~MediaConvertClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MediaConvertClient::accessEndpointProvider() { return m_endpointProvider; } @@ -163,12 +128,7 @@ void MediaConvertClient::init(const MediaConvert::MediaConvertClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mediaconvert"); -} - -void MediaConvertClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MediaConvertClient::InvokeOperationOutcome MediaConvertClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertClientConfiguration.cpp new file mode 100644 index 000000000000..469a24feb52a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MediaConvert { + +void MediaConvertClientConfiguration::LoadMediaConvertSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MediaConvertClientConfiguration::MediaConvertClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMediaConvertSpecificConfig(this->profileName); +} + +MediaConvertClientConfiguration::MediaConvertClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMediaConvertSpecificConfig(Aws::String(inputProfileName)); +} + +MediaConvertClientConfiguration::MediaConvertClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMediaConvertSpecificConfig(this->profileName); +} + +MediaConvertClientConfiguration::MediaConvertClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMediaConvertSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaConvertClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MediaConvert +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertEndpointProvider.cpp index 4e613dedfa95..f57e034f1a6f 100644 --- a/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MEDIACONVERT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MediaConvert { namespace Endpoint { MediaConvertEndpointProvider::MediaConvertEndpointProvider() : MediaConvertDefaultEpProviderBase(Aws::MediaConvert::MediaConvertEndpointRules::GetRulesBlob(), Aws::MediaConvert::MediaConvertEndpointRules::RulesBlobSize) {} +void MediaConvertBuiltInParameters::SetFromClientConfiguration(const MediaConvertClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MediaConvertBuiltInParameters::SetFromClientConfiguration(const MediaConvertClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MediaConvertBuiltInParameters::SetServiceSpecificParameters(const MediaConvertClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MediaConvert } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveClient.h b/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveClient.h index 195d33f6a54f..3b2615dea819 100644 --- a/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveClient.h +++ b/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveClient.h @@ -52,27 +52,6 @@ class AWS_MEDIALIVE_API MediaLiveClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::MediaLive::MediaLiveClientConfiguration& clientConfiguration = Aws::MediaLive::MediaLiveClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MediaLiveClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MediaLiveClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MediaLiveClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MediaLiveClient(); /** @@ -3427,7 +3406,6 @@ class AWS_MEDIALIVE_API MediaLiveClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MediaLiveClient::UpdateSdiSource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveClientConfiguration.h b/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveClientConfiguration.h new file mode 100644 index 000000000000..701388a86244 --- /dev/null +++ b/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MediaLive { +struct AWS_MEDIALIVE_API MediaLiveClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MediaLiveClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaLiveClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaLiveClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MediaLiveClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMediaLiveSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIALIVE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaLiveClientConfiguration& config); +} // namespace MediaLive +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveEndpointProvider.h b/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveEndpointProvider.h index 0d13aa5e2a48..ec5504535c1b 100644 --- a/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MediaLive { namespace Endpoint { +using MediaLiveClientConfiguration = Aws::MediaLive::MediaLiveClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MediaLiveClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MediaLiveClientConfiguration = Aws::Client::GenericClientConfiguration; -using MediaLiveBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIALIVE_API MediaLiveBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MediaLiveBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MediaLiveClientConfiguration& config); + virtual void SetFromClientConfiguration(const MediaLiveClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MediaLiveClientConfiguration& config); +}; /** * The type for the MediaLive Client Endpoint Provider. @@ -34,6 +43,24 @@ using MediaLiveEndpointProviderBase = using MediaLiveDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MediaLive + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIALIVE_EXTERN template class AWS_MEDIALIVE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MEDIALIVE_EXTERN template class AWS_MEDIALIVE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MediaLive { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveServiceClientModel.h b/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveServiceClientModel.h index 6b5a4897b2d3..1da8aa6eb4d3 100644 --- a/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveServiceClientModel.h @@ -191,7 +191,6 @@ class RetryStrategy; } // namespace Client namespace MediaLive { -using MediaLiveClientConfiguration = Aws::Client::GenericClientConfiguration; using MediaLiveEndpointProviderBase = Aws::MediaLive::Endpoint::MediaLiveEndpointProviderBase; using MediaLiveEndpointProvider = Aws::MediaLive::Endpoint::MediaLiveEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-medialive/source/MediaLiveClient.cpp b/generated/src/aws-cpp-sdk-medialive/source/MediaLiveClient.cpp index 4846f1761d7a..7a1129400420 100644 --- a/generated/src/aws-cpp-sdk-medialive/source/MediaLiveClient.cpp +++ b/generated/src/aws-cpp-sdk-medialive/source/MediaLiveClient.cpp @@ -200,41 +200,6 @@ MediaLiveClient::MediaLiveClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MediaLiveClient::MediaLiveClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaLiveClient::MediaLiveClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaLiveClient::MediaLiveClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MediaLiveClient::~MediaLiveClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MediaLiveClient::accessEndpointProvider() { return m_endpointProvider; } @@ -252,12 +217,7 @@ void MediaLiveClient::init(const MediaLive::MediaLiveClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "medialive"); -} - -void MediaLiveClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MediaLiveClient::InvokeOperationOutcome MediaLiveClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-medialive/source/MediaLiveClientConfiguration.cpp b/generated/src/aws-cpp-sdk-medialive/source/MediaLiveClientConfiguration.cpp new file mode 100644 index 000000000000..8cd152e359e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-medialive/source/MediaLiveClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MediaLive { + +void MediaLiveClientConfiguration::LoadMediaLiveSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MediaLiveClientConfiguration::MediaLiveClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMediaLiveSpecificConfig(this->profileName); +} + +MediaLiveClientConfiguration::MediaLiveClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMediaLiveSpecificConfig(Aws::String(inputProfileName)); +} + +MediaLiveClientConfiguration::MediaLiveClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMediaLiveSpecificConfig(this->profileName); +} + +MediaLiveClientConfiguration::MediaLiveClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMediaLiveSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaLiveClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MediaLive +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-medialive/source/MediaLiveEndpointProvider.cpp b/generated/src/aws-cpp-sdk-medialive/source/MediaLiveEndpointProvider.cpp index 9e8764101968..81c7294f4f63 100644 --- a/generated/src/aws-cpp-sdk-medialive/source/MediaLiveEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-medialive/source/MediaLiveEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_MEDIALIVE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MediaLive { namespace Endpoint { MediaLiveEndpointProvider::MediaLiveEndpointProvider() : MediaLiveDefaultEpProviderBase(Aws::MediaLive::MediaLiveEndpointRules::GetRulesBlob(), Aws::MediaLive::MediaLiveEndpointRules::RulesBlobSize) {} +void MediaLiveBuiltInParameters::SetFromClientConfiguration(const MediaLiveClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MediaLiveBuiltInParameters::SetFromClientConfiguration(const MediaLiveClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MediaLiveBuiltInParameters::SetServiceSpecificParameters(const MediaLiveClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MediaLive } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodClient.h b/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodClient.h index d6165ca0f813..c2e86850e9b3 100644 --- a/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodClient.h +++ b/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodClient.h @@ -56,27 +56,6 @@ class AWS_MEDIAPACKAGEVOD_API MediaPackageVodClient : public Aws::Client::AWSJso const Aws::MediaPackageVod::MediaPackageVodClientConfiguration& clientConfiguration = Aws::MediaPackageVod::MediaPackageVodClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MediaPackageVodClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MediaPackageVodClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MediaPackageVodClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MediaPackageVodClient(); /** @@ -543,7 +522,6 @@ class AWS_MEDIAPACKAGEVOD_API MediaPackageVodClient : public Aws::Client::AWSJso return SubmitAsync(&MediaPackageVodClient::UpdatePackagingGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodClientConfiguration.h b/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodClientConfiguration.h new file mode 100644 index 000000000000..3c2124570512 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MediaPackageVod { +struct AWS_MEDIAPACKAGEVOD_API MediaPackageVodClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MediaPackageVodClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaPackageVodClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaPackageVodClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MediaPackageVodClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMediaPackageVodSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIAPACKAGEVOD_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaPackageVodClientConfiguration& config); +} // namespace MediaPackageVod +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodEndpointProvider.h b/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodEndpointProvider.h index 0c7363e454b2..fd16741d467d 100644 --- a/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MediaPackageVod { namespace Endpoint { +using MediaPackageVodClientConfiguration = Aws::MediaPackageVod::MediaPackageVodClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MediaPackageVodClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MediaPackageVodClientConfiguration = Aws::Client::GenericClientConfiguration; -using MediaPackageVodBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIAPACKAGEVOD_API MediaPackageVodBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MediaPackageVodBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MediaPackageVodClientConfiguration& config); + virtual void SetFromClientConfiguration(const MediaPackageVodClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MediaPackageVodClientConfiguration& config); +}; /** * The type for the MediaPackageVod Client Endpoint Provider. @@ -34,6 +43,24 @@ using MediaPackageVodEndpointProviderBase = using MediaPackageVodDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MediaPackageVod + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIAPACKAGEVOD_EXTERN template class AWS_MEDIAPACKAGEVOD_API Aws::Endpoint::EndpointProviderBase< + MediaPackageVod::Endpoint::MediaPackageVodClientConfiguration, MediaPackageVod::Endpoint::MediaPackageVodBuiltInParameters, + MediaPackageVod::Endpoint::MediaPackageVodClientContextParameters>; + +AWS_MEDIAPACKAGEVOD_EXTERN template class AWS_MEDIAPACKAGEVOD_API Aws::Endpoint::BDDEndpointProvider< + MediaPackageVod::Endpoint::MediaPackageVodClientConfiguration, MediaPackageVod::Endpoint::MediaPackageVodBuiltInParameters, + MediaPackageVod::Endpoint::MediaPackageVodClientContextParameters>; +} // namespace Endpoint + +namespace MediaPackageVod { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodServiceClientModel.h b/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodServiceClientModel.h index 728f041b7c3c..a739acbcdc4b 100644 --- a/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodServiceClientModel.h @@ -65,7 +65,6 @@ class RetryStrategy; } // namespace Client namespace MediaPackageVod { -using MediaPackageVodClientConfiguration = Aws::Client::GenericClientConfiguration; using MediaPackageVodEndpointProviderBase = Aws::MediaPackageVod::Endpoint::MediaPackageVodEndpointProviderBase; using MediaPackageVodEndpointProvider = Aws::MediaPackageVod::Endpoint::MediaPackageVodEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodClient.cpp b/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodClient.cpp index fdcbaa1d0b57..b1016d2a7a2c 100644 --- a/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodClient.cpp +++ b/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodClient.cpp @@ -98,41 +98,6 @@ MediaPackageVodClient::MediaPackageVodClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaPackageVodClient::MediaPackageVodClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaPackageVodClient::MediaPackageVodClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MediaPackageVodClient::~MediaPackageVodClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MediaPackageVodClient::accessEndpointProvider() { return m_endpointProvider; } @@ -150,12 +115,7 @@ void MediaPackageVodClient::init(const MediaPackageVod::MediaPackageVodClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mediapackage-vod"); -} - -void MediaPackageVodClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MediaPackageVodClient::InvokeOperationOutcome MediaPackageVodClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodClientConfiguration.cpp new file mode 100644 index 000000000000..357e340dbce1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MediaPackageVod { + +void MediaPackageVodClientConfiguration::LoadMediaPackageVodSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MediaPackageVodClientConfiguration::MediaPackageVodClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMediaPackageVodSpecificConfig(this->profileName); +} + +MediaPackageVodClientConfiguration::MediaPackageVodClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMediaPackageVodSpecificConfig(Aws::String(inputProfileName)); +} + +MediaPackageVodClientConfiguration::MediaPackageVodClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMediaPackageVodSpecificConfig(this->profileName); +} + +MediaPackageVodClientConfiguration::MediaPackageVodClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMediaPackageVodSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaPackageVodClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MediaPackageVod +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodEndpointProvider.cpp index 371153c7eeb1..24313120cec9 100644 --- a/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MEDIAPACKAGEVOD_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MediaPackageVod { namespace Endpoint { MediaPackageVodEndpointProvider::MediaPackageVodEndpointProvider() : MediaPackageVodDefaultEpProviderBase(Aws::MediaPackageVod::MediaPackageVodEndpointRules::GetRulesBlob(), Aws::MediaPackageVod::MediaPackageVodEndpointRules::RulesBlobSize) {} +void MediaPackageVodBuiltInParameters::SetFromClientConfiguration(const MediaPackageVodClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MediaPackageVodBuiltInParameters::SetFromClientConfiguration(const MediaPackageVodClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MediaPackageVodBuiltInParameters::SetServiceSpecificParameters(const MediaPackageVodClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MediaPackageVod } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageClient.h b/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageClient.h index 3bb997e2441d..6fa1f67bc8e9 100644 --- a/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageClient.h +++ b/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageClient.h @@ -55,27 +55,6 @@ class AWS_MEDIAPACKAGE_API MediaPackageClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::MediaPackage::MediaPackageClientConfiguration& clientConfiguration = Aws::MediaPackage::MediaPackageClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MediaPackageClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MediaPackageClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MediaPackageClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MediaPackageClient(); /** @@ -540,7 +519,6 @@ class AWS_MEDIAPACKAGE_API MediaPackageClient : public Aws::Client::AWSJsonClien return SubmitAsync(&MediaPackageClient::UpdateOriginEndpoint, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageClientConfiguration.h b/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageClientConfiguration.h new file mode 100644 index 000000000000..9cd237c965bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MediaPackage { +struct AWS_MEDIAPACKAGE_API MediaPackageClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MediaPackageClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaPackageClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaPackageClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MediaPackageClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMediaPackageSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIAPACKAGE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaPackageClientConfiguration& config); +} // namespace MediaPackage +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageEndpointProvider.h b/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageEndpointProvider.h index dffbcd7daf3b..d6b50a87ae22 100644 --- a/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MediaPackage { namespace Endpoint { +using MediaPackageClientConfiguration = Aws::MediaPackage::MediaPackageClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MediaPackageClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MediaPackageClientConfiguration = Aws::Client::GenericClientConfiguration; -using MediaPackageBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIAPACKAGE_API MediaPackageBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MediaPackageBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MediaPackageClientConfiguration& config); + virtual void SetFromClientConfiguration(const MediaPackageClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MediaPackageClientConfiguration& config); +}; /** * The type for the MediaPackage Client Endpoint Provider. @@ -34,6 +43,24 @@ using MediaPackageEndpointProviderBase = using MediaPackageDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MediaPackage + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIAPACKAGE_EXTERN template class AWS_MEDIAPACKAGE_API Aws::Endpoint::EndpointProviderBase< + MediaPackage::Endpoint::MediaPackageClientConfiguration, MediaPackage::Endpoint::MediaPackageBuiltInParameters, + MediaPackage::Endpoint::MediaPackageClientContextParameters>; + +AWS_MEDIAPACKAGE_EXTERN template class AWS_MEDIAPACKAGE_API Aws::Endpoint::BDDEndpointProvider< + MediaPackage::Endpoint::MediaPackageClientConfiguration, MediaPackage::Endpoint::MediaPackageBuiltInParameters, + MediaPackage::Endpoint::MediaPackageClientContextParameters>; +} // namespace Endpoint + +namespace MediaPackage { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageServiceClientModel.h b/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageServiceClientModel.h index 036790b1d642..cc5614e006c6 100644 --- a/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageServiceClientModel.h @@ -66,7 +66,6 @@ class RetryStrategy; } // namespace Client namespace MediaPackage { -using MediaPackageClientConfiguration = Aws::Client::GenericClientConfiguration; using MediaPackageEndpointProviderBase = Aws::MediaPackage::Endpoint::MediaPackageEndpointProviderBase; using MediaPackageEndpointProvider = Aws::MediaPackage::Endpoint::MediaPackageEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageClient.cpp b/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageClient.cpp index bf85d5a38f1e..f9ae72bc010c 100644 --- a/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageClient.cpp +++ b/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageClient.cpp @@ -96,41 +96,6 @@ MediaPackageClient::MediaPackageClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaPackageClient::MediaPackageClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaPackageClient::MediaPackageClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MediaPackageClient::~MediaPackageClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MediaPackageClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +113,7 @@ void MediaPackageClient::init(const MediaPackage::MediaPackageClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mediapackage"); -} - -void MediaPackageClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MediaPackageClient::InvokeOperationOutcome MediaPackageClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageClientConfiguration.cpp new file mode 100644 index 000000000000..293f7e4f11e4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MediaPackage { + +void MediaPackageClientConfiguration::LoadMediaPackageSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MediaPackageClientConfiguration::MediaPackageClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMediaPackageSpecificConfig(this->profileName); +} + +MediaPackageClientConfiguration::MediaPackageClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMediaPackageSpecificConfig(Aws::String(inputProfileName)); +} + +MediaPackageClientConfiguration::MediaPackageClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMediaPackageSpecificConfig(this->profileName); +} + +MediaPackageClientConfiguration::MediaPackageClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMediaPackageSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaPackageClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MediaPackage +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageEndpointProvider.cpp index 58743ac1a5ca..123929c5e69b 100644 --- a/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MEDIAPACKAGE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MediaPackage { namespace Endpoint { MediaPackageEndpointProvider::MediaPackageEndpointProvider() : MediaPackageDefaultEpProviderBase(Aws::MediaPackage::MediaPackageEndpointRules::GetRulesBlob(), Aws::MediaPackage::MediaPackageEndpointRules::RulesBlobSize) {} +void MediaPackageBuiltInParameters::SetFromClientConfiguration(const MediaPackageClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MediaPackageBuiltInParameters::SetFromClientConfiguration(const MediaPackageClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MediaPackageBuiltInParameters::SetServiceSpecificParameters(const MediaPackageClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MediaPackage } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2Client.h b/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2Client.h index f26a74bfd684..209ec25a9e18 100644 --- a/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2Client.h +++ b/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2Client.h @@ -74,27 +74,6 @@ class AWS_MEDIAPACKAGEV2_API Mediapackagev2Client : public Aws::Client::AWSJsonC const Aws::mediapackagev2::Mediapackagev2ClientConfiguration& clientConfiguration = Aws::mediapackagev2::Mediapackagev2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Mediapackagev2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Mediapackagev2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Mediapackagev2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Mediapackagev2Client(); /** @@ -946,7 +925,6 @@ class AWS_MEDIAPACKAGEV2_API Mediapackagev2Client : public Aws::Client::AWSJsonC return SubmitAsync(&Mediapackagev2Client::UpdateOriginEndpoint, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2ClientConfiguration.h b/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2ClientConfiguration.h new file mode 100644 index 000000000000..f5148fd07ff2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace mediapackagev2 { +struct AWS_MEDIAPACKAGEV2_API Mediapackagev2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Mediapackagev2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Mediapackagev2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Mediapackagev2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Mediapackagev2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void Loadmediapackagev2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIAPACKAGEV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Mediapackagev2ClientConfiguration& config); +} // namespace mediapackagev2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2EndpointProvider.h b/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2EndpointProvider.h index 1ed20d10685d..b98edf560164 100644 --- a/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace mediapackagev2 { namespace Endpoint { +using Mediapackagev2ClientConfiguration = Aws::mediapackagev2::Mediapackagev2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Mediapackagev2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Mediapackagev2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using Mediapackagev2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIAPACKAGEV2_API Mediapackagev2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Mediapackagev2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Mediapackagev2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const Mediapackagev2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Mediapackagev2ClientConfiguration& config); +}; /** * The type for the mediapackagev2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using Mediapackagev2EndpointProviderBase = using Mediapackagev2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace mediapackagev2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIAPACKAGEV2_EXTERN template class AWS_MEDIAPACKAGEV2_API Aws::Endpoint::EndpointProviderBase< + mediapackagev2::Endpoint::Mediapackagev2ClientConfiguration, mediapackagev2::Endpoint::Mediapackagev2BuiltInParameters, + mediapackagev2::Endpoint::Mediapackagev2ClientContextParameters>; + +AWS_MEDIAPACKAGEV2_EXTERN template class AWS_MEDIAPACKAGEV2_API Aws::Endpoint::BDDEndpointProvider< + mediapackagev2::Endpoint::Mediapackagev2ClientConfiguration, mediapackagev2::Endpoint::Mediapackagev2BuiltInParameters, + mediapackagev2::Endpoint::Mediapackagev2ClientContextParameters>; +} // namespace Endpoint + +namespace mediapackagev2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2ServiceClientModel.h b/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2ServiceClientModel.h index fd29ad6b16f1..3110a4efc333 100644 --- a/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2ServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace mediapackagev2 { -using Mediapackagev2ClientConfiguration = Aws::Client::GenericClientConfiguration; using Mediapackagev2EndpointProviderBase = Aws::mediapackagev2::Endpoint::Mediapackagev2EndpointProviderBase; using Mediapackagev2EndpointProvider = Aws::mediapackagev2::Endpoint::Mediapackagev2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2Client.cpp b/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2Client.cpp index bd4c1994e424..878b7e2c8e87 100644 --- a/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2Client.cpp +++ b/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2Client.cpp @@ -108,41 +108,6 @@ Mediapackagev2Client::Mediapackagev2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Mediapackagev2Client::Mediapackagev2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Mediapackagev2Client::Mediapackagev2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Mediapackagev2Client::~Mediapackagev2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& Mediapackagev2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -160,12 +125,7 @@ void Mediapackagev2Client::init(const mediapackagev2::Mediapackagev2ClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mediapackagev2"); -} - -void Mediapackagev2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Mediapackagev2Client::InvokeOperationOutcome Mediapackagev2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2ClientConfiguration.cpp new file mode 100644 index 000000000000..bef5e823a34f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace mediapackagev2 { + +void Mediapackagev2ClientConfiguration::Loadmediapackagev2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Mediapackagev2ClientConfiguration::Mediapackagev2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + Loadmediapackagev2SpecificConfig(this->profileName); +} + +Mediapackagev2ClientConfiguration::Mediapackagev2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + Loadmediapackagev2SpecificConfig(Aws::String(inputProfileName)); +} + +Mediapackagev2ClientConfiguration::Mediapackagev2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + Loadmediapackagev2SpecificConfig(this->profileName); +} + +Mediapackagev2ClientConfiguration::Mediapackagev2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + Loadmediapackagev2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Mediapackagev2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace mediapackagev2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2EndpointProvider.cpp index 41e587cf6168..d389e73e3e4b 100644 --- a/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MEDIAPACKAGEV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace mediapackagev2 { namespace Endpoint { Mediapackagev2EndpointProvider::Mediapackagev2EndpointProvider() : Mediapackagev2DefaultEpProviderBase(Aws::mediapackagev2::Mediapackagev2EndpointRules::GetRulesBlob(), Aws::mediapackagev2::Mediapackagev2EndpointRules::RulesBlobSize) {} +void Mediapackagev2BuiltInParameters::SetFromClientConfiguration(const Mediapackagev2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Mediapackagev2BuiltInParameters::SetFromClientConfiguration(const Mediapackagev2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Mediapackagev2BuiltInParameters::SetServiceSpecificParameters(const Mediapackagev2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace mediapackagev2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataClient.h b/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataClient.h index 2b76bb8f162d..2a27e302df3e 100644 --- a/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataClient.h +++ b/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataClient.h @@ -58,27 +58,6 @@ class AWS_MEDIASTOREDATA_API MediaStoreDataClient : public Aws::Client::AWSJsonC const Aws::MediaStoreData::MediaStoreDataClientConfiguration& clientConfiguration = Aws::MediaStoreData::MediaStoreDataClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MediaStoreDataClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MediaStoreDataClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MediaStoreDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MediaStoreDataClient(); /** @@ -214,7 +193,6 @@ class AWS_MEDIASTOREDATA_API MediaStoreDataClient : public Aws::Client::AWSJsonC return SubmitAsync(&MediaStoreDataClient::PutObject, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataClientConfiguration.h b/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataClientConfiguration.h new file mode 100644 index 000000000000..d9433c395bea --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MediaStoreData { +struct AWS_MEDIASTOREDATA_API MediaStoreDataClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MediaStoreDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaStoreDataClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaStoreDataClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MediaStoreDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadMediaStoreDataSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIASTOREDATA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaStoreDataClientConfiguration& config); +} // namespace MediaStoreData +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataEndpointProvider.h b/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataEndpointProvider.h index a7bf942d25d8..8d479cb78b4a 100644 --- a/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MediaStoreData { namespace Endpoint { +using MediaStoreDataClientConfiguration = Aws::MediaStoreData::MediaStoreDataClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MediaStoreDataClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MediaStoreDataClientConfiguration = Aws::Client::GenericClientConfiguration; -using MediaStoreDataBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIASTOREDATA_API MediaStoreDataBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MediaStoreDataBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MediaStoreDataClientConfiguration& config); + virtual void SetFromClientConfiguration(const MediaStoreDataClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MediaStoreDataClientConfiguration& config); +}; /** * The type for the MediaStoreData Client Endpoint Provider. @@ -34,6 +43,24 @@ using MediaStoreDataEndpointProviderBase = using MediaStoreDataDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MediaStoreData + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIASTOREDATA_EXTERN template class AWS_MEDIASTOREDATA_API Aws::Endpoint::EndpointProviderBase< + MediaStoreData::Endpoint::MediaStoreDataClientConfiguration, MediaStoreData::Endpoint::MediaStoreDataBuiltInParameters, + MediaStoreData::Endpoint::MediaStoreDataClientContextParameters>; + +AWS_MEDIASTOREDATA_EXTERN template class AWS_MEDIASTOREDATA_API Aws::Endpoint::BDDEndpointProvider< + MediaStoreData::Endpoint::MediaStoreDataClientConfiguration, MediaStoreData::Endpoint::MediaStoreDataBuiltInParameters, + MediaStoreData::Endpoint::MediaStoreDataClientContextParameters>; +} // namespace Endpoint + +namespace MediaStoreData { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataServiceClientModel.h b/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataServiceClientModel.h index a168f0347bd0..5987876aca29 100644 --- a/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace MediaStoreData { -using MediaStoreDataClientConfiguration = Aws::Client::GenericClientConfiguration; using MediaStoreDataEndpointProviderBase = Aws::MediaStoreData::Endpoint::MediaStoreDataEndpointProviderBase; using MediaStoreDataEndpointProvider = Aws::MediaStoreData::Endpoint::MediaStoreDataEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataClient.cpp b/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataClient.cpp index 244f1b494622..c10e17f8b384 100644 --- a/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataClient.cpp +++ b/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataClient.cpp @@ -85,43 +85,6 @@ MediaStoreDataClient::MediaStoreDataClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaStoreDataClient::MediaStoreDataClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaStoreDataClient::MediaStoreDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MediaStoreDataClient::~MediaStoreDataClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MediaStoreDataClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +102,7 @@ void MediaStoreDataClient::init(const MediaStoreData::MediaStoreDataClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mediastore"); -} - -void MediaStoreDataClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MediaStoreDataClient::InvokeOperationOutcome MediaStoreDataClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataClientConfiguration.cpp new file mode 100644 index 000000000000..2e491b55f4c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MediaStoreData { + +void MediaStoreDataClientConfiguration::LoadMediaStoreDataSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MediaStoreDataClientConfiguration::MediaStoreDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMediaStoreDataSpecificConfig(this->profileName); +} + +MediaStoreDataClientConfiguration::MediaStoreDataClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMediaStoreDataSpecificConfig(Aws::String(inputProfileName)); +} + +MediaStoreDataClientConfiguration::MediaStoreDataClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMediaStoreDataSpecificConfig(this->profileName); +} + +MediaStoreDataClientConfiguration::MediaStoreDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMediaStoreDataSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaStoreDataClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace MediaStoreData +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataEndpointProvider.cpp index b042e7ccfbef..62f5ffea3fa5 100644 --- a/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MEDIASTOREDATA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MediaStoreData { namespace Endpoint { MediaStoreDataEndpointProvider::MediaStoreDataEndpointProvider() : MediaStoreDataDefaultEpProviderBase(Aws::MediaStoreData::MediaStoreDataEndpointRules::GetRulesBlob(), Aws::MediaStoreData::MediaStoreDataEndpointRules::RulesBlobSize) {} +void MediaStoreDataBuiltInParameters::SetFromClientConfiguration(const MediaStoreDataClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MediaStoreDataBuiltInParameters::SetFromClientConfiguration(const MediaStoreDataClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MediaStoreDataBuiltInParameters::SetServiceSpecificParameters(const MediaStoreDataClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MediaStoreData } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreClient.h b/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreClient.h index 423f592dc3a6..fe07c36f33ad 100644 --- a/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreClient.h +++ b/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreClient.h @@ -56,27 +56,6 @@ class AWS_MEDIASTORE_API MediaStoreClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::MediaStore::MediaStoreClientConfiguration& clientConfiguration = Aws::MediaStore::MediaStoreClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MediaStoreClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MediaStoreClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MediaStoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MediaStoreClient(); /** @@ -695,7 +674,6 @@ class AWS_MEDIASTORE_API MediaStoreClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MediaStoreClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreClientConfiguration.h b/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreClientConfiguration.h new file mode 100644 index 000000000000..e5fc90f8e78a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MediaStore { +struct AWS_MEDIASTORE_API MediaStoreClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MediaStoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaStoreClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaStoreClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MediaStoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMediaStoreSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIASTORE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaStoreClientConfiguration& config); +} // namespace MediaStore +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreEndpointProvider.h b/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreEndpointProvider.h index b03eb99c5944..02cfd86e51d6 100644 --- a/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MediaStore { namespace Endpoint { +using MediaStoreClientConfiguration = Aws::MediaStore::MediaStoreClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MediaStoreClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MediaStoreClientConfiguration = Aws::Client::GenericClientConfiguration; -using MediaStoreBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIASTORE_API MediaStoreBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MediaStoreBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MediaStoreClientConfiguration& config); + virtual void SetFromClientConfiguration(const MediaStoreClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MediaStoreClientConfiguration& config); +}; /** * The type for the MediaStore Client Endpoint Provider. @@ -34,6 +43,24 @@ using MediaStoreEndpointProviderBase = using MediaStoreDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MediaStore + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIASTORE_EXTERN template class AWS_MEDIASTORE_API Aws::Endpoint::EndpointProviderBase< + MediaStore::Endpoint::MediaStoreClientConfiguration, MediaStore::Endpoint::MediaStoreBuiltInParameters, + MediaStore::Endpoint::MediaStoreClientContextParameters>; + +AWS_MEDIASTORE_EXTERN template class AWS_MEDIASTORE_API Aws::Endpoint::BDDEndpointProvider< + MediaStore::Endpoint::MediaStoreClientConfiguration, MediaStore::Endpoint::MediaStoreBuiltInParameters, + MediaStore::Endpoint::MediaStoreClientContextParameters>; +} // namespace Endpoint + +namespace MediaStore { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreServiceClientModel.h b/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreServiceClientModel.h index db737e121638..77faed78d1a4 100644 --- a/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreServiceClientModel.h @@ -69,7 +69,6 @@ class RetryStrategy; } // namespace Client namespace MediaStore { -using MediaStoreClientConfiguration = Aws::Client::GenericClientConfiguration; using MediaStoreEndpointProviderBase = Aws::MediaStore::Endpoint::MediaStoreEndpointProviderBase; using MediaStoreEndpointProvider = Aws::MediaStore::Endpoint::MediaStoreEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreClient.cpp b/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreClient.cpp index f10a46744196..95a1a2196c2e 100644 --- a/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreClient.cpp +++ b/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreClient.cpp @@ -98,41 +98,6 @@ MediaStoreClient::MediaStoreClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MediaStoreClient::MediaStoreClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaStoreClient::MediaStoreClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaStoreClient::MediaStoreClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MediaStoreClient::~MediaStoreClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MediaStoreClient::accessEndpointProvider() { return m_endpointProvider; } @@ -150,12 +115,7 @@ void MediaStoreClient::init(const MediaStore::MediaStoreClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mediastore"); -} - -void MediaStoreClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MediaStoreClient::InvokeOperationOutcome MediaStoreClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreClientConfiguration.cpp new file mode 100644 index 000000000000..bc2b153b0ee7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MediaStore { + +void MediaStoreClientConfiguration::LoadMediaStoreSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MediaStoreClientConfiguration::MediaStoreClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMediaStoreSpecificConfig(this->profileName); +} + +MediaStoreClientConfiguration::MediaStoreClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMediaStoreSpecificConfig(Aws::String(inputProfileName)); +} + +MediaStoreClientConfiguration::MediaStoreClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMediaStoreSpecificConfig(this->profileName); +} + +MediaStoreClientConfiguration::MediaStoreClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMediaStoreSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaStoreClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MediaStore +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreEndpointProvider.cpp index 4726271abc6f..386b5664d2c1 100644 --- a/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mediastore/source/MediaStoreEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_MEDIASTORE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MediaStore { namespace Endpoint { MediaStoreEndpointProvider::MediaStoreEndpointProvider() : MediaStoreDefaultEpProviderBase(Aws::MediaStore::MediaStoreEndpointRules::GetRulesBlob(), Aws::MediaStore::MediaStoreEndpointRules::RulesBlobSize) {} +void MediaStoreBuiltInParameters::SetFromClientConfiguration(const MediaStoreClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MediaStoreBuiltInParameters::SetFromClientConfiguration(const MediaStoreClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MediaStoreBuiltInParameters::SetServiceSpecificParameters(const MediaStoreClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MediaStore } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClient.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClient.h index 6ccbd3a84555..45d53fdcd3bf 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClient.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClient.h @@ -65,27 +65,6 @@ class AWS_MEDIATAILOR_API MediaTailorClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::MediaTailor::MediaTailorClientConfiguration& clientConfiguration = Aws::MediaTailor::MediaTailorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MediaTailorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MediaTailorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MediaTailorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MediaTailorClient(); /** @@ -1444,7 +1423,6 @@ class AWS_MEDIATAILOR_API MediaTailorClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MediaTailorClient::UpdateVodSource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClientConfiguration.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClientConfiguration.h new file mode 100644 index 000000000000..02027b2d5205 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MediaTailor { +struct AWS_MEDIATAILOR_API MediaTailorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MediaTailorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaTailorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MediaTailorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MediaTailorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMediaTailorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDIATAILOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaTailorClientConfiguration& config); +} // namespace MediaTailor +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorEndpointProvider.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorEndpointProvider.h index cc2b6af6f829..8df3c6ef0cfe 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MediaTailor { namespace Endpoint { +using MediaTailorClientConfiguration = Aws::MediaTailor::MediaTailorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MediaTailorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MediaTailorClientConfiguration = Aws::Client::GenericClientConfiguration; -using MediaTailorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDIATAILOR_API MediaTailorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MediaTailorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MediaTailorClientConfiguration& config); + virtual void SetFromClientConfiguration(const MediaTailorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MediaTailorClientConfiguration& config); +}; /** * The type for the MediaTailor Client Endpoint Provider. @@ -34,6 +43,24 @@ using MediaTailorEndpointProviderBase = using MediaTailorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MediaTailor + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDIATAILOR_EXTERN template class AWS_MEDIATAILOR_API Aws::Endpoint::EndpointProviderBase< + MediaTailor::Endpoint::MediaTailorClientConfiguration, MediaTailor::Endpoint::MediaTailorBuiltInParameters, + MediaTailor::Endpoint::MediaTailorClientContextParameters>; + +AWS_MEDIATAILOR_EXTERN template class AWS_MEDIATAILOR_API Aws::Endpoint::BDDEndpointProvider< + MediaTailor::Endpoint::MediaTailorClientConfiguration, MediaTailor::Endpoint::MediaTailorBuiltInParameters, + MediaTailor::Endpoint::MediaTailorClientContextParameters>; +} // namespace Endpoint + +namespace MediaTailor { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorServiceClientModel.h b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorServiceClientModel.h index aa578c564e09..726ed41a15ef 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorServiceClientModel.h @@ -97,7 +97,6 @@ class RetryStrategy; } // namespace Client namespace MediaTailor { -using MediaTailorClientConfiguration = Aws::Client::GenericClientConfiguration; using MediaTailorEndpointProviderBase = Aws::MediaTailor::Endpoint::MediaTailorEndpointProviderBase; using MediaTailorEndpointProvider = Aws::MediaTailor::Endpoint::MediaTailorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorClient.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorClient.cpp index 076b15f6b802..4f85b0dfe949 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorClient.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorClient.cpp @@ -125,41 +125,6 @@ MediaTailorClient::MediaTailorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaTailorClient::MediaTailorClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MediaTailorClient::MediaTailorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MediaTailorClient::~MediaTailorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MediaTailorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -177,12 +142,7 @@ void MediaTailorClient::init(const MediaTailor::MediaTailorClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mediatailor"); -} - -void MediaTailorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MediaTailorClient::InvokeOperationOutcome MediaTailorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorClientConfiguration.cpp new file mode 100644 index 000000000000..0ad871c4596a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MediaTailor { + +void MediaTailorClientConfiguration::LoadMediaTailorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MediaTailorClientConfiguration::MediaTailorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMediaTailorSpecificConfig(this->profileName); +} + +MediaTailorClientConfiguration::MediaTailorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMediaTailorSpecificConfig(Aws::String(inputProfileName)); +} + +MediaTailorClientConfiguration::MediaTailorClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMediaTailorSpecificConfig(this->profileName); +} + +MediaTailorClientConfiguration::MediaTailorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMediaTailorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MediaTailorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MediaTailor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorEndpointProvider.cpp index 9f3bca9ac18b..b81fb1e1faf9 100644 --- a/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MEDIATAILOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MediaTailor { namespace Endpoint { MediaTailorEndpointProvider::MediaTailorEndpointProvider() : MediaTailorDefaultEpProviderBase(Aws::MediaTailor::MediaTailorEndpointRules::GetRulesBlob(), Aws::MediaTailor::MediaTailorEndpointRules::RulesBlobSize) {} +void MediaTailorBuiltInParameters::SetFromClientConfiguration(const MediaTailorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MediaTailorBuiltInParameters::SetFromClientConfiguration(const MediaTailorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MediaTailorBuiltInParameters::SetServiceSpecificParameters(const MediaTailorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MediaTailor } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingClient.h b/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingClient.h index 3d1d75eb8349..c57bf70df542 100644 --- a/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingClient.h +++ b/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingClient.h @@ -59,27 +59,6 @@ class AWS_MEDICALIMAGING_API MedicalImagingClient : public Aws::Client::AWSJsonC const Aws::MedicalImaging::MedicalImagingClientConfiguration& clientConfiguration = Aws::MedicalImaging::MedicalImagingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MedicalImagingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MedicalImagingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MedicalImagingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MedicalImagingClient(); /** @@ -565,7 +544,6 @@ class AWS_MEDICALIMAGING_API MedicalImagingClient : public Aws::Client::AWSJsonC return SubmitAsync(&MedicalImagingClient::UpdateImageSetMetadata, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingClientConfiguration.h b/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingClientConfiguration.h new file mode 100644 index 000000000000..11275ed86f77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MedicalImaging { +struct AWS_MEDICALIMAGING_API MedicalImagingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MedicalImagingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MedicalImagingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MedicalImagingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MedicalImagingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadMedicalImagingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEDICALIMAGING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MedicalImagingClientConfiguration& config); +} // namespace MedicalImaging +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingEndpointProvider.h b/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingEndpointProvider.h index 6e4ef0317332..dcf01456ab16 100644 --- a/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MedicalImaging { namespace Endpoint { +using MedicalImagingClientConfiguration = Aws::MedicalImaging::MedicalImagingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MedicalImagingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MedicalImagingClientConfiguration = Aws::Client::GenericClientConfiguration; -using MedicalImagingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEDICALIMAGING_API MedicalImagingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MedicalImagingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MedicalImagingClientConfiguration& config); + virtual void SetFromClientConfiguration(const MedicalImagingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MedicalImagingClientConfiguration& config); +}; /** * The type for the MedicalImaging Client Endpoint Provider. @@ -34,6 +43,24 @@ using MedicalImagingEndpointProviderBase = using MedicalImagingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MedicalImaging + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEDICALIMAGING_EXTERN template class AWS_MEDICALIMAGING_API Aws::Endpoint::EndpointProviderBase< + MedicalImaging::Endpoint::MedicalImagingClientConfiguration, MedicalImaging::Endpoint::MedicalImagingBuiltInParameters, + MedicalImaging::Endpoint::MedicalImagingClientContextParameters>; + +AWS_MEDICALIMAGING_EXTERN template class AWS_MEDICALIMAGING_API Aws::Endpoint::BDDEndpointProvider< + MedicalImaging::Endpoint::MedicalImagingClientConfiguration, MedicalImaging::Endpoint::MedicalImagingBuiltInParameters, + MedicalImaging::Endpoint::MedicalImagingClientContextParameters>; +} // namespace Endpoint + +namespace MedicalImaging { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingServiceClientModel.h b/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingServiceClientModel.h index f24295299a92..c90993638f2c 100644 --- a/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingServiceClientModel.h @@ -65,7 +65,6 @@ class RetryStrategy; } // namespace Client namespace MedicalImaging { -using MedicalImagingClientConfiguration = Aws::Client::GenericClientConfiguration; using MedicalImagingEndpointProviderBase = Aws::MedicalImaging::Endpoint::MedicalImagingEndpointProviderBase; using MedicalImagingEndpointProvider = Aws::MedicalImaging::Endpoint::MedicalImagingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingClient.cpp b/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingClient.cpp index d69bc5b83aa6..9b9d395a78d0 100644 --- a/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingClient.cpp +++ b/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingClient.cpp @@ -96,41 +96,6 @@ MedicalImagingClient::MedicalImagingClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MedicalImagingClient::MedicalImagingClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MedicalImagingClient::MedicalImagingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MedicalImagingClient::~MedicalImagingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MedicalImagingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +113,7 @@ void MedicalImagingClient::init(const MedicalImaging::MedicalImagingClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "medical-imaging"); -} - -void MedicalImagingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MedicalImagingClient::InvokeOperationOutcome MedicalImagingClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingClientConfiguration.cpp new file mode 100644 index 000000000000..758d333de4fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MedicalImaging { + +void MedicalImagingClientConfiguration::LoadMedicalImagingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MedicalImagingClientConfiguration::MedicalImagingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMedicalImagingSpecificConfig(this->profileName); +} + +MedicalImagingClientConfiguration::MedicalImagingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMedicalImagingSpecificConfig(Aws::String(inputProfileName)); +} + +MedicalImagingClientConfiguration::MedicalImagingClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMedicalImagingSpecificConfig(this->profileName); +} + +MedicalImagingClientConfiguration::MedicalImagingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMedicalImagingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MedicalImagingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MedicalImaging +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingEndpointProvider.cpp index e91e632674d4..a4bc7061f669 100644 --- a/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MEDICALIMAGING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MedicalImaging { namespace Endpoint { MedicalImagingEndpointProvider::MedicalImagingEndpointProvider() : MedicalImagingDefaultEpProviderBase(Aws::MedicalImaging::MedicalImagingEndpointRules::GetRulesBlob(), Aws::MedicalImaging::MedicalImagingEndpointRules::RulesBlobSize) {} +void MedicalImagingBuiltInParameters::SetFromClientConfiguration(const MedicalImagingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MedicalImagingBuiltInParameters::SetFromClientConfiguration(const MedicalImagingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MedicalImagingBuiltInParameters::SetServiceSpecificParameters(const MedicalImagingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MedicalImaging } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClient.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClient.h index 2f356057102d..4b534061ce95 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClient.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClient.h @@ -58,27 +58,6 @@ class AWS_MEMORYDB_API MemoryDBClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::MemoryDB::MemoryDBClientConfiguration& clientConfiguration = Aws::MemoryDB::MemoryDBClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MemoryDBClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MemoryDBClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MemoryDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MemoryDBClient(); /** @@ -1378,7 +1357,6 @@ class AWS_MEMORYDB_API MemoryDBClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MemoryDBClient::UpdateUser, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClientConfiguration.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClientConfiguration.h new file mode 100644 index 000000000000..e0ca4b88a7cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MemoryDB { +struct AWS_MEMORYDB_API MemoryDBClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MemoryDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MemoryDBClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MemoryDBClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MemoryDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMemoryDBSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MEMORYDB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MemoryDBClientConfiguration& config); +} // namespace MemoryDB +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBEndpointProvider.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBEndpointProvider.h index 82a0848ff454..f8815e8bd641 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MemoryDB { namespace Endpoint { +using MemoryDBClientConfiguration = Aws::MemoryDB::MemoryDBClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MemoryDBClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MemoryDBClientConfiguration = Aws::Client::GenericClientConfiguration; -using MemoryDBBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MEMORYDB_API MemoryDBBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MemoryDBBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MemoryDBClientConfiguration& config); + virtual void SetFromClientConfiguration(const MemoryDBClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MemoryDBClientConfiguration& config); +}; /** * The type for the MemoryDB Client Endpoint Provider. @@ -34,6 +43,24 @@ using MemoryDBEndpointProviderBase = using MemoryDBDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MemoryDB + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MEMORYDB_EXTERN template class AWS_MEMORYDB_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MEMORYDB_EXTERN template class AWS_MEMORYDB_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MemoryDB { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBServiceClientModel.h b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBServiceClientModel.h index 272914d360e6..0ffec51cff28 100644 --- a/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBServiceClientModel.h @@ -104,7 +104,6 @@ class RetryStrategy; } // namespace Client namespace MemoryDB { -using MemoryDBClientConfiguration = Aws::Client::GenericClientConfiguration; using MemoryDBEndpointProviderBase = Aws::MemoryDB::Endpoint::MemoryDBEndpointProviderBase; using MemoryDBEndpointProvider = Aws::MemoryDB::Endpoint::MemoryDBEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClient.cpp b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClient.cpp index 52d449c3fcd9..456145a59f05 100644 --- a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClient.cpp +++ b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClient.cpp @@ -122,41 +122,6 @@ MemoryDBClient::MemoryDBClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MemoryDBClient::MemoryDBClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MemoryDBClient::MemoryDBClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MemoryDBClient::MemoryDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MemoryDBClient::~MemoryDBClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MemoryDBClient::accessEndpointProvider() { return m_endpointProvider; } @@ -174,12 +139,7 @@ void MemoryDBClient::init(const MemoryDB::MemoryDBClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "memorydb"); -} - -void MemoryDBClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MemoryDBClient::InvokeOperationOutcome MemoryDBClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClientConfiguration.cpp b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClientConfiguration.cpp new file mode 100644 index 000000000000..1d318d604046 --- /dev/null +++ b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MemoryDB { + +void MemoryDBClientConfiguration::LoadMemoryDBSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MemoryDBClientConfiguration::MemoryDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMemoryDBSpecificConfig(this->profileName); +} + +MemoryDBClientConfiguration::MemoryDBClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMemoryDBSpecificConfig(Aws::String(inputProfileName)); +} + +MemoryDBClientConfiguration::MemoryDBClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMemoryDBSpecificConfig(this->profileName); +} + +MemoryDBClientConfiguration::MemoryDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMemoryDBSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MemoryDBClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MemoryDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBEndpointProvider.cpp b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBEndpointProvider.cpp index 1ff2c596e219..efc6bd48ae4d 100644 --- a/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-memorydb/source/MemoryDBEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_MEMORYDB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MemoryDB { namespace Endpoint { MemoryDBEndpointProvider::MemoryDBEndpointProvider() : MemoryDBDefaultEpProviderBase(Aws::MemoryDB::MemoryDBEndpointRules::GetRulesBlob(), Aws::MemoryDB::MemoryDBEndpointRules::RulesBlobSize) {} +void MemoryDBBuiltInParameters::SetFromClientConfiguration(const MemoryDBClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MemoryDBBuiltInParameters::SetFromClientConfiguration(const MemoryDBClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MemoryDBBuiltInParameters::SetServiceSpecificParameters(const MemoryDBClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MemoryDB } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringClient.h b/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringClient.h index 91bf63cfb33b..71b521041b4f 100644 --- a/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringClient.h +++ b/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringClient.h @@ -120,27 +120,6 @@ class AWS_MARKETPLACEMETERING_API MarketplaceMeteringClient : public Aws::Client const Aws::MarketplaceMetering::MarketplaceMeteringClientConfiguration& clientConfiguration = Aws::MarketplaceMetering::MarketplaceMeteringClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MarketplaceMeteringClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MarketplaceMeteringClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MarketplaceMeteringClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MarketplaceMeteringClient(); /** @@ -428,7 +407,6 @@ class AWS_MARKETPLACEMETERING_API MarketplaceMeteringClient : public Aws::Client return SubmitAsync(&MarketplaceMeteringClient::ResolveCustomer, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringClientConfiguration.h b/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringClientConfiguration.h new file mode 100644 index 000000000000..c82caa138291 --- /dev/null +++ b/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MarketplaceMetering { +struct AWS_MARKETPLACEMETERING_API MarketplaceMeteringClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MarketplaceMeteringClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceMeteringClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MarketplaceMeteringClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MarketplaceMeteringClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMarketplaceMeteringSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MARKETPLACEMETERING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceMeteringClientConfiguration& config); +} // namespace MarketplaceMetering +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringEndpointProvider.h b/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringEndpointProvider.h index e951560c52fd..360f5a9619b7 100644 --- a/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MarketplaceMetering { namespace Endpoint { +using MarketplaceMeteringClientConfiguration = Aws::MarketplaceMetering::MarketplaceMeteringClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MarketplaceMeteringClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MarketplaceMeteringClientConfiguration = Aws::Client::GenericClientConfiguration; -using MarketplaceMeteringBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MARKETPLACEMETERING_API MarketplaceMeteringBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MarketplaceMeteringBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MarketplaceMeteringClientConfiguration& config); + virtual void SetFromClientConfiguration(const MarketplaceMeteringClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MarketplaceMeteringClientConfiguration& config); +}; /** * The type for the MarketplaceMetering Client Endpoint Provider. @@ -36,6 +45,26 @@ using MarketplaceMeteringDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MarketplaceMetering + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MARKETPLACEMETERING_EXTERN template class AWS_MARKETPLACEMETERING_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MARKETPLACEMETERING_EXTERN template class AWS_MARKETPLACEMETERING_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MarketplaceMetering { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringServiceClientModel.h b/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringServiceClientModel.h index 3cf5deeb48b7..3e800c8759b9 100644 --- a/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringServiceClientModel.h @@ -50,7 +50,6 @@ class RetryStrategy; } // namespace Client namespace MarketplaceMetering { -using MarketplaceMeteringClientConfiguration = Aws::Client::GenericClientConfiguration; using MarketplaceMeteringEndpointProviderBase = Aws::MarketplaceMetering::Endpoint::MarketplaceMeteringEndpointProviderBase; using MarketplaceMeteringEndpointProvider = Aws::MarketplaceMetering::Endpoint::MarketplaceMeteringEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringClient.cpp b/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringClient.cpp index e01ad3b87c54..e8d6c588535f 100644 --- a/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringClient.cpp +++ b/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringClient.cpp @@ -85,42 +85,6 @@ MarketplaceMeteringClient::MarketplaceMeteringClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceMeteringClient::MarketplaceMeteringClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MarketplaceMeteringClient::MarketplaceMeteringClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MarketplaceMeteringClient::~MarketplaceMeteringClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MarketplaceMeteringClient::accessEndpointProvider() { return m_endpointProvider; } @@ -138,12 +102,7 @@ void MarketplaceMeteringClient::init(const MarketplaceMetering::MarketplaceMeter AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aws-marketplace"); -} - -void MarketplaceMeteringClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MarketplaceMeteringClient::InvokeOperationOutcome MarketplaceMeteringClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringClientConfiguration.cpp b/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringClientConfiguration.cpp new file mode 100644 index 000000000000..909c74634ae2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MarketplaceMetering { + +void MarketplaceMeteringClientConfiguration::LoadMarketplaceMeteringSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MarketplaceMeteringClientConfiguration::MarketplaceMeteringClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMarketplaceMeteringSpecificConfig(this->profileName); +} + +MarketplaceMeteringClientConfiguration::MarketplaceMeteringClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMarketplaceMeteringSpecificConfig(Aws::String(inputProfileName)); +} + +MarketplaceMeteringClientConfiguration::MarketplaceMeteringClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMarketplaceMeteringSpecificConfig(this->profileName); +} + +MarketplaceMeteringClientConfiguration::MarketplaceMeteringClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMarketplaceMeteringSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MarketplaceMeteringClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MarketplaceMetering +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringEndpointProvider.cpp b/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringEndpointProvider.cpp index b190487deabd..075b03aacf98 100644 --- a/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MARKETPLACEMETERING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MarketplaceMetering { namespace Endpoint { MarketplaceMeteringEndpointProvider::MarketplaceMeteringEndpointProvider() : MarketplaceMeteringDefaultEpProviderBase(Aws::MarketplaceMetering::MarketplaceMeteringEndpointRules::GetRulesBlob(), Aws::MarketplaceMetering::MarketplaceMeteringEndpointRules::RulesBlobSize) {} +void MarketplaceMeteringBuiltInParameters::SetFromClientConfiguration(const MarketplaceMeteringClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MarketplaceMeteringBuiltInParameters::SetFromClientConfiguration(const MarketplaceMeteringClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MarketplaceMeteringBuiltInParameters::SetServiceSpecificParameters(const MarketplaceMeteringClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MarketplaceMetering } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnClient.h b/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnClient.h index 191622a958f2..04e5264c703e 100644 --- a/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnClient.h +++ b/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnClient.h @@ -52,27 +52,6 @@ class AWS_MGN_API MgnClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::mgn::MgnClientConfiguration& clientConfiguration = Aws::mgn::MgnClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MgnClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MgnClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MgnClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MgnClient(); /** @@ -2749,7 +2728,6 @@ class AWS_MGN_API MgnClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MgnClient::UpdateWave, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnClientConfiguration.h b/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnClientConfiguration.h new file mode 100644 index 000000000000..0af3790b6f6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace mgn { +struct AWS_MGN_API MgnClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MgnClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MgnClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MgnClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MgnClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadmgnSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MGN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MgnClientConfiguration& config); +} // namespace mgn +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnEndpointProvider.h b/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnEndpointProvider.h index 6f2e158c60d7..2b8294eee93d 100644 --- a/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace mgn { namespace Endpoint { +using MgnClientConfiguration = Aws::mgn::MgnClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MgnClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MgnClientConfiguration = Aws::Client::GenericClientConfiguration; -using MgnBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MGN_API MgnBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MgnBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MgnClientConfiguration& config); + virtual void SetFromClientConfiguration(const MgnClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MgnClientConfiguration& config); +}; /** * The type for the mgn Client Endpoint Provider. @@ -32,6 +41,22 @@ using MgnEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace mgn + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MGN_EXTERN template class AWS_MGN_API Aws::Endpoint::EndpointProviderBase< + mgn::Endpoint::MgnClientConfiguration, mgn::Endpoint::MgnBuiltInParameters, mgn::Endpoint::MgnClientContextParameters>; + +AWS_MGN_EXTERN template class AWS_MGN_API Aws::Endpoint::BDDEndpointProvider< + mgn::Endpoint::MgnClientConfiguration, mgn::Endpoint::MgnBuiltInParameters, mgn::Endpoint::MgnClientContextParameters>; +} // namespace Endpoint + +namespace mgn { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnServiceClientModel.h b/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnServiceClientModel.h index 2be8ec4dd1a8..a2ea1c1bc54c 100644 --- a/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnServiceClientModel.h @@ -153,7 +153,6 @@ class RetryStrategy; } // namespace Client namespace mgn { -using MgnClientConfiguration = Aws::Client::GenericClientConfiguration; using MgnEndpointProviderBase = Aws::mgn::Endpoint::MgnEndpointProviderBase; using MgnEndpointProvider = Aws::mgn::Endpoint::MgnEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mgn/source/MgnClient.cpp b/generated/src/aws-cpp-sdk-mgn/source/MgnClient.cpp index a5302911dd3c..dd9258f7abca 100644 --- a/generated/src/aws-cpp-sdk-mgn/source/MgnClient.cpp +++ b/generated/src/aws-cpp-sdk-mgn/source/MgnClient.cpp @@ -170,41 +170,6 @@ MgnClient::MgnClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MgnClient::MgnClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MgnClient::MgnClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MgnClient::MgnClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MgnClient::~MgnClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MgnClient::accessEndpointProvider() { return m_endpointProvider; } @@ -222,12 +187,7 @@ void MgnClient::init(const mgn::MgnClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mgn"); -} - -void MgnClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MgnClient::InvokeOperationOutcome MgnClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mgn/source/MgnClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mgn/source/MgnClientConfiguration.cpp new file mode 100644 index 000000000000..6ca3b05ad03f --- /dev/null +++ b/generated/src/aws-cpp-sdk-mgn/source/MgnClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace mgn { + +void MgnClientConfiguration::LoadmgnSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MgnClientConfiguration::MgnClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadmgnSpecificConfig(this->profileName); +} + +MgnClientConfiguration::MgnClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadmgnSpecificConfig(Aws::String(inputProfileName)); +} + +MgnClientConfiguration::MgnClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadmgnSpecificConfig(this->profileName); +} + +MgnClientConfiguration::MgnClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadmgnSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MgnClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace mgn +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mgn/source/MgnEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mgn/source/MgnEndpointProvider.cpp index 4c82e0f5694a..a2531264cb92 100644 --- a/generated/src/aws-cpp-sdk-mgn/source/MgnEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mgn/source/MgnEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_MGN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace mgn { namespace Endpoint { MgnEndpointProvider::MgnEndpointProvider() : MgnDefaultEpProviderBase(Aws::mgn::MgnEndpointRules::GetRulesBlob(), Aws::mgn::MgnEndpointRules::RulesBlobSize) {} +void MgnBuiltInParameters::SetFromClientConfiguration(const MgnClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MgnBuiltInParameters::SetFromClientConfiguration(const MgnClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MgnBuiltInParameters::SetServiceSpecificParameters(const MgnClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace mgn } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesClient.h b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesClient.h index c1929c4122f5..bb1bfbe0218f 100644 --- a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesClient.h +++ b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesClient.h @@ -72,28 +72,6 @@ class AWS_MIGRATIONHUBREFACTORSPACES_API MigrationHubRefactorSpacesClient const Aws::MigrationHubRefactorSpaces::MigrationHubRefactorSpacesClientConfiguration& clientConfiguration = Aws::MigrationHubRefactorSpaces::MigrationHubRefactorSpacesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MigrationHubRefactorSpacesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MigrationHubRefactorSpacesClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MigrationHubRefactorSpacesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MigrationHubRefactorSpacesClient(); /** @@ -842,7 +820,6 @@ class AWS_MIGRATIONHUBREFACTORSPACES_API MigrationHubRefactorSpacesClient return SubmitAsync(&MigrationHubRefactorSpacesClient::UpdateRoute, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesClientConfiguration.h b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesClientConfiguration.h new file mode 100644 index 000000000000..806f3c04a747 --- /dev/null +++ b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MigrationHubRefactorSpaces { +struct AWS_MIGRATIONHUBREFACTORSPACES_API MigrationHubRefactorSpacesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MigrationHubRefactorSpacesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubRefactorSpacesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubRefactorSpacesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MigrationHubRefactorSpacesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMigrationHubRefactorSpacesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MIGRATIONHUBREFACTORSPACES_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MigrationHubRefactorSpacesClientConfiguration& config); +} // namespace MigrationHubRefactorSpaces +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesEndpointProvider.h b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesEndpointProvider.h index 18428535c6e1..389a545e6739 100644 --- a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MigrationHubRefactorSpaces { namespace Endpoint { +using MigrationHubRefactorSpacesClientConfiguration = Aws::MigrationHubRefactorSpaces::MigrationHubRefactorSpacesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MigrationHubRefactorSpacesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MigrationHubRefactorSpacesClientConfiguration = Aws::Client::GenericClientConfiguration; -using MigrationHubRefactorSpacesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MIGRATIONHUBREFACTORSPACES_API MigrationHubRefactorSpacesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MigrationHubRefactorSpacesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MigrationHubRefactorSpacesClientConfiguration& config); + virtual void SetFromClientConfiguration(const MigrationHubRefactorSpacesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MigrationHubRefactorSpacesClientConfiguration& config); +}; /** * The type for the MigrationHubRefactorSpaces Client Endpoint Provider. @@ -36,6 +45,26 @@ using MigrationHubRefactorSpacesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MigrationHubRefactorSpaces + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MIGRATIONHUBREFACTORSPACES_EXTERN template class AWS_MIGRATIONHUBREFACTORSPACES_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MIGRATIONHUBREFACTORSPACES_EXTERN template class AWS_MIGRATIONHUBREFACTORSPACES_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MigrationHubRefactorSpaces { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesServiceClientModel.h b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesServiceClientModel.h index 7c039b0de937..baabba6e5b04 100644 --- a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace MigrationHubRefactorSpaces { -using MigrationHubRefactorSpacesClientConfiguration = Aws::Client::GenericClientConfiguration; using MigrationHubRefactorSpacesEndpointProviderBase = Aws::MigrationHubRefactorSpaces::Endpoint::MigrationHubRefactorSpacesEndpointProviderBase; using MigrationHubRefactorSpacesEndpointProvider = Aws::MigrationHubRefactorSpaces::Endpoint::MigrationHubRefactorSpacesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesClient.cpp b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesClient.cpp index 1ce3203909c3..22f812547aee 100644 --- a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesClient.cpp +++ b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesClient.cpp @@ -107,42 +107,6 @@ MigrationHubRefactorSpacesClient::MigrationHubRefactorSpacesClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MigrationHubRefactorSpacesClient::MigrationHubRefactorSpacesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubRefactorSpacesClient::MigrationHubRefactorSpacesClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubRefactorSpacesClient::MigrationHubRefactorSpacesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MigrationHubRefactorSpacesClient::~MigrationHubRefactorSpacesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MigrationHubRefactorSpacesClient::accessEndpointProvider() { @@ -162,12 +126,7 @@ void MigrationHubRefactorSpacesClient::init(const MigrationHubRefactorSpaces::Mi AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "refactor-spaces"); -} - -void MigrationHubRefactorSpacesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MigrationHubRefactorSpacesClient::InvokeOperationOutcome MigrationHubRefactorSpacesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesClientConfiguration.cpp new file mode 100644 index 000000000000..7d5a1c32c846 --- /dev/null +++ b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MigrationHubRefactorSpaces { + +void MigrationHubRefactorSpacesClientConfiguration::LoadMigrationHubRefactorSpacesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MigrationHubRefactorSpacesClientConfiguration::MigrationHubRefactorSpacesClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMigrationHubRefactorSpacesSpecificConfig(this->profileName); +} + +MigrationHubRefactorSpacesClientConfiguration::MigrationHubRefactorSpacesClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMigrationHubRefactorSpacesSpecificConfig(Aws::String(inputProfileName)); +} + +MigrationHubRefactorSpacesClientConfiguration::MigrationHubRefactorSpacesClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMigrationHubRefactorSpacesSpecificConfig(this->profileName); +} + +MigrationHubRefactorSpacesClientConfiguration::MigrationHubRefactorSpacesClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMigrationHubRefactorSpacesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MigrationHubRefactorSpacesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MigrationHubRefactorSpaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesEndpointProvider.cpp index 7ab56a1dff75..fa9dd1dbe3a4 100644 --- a/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesEndpointProvider.cpp @@ -7,6 +7,21 @@ #include namespace Aws { +#ifndef AWS_MIGRATIONHUBREFACTORSPACES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MigrationHubRefactorSpaces { namespace Endpoint { MigrationHubRefactorSpacesEndpointProvider::MigrationHubRefactorSpacesEndpointProvider() @@ -14,6 +29,26 @@ MigrationHubRefactorSpacesEndpointProvider::MigrationHubRefactorSpacesEndpointPr Aws::MigrationHubRefactorSpaces::MigrationHubRefactorSpacesEndpointRules::GetRulesBlob(), Aws::MigrationHubRefactorSpaces::MigrationHubRefactorSpacesEndpointRules::RulesBlobSize) {} +void MigrationHubRefactorSpacesBuiltInParameters::SetFromClientConfiguration(const MigrationHubRefactorSpacesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MigrationHubRefactorSpacesBuiltInParameters::SetFromClientConfiguration(const MigrationHubRefactorSpacesClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MigrationHubRefactorSpacesBuiltInParameters::SetServiceSpecificParameters( + const MigrationHubRefactorSpacesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MigrationHubRefactorSpaces } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigClient.h b/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigClient.h index 551600b209a6..0e81968924b3 100644 --- a/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigClient.h +++ b/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigClient.h @@ -67,27 +67,6 @@ class AWS_MIGRATIONHUBCONFIG_API MigrationHubConfigClient : public Aws::Client:: const Aws::MigrationHubConfig::MigrationHubConfigClientConfiguration& clientConfiguration = Aws::MigrationHubConfig::MigrationHubConfigClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MigrationHubConfigClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MigrationHubConfigClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MigrationHubConfigClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MigrationHubConfigClient(); /** @@ -208,7 +187,6 @@ class AWS_MIGRATIONHUBCONFIG_API MigrationHubConfigClient : public Aws::Client:: return SubmitAsync(&MigrationHubConfigClient::GetHomeRegion, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigClientConfiguration.h b/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigClientConfiguration.h new file mode 100644 index 000000000000..bda4c34d8d86 --- /dev/null +++ b/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MigrationHubConfig { +struct AWS_MIGRATIONHUBCONFIG_API MigrationHubConfigClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MigrationHubConfigClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubConfigClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubConfigClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MigrationHubConfigClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMigrationHubConfigSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MIGRATIONHUBCONFIG_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MigrationHubConfigClientConfiguration& config); +} // namespace MigrationHubConfig +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigEndpointProvider.h b/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigEndpointProvider.h index 808779e4896e..691af1108990 100644 --- a/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MigrationHubConfig { namespace Endpoint { +using MigrationHubConfigClientConfiguration = Aws::MigrationHubConfig::MigrationHubConfigClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MigrationHubConfigClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MigrationHubConfigClientConfiguration = Aws::Client::GenericClientConfiguration; -using MigrationHubConfigBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MIGRATIONHUBCONFIG_API MigrationHubConfigBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MigrationHubConfigBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MigrationHubConfigClientConfiguration& config); + virtual void SetFromClientConfiguration(const MigrationHubConfigClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MigrationHubConfigClientConfiguration& config); +}; /** * The type for the MigrationHubConfig Client Endpoint Provider. @@ -36,6 +45,24 @@ using MigrationHubConfigDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MigrationHubConfig + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MIGRATIONHUBCONFIG_EXTERN template class AWS_MIGRATIONHUBCONFIG_API Aws::Endpoint::EndpointProviderBase< + MigrationHubConfig::Endpoint::MigrationHubConfigClientConfiguration, MigrationHubConfig::Endpoint::MigrationHubConfigBuiltInParameters, + MigrationHubConfig::Endpoint::MigrationHubConfigClientContextParameters>; + +AWS_MIGRATIONHUBCONFIG_EXTERN template class AWS_MIGRATIONHUBCONFIG_API Aws::Endpoint::BDDEndpointProvider< + MigrationHubConfig::Endpoint::MigrationHubConfigClientConfiguration, MigrationHubConfig::Endpoint::MigrationHubConfigBuiltInParameters, + MigrationHubConfig::Endpoint::MigrationHubConfigClientContextParameters>; +} // namespace Endpoint + +namespace MigrationHubConfig { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigServiceClientModel.h b/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigServiceClientModel.h index fca1e55c8bc2..1b65cef20cc7 100644 --- a/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace MigrationHubConfig { -using MigrationHubConfigClientConfiguration = Aws::Client::GenericClientConfiguration; using MigrationHubConfigEndpointProviderBase = Aws::MigrationHubConfig::Endpoint::MigrationHubConfigEndpointProviderBase; using MigrationHubConfigEndpointProvider = Aws::MigrationHubConfig::Endpoint::MigrationHubConfigEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigClient.cpp b/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigClient.cpp index bf1b5a630545..e2f3e1fa7058 100644 --- a/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigClient.cpp +++ b/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigClient.cpp @@ -85,42 +85,6 @@ MigrationHubConfigClient::MigrationHubConfigClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubConfigClient::MigrationHubConfigClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubConfigClient::MigrationHubConfigClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MigrationHubConfigClient::~MigrationHubConfigClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MigrationHubConfigClient::accessEndpointProvider() { return m_endpointProvider; } @@ -138,12 +102,7 @@ void MigrationHubConfigClient::init(const MigrationHubConfig::MigrationHubConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mgh"); -} - -void MigrationHubConfigClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MigrationHubConfigClient::InvokeOperationOutcome MigrationHubConfigClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigClientConfiguration.cpp b/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigClientConfiguration.cpp new file mode 100644 index 000000000000..3d21d2c0f4d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MigrationHubConfig { + +void MigrationHubConfigClientConfiguration::LoadMigrationHubConfigSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MigrationHubConfigClientConfiguration::MigrationHubConfigClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMigrationHubConfigSpecificConfig(this->profileName); +} + +MigrationHubConfigClientConfiguration::MigrationHubConfigClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMigrationHubConfigSpecificConfig(Aws::String(inputProfileName)); +} + +MigrationHubConfigClientConfiguration::MigrationHubConfigClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMigrationHubConfigSpecificConfig(this->profileName); +} + +MigrationHubConfigClientConfiguration::MigrationHubConfigClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMigrationHubConfigSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MigrationHubConfigClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MigrationHubConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigEndpointProvider.cpp b/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigEndpointProvider.cpp index bfef62b78454..fa335cb72ae1 100644 --- a/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MIGRATIONHUBCONFIG_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MigrationHubConfig { namespace Endpoint { MigrationHubConfigEndpointProvider::MigrationHubConfigEndpointProvider() : MigrationHubConfigDefaultEpProviderBase(Aws::MigrationHubConfig::MigrationHubConfigEndpointRules::GetRulesBlob(), Aws::MigrationHubConfig::MigrationHubConfigEndpointRules::RulesBlobSize) {} +void MigrationHubConfigBuiltInParameters::SetFromClientConfiguration(const MigrationHubConfigClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MigrationHubConfigBuiltInParameters::SetFromClientConfiguration(const MigrationHubConfigClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MigrationHubConfigBuiltInParameters::SetServiceSpecificParameters(const MigrationHubConfigClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MigrationHubConfig } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorClient.h b/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorClient.h index 3c55bac2dd93..19c382930828 100644 --- a/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorClient.h +++ b/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorClient.h @@ -61,27 +61,6 @@ class AWS_MIGRATIONHUBORCHESTRATOR_API MigrationHubOrchestratorClient const Aws::MigrationHubOrchestrator::MigrationHubOrchestratorClientConfiguration& clientConfiguration = Aws::MigrationHubOrchestrator::MigrationHubOrchestratorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MigrationHubOrchestratorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MigrationHubOrchestratorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MigrationHubOrchestratorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MigrationHubOrchestratorClient(); /** @@ -887,7 +866,6 @@ class AWS_MIGRATIONHUBORCHESTRATOR_API MigrationHubOrchestratorClient return SubmitAsync(&MigrationHubOrchestratorClient::UpdateWorkflowStepGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorClientConfiguration.h b/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorClientConfiguration.h new file mode 100644 index 000000000000..2883cfafd516 --- /dev/null +++ b/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MigrationHubOrchestrator { +struct AWS_MIGRATIONHUBORCHESTRATOR_API MigrationHubOrchestratorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MigrationHubOrchestratorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubOrchestratorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubOrchestratorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MigrationHubOrchestratorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMigrationHubOrchestratorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MIGRATIONHUBORCHESTRATOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MigrationHubOrchestratorClientConfiguration& config); +} // namespace MigrationHubOrchestrator +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorEndpointProvider.h b/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorEndpointProvider.h index e66450568aed..b02152df2dec 100644 --- a/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MigrationHubOrchestrator { namespace Endpoint { +using MigrationHubOrchestratorClientConfiguration = Aws::MigrationHubOrchestrator::MigrationHubOrchestratorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MigrationHubOrchestratorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MigrationHubOrchestratorClientConfiguration = Aws::Client::GenericClientConfiguration; -using MigrationHubOrchestratorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MIGRATIONHUBORCHESTRATOR_API MigrationHubOrchestratorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MigrationHubOrchestratorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MigrationHubOrchestratorClientConfiguration& config); + virtual void SetFromClientConfiguration(const MigrationHubOrchestratorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MigrationHubOrchestratorClientConfiguration& config); +}; /** * The type for the MigrationHubOrchestrator Client Endpoint Provider. @@ -36,6 +45,26 @@ using MigrationHubOrchestratorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MigrationHubOrchestrator + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MIGRATIONHUBORCHESTRATOR_EXTERN template class AWS_MIGRATIONHUBORCHESTRATOR_API + Aws::Endpoint::EndpointProviderBase; + +AWS_MIGRATIONHUBORCHESTRATOR_EXTERN template class AWS_MIGRATIONHUBORCHESTRATOR_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace MigrationHubOrchestrator { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorServiceClientModel.h b/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorServiceClientModel.h index c7f22a63bd17..dd8bf8e4d90b 100644 --- a/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace MigrationHubOrchestrator { -using MigrationHubOrchestratorClientConfiguration = Aws::Client::GenericClientConfiguration; using MigrationHubOrchestratorEndpointProviderBase = Aws::MigrationHubOrchestrator::Endpoint::MigrationHubOrchestratorEndpointProviderBase; using MigrationHubOrchestratorEndpointProvider = Aws::MigrationHubOrchestrator::Endpoint::MigrationHubOrchestratorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorClient.cpp b/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorClient.cpp index f30b5262207e..1924d5ea73bf 100644 --- a/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorClient.cpp +++ b/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorClient.cpp @@ -114,42 +114,6 @@ MigrationHubOrchestratorClient::MigrationHubOrchestratorClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MigrationHubOrchestratorClient::MigrationHubOrchestratorClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubOrchestratorClient::MigrationHubOrchestratorClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubOrchestratorClient::MigrationHubOrchestratorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MigrationHubOrchestratorClient::~MigrationHubOrchestratorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MigrationHubOrchestratorClient::accessEndpointProvider() { @@ -169,12 +133,7 @@ void MigrationHubOrchestratorClient::init(const MigrationHubOrchestrator::Migrat AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "migrationhub-orchestrator"); -} - -void MigrationHubOrchestratorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MigrationHubOrchestratorClient::InvokeOperationOutcome MigrationHubOrchestratorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorClientConfiguration.cpp new file mode 100644 index 000000000000..6dbf60f84873 --- /dev/null +++ b/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MigrationHubOrchestrator { + +void MigrationHubOrchestratorClientConfiguration::LoadMigrationHubOrchestratorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MigrationHubOrchestratorClientConfiguration::MigrationHubOrchestratorClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMigrationHubOrchestratorSpecificConfig(this->profileName); +} + +MigrationHubOrchestratorClientConfiguration::MigrationHubOrchestratorClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMigrationHubOrchestratorSpecificConfig(Aws::String(inputProfileName)); +} + +MigrationHubOrchestratorClientConfiguration::MigrationHubOrchestratorClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMigrationHubOrchestratorSpecificConfig(this->profileName); +} + +MigrationHubOrchestratorClientConfiguration::MigrationHubOrchestratorClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMigrationHubOrchestratorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MigrationHubOrchestratorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MigrationHubOrchestrator +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorEndpointProvider.cpp index bb6a9fca8514..f6c3502c1a72 100644 --- a/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_MIGRATIONHUBORCHESTRATOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MigrationHubOrchestrator { namespace Endpoint { MigrationHubOrchestratorEndpointProvider::MigrationHubOrchestratorEndpointProvider() : MigrationHubOrchestratorDefaultEpProviderBase(Aws::MigrationHubOrchestrator::MigrationHubOrchestratorEndpointRules::GetRulesBlob(), Aws::MigrationHubOrchestrator::MigrationHubOrchestratorEndpointRules::RulesBlobSize) {} +void MigrationHubOrchestratorBuiltInParameters::SetFromClientConfiguration(const MigrationHubOrchestratorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MigrationHubOrchestratorBuiltInParameters::SetFromClientConfiguration(const MigrationHubOrchestratorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MigrationHubOrchestratorBuiltInParameters::SetServiceSpecificParameters(const MigrationHubOrchestratorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MigrationHubOrchestrator } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsClient.h b/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsClient.h index 055ff94dffd1..5ff7d08732d4 100644 --- a/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsClient.h +++ b/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsClient.h @@ -67,28 +67,6 @@ class AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API MigrationHubStrategyRecommenda const Aws::MigrationHubStrategyRecommendations::MigrationHubStrategyRecommendationsClientConfiguration& clientConfiguration = Aws::MigrationHubStrategyRecommendations::MigrationHubStrategyRecommendationsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MigrationHubStrategyRecommendationsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MigrationHubStrategyRecommendationsClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MigrationHubStrategyRecommendationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MigrationHubStrategyRecommendationsClient(); /** @@ -704,7 +682,6 @@ class AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API MigrationHubStrategyRecommenda return SubmitAsync(&MigrationHubStrategyRecommendationsClient::UpdateServerConfig, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsClientConfiguration.h b/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsClientConfiguration.h new file mode 100644 index 000000000000..693e0f07e830 --- /dev/null +++ b/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MigrationHubStrategyRecommendations { +struct AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API MigrationHubStrategyRecommendationsClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MigrationHubStrategyRecommendationsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubStrategyRecommendationsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MigrationHubStrategyRecommendationsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MigrationHubStrategyRecommendationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMigrationHubStrategyRecommendationsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const MigrationHubStrategyRecommendationsClientConfiguration& config); +} // namespace MigrationHubStrategyRecommendations +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsEndpointProvider.h b/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsEndpointProvider.h index 0beeb2f1f9c5..e5be1c584c2a 100644 --- a/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsEndpointProvider.h @@ -4,24 +4,36 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MigrationHubStrategyRecommendations { namespace Endpoint { +using MigrationHubStrategyRecommendationsClientConfiguration = + Aws::MigrationHubStrategyRecommendations::MigrationHubStrategyRecommendationsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MigrationHubStrategyRecommendationsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MigrationHubStrategyRecommendationsClientConfiguration = Aws::Client::GenericClientConfiguration; -using MigrationHubStrategyRecommendationsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API MigrationHubStrategyRecommendationsBuiltInParameters + : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MigrationHubStrategyRecommendationsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MigrationHubStrategyRecommendationsClientConfiguration& config); + virtual void SetFromClientConfiguration(const MigrationHubStrategyRecommendationsClientConfiguration& config, + const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MigrationHubStrategyRecommendationsClientConfiguration& config); +}; /** * The type for the MigrationHubStrategyRecommendations Client Endpoint Provider. @@ -36,6 +48,26 @@ using MigrationHubStrategyRecommendationsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MigrationHubStrategyRecommendations + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_EXTERN template class AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API Aws::Endpoint:: + EndpointProviderBase; + +AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_EXTERN template class AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_API Aws::Endpoint:: + BDDEndpointProvider; +} // namespace Endpoint + +namespace MigrationHubStrategyRecommendations { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsServiceClientModel.h b/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsServiceClientModel.h index 7f0f1e6fe342..d091c51e4105 100644 --- a/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsServiceClientModel.h @@ -79,7 +79,6 @@ class RetryStrategy; } // namespace Client namespace MigrationHubStrategyRecommendations { -using MigrationHubStrategyRecommendationsClientConfiguration = Aws::Client::GenericClientConfiguration; using MigrationHubStrategyRecommendationsEndpointProviderBase = Aws::MigrationHubStrategyRecommendations::Endpoint::MigrationHubStrategyRecommendationsEndpointProviderBase; using MigrationHubStrategyRecommendationsEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsClient.cpp b/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsClient.cpp index 8277b06eab10..bd0339e5080b 100644 --- a/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsClient.cpp +++ b/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsClient.cpp @@ -105,43 +105,6 @@ MigrationHubStrategyRecommendationsClient::MigrationHubStrategyRecommendationsCl init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MigrationHubStrategyRecommendationsClient::MigrationHubStrategyRecommendationsClient( - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubStrategyRecommendationsClient::MigrationHubStrategyRecommendationsClient( - const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MigrationHubStrategyRecommendationsClient::MigrationHubStrategyRecommendationsClient( - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MigrationHubStrategyRecommendationsClient::~MigrationHubStrategyRecommendationsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& @@ -163,12 +126,7 @@ void MigrationHubStrategyRecommendationsClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "migrationhub-strategy"); -} - -void MigrationHubStrategyRecommendationsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MigrationHubStrategyRecommendationsClient::InvokeOperationOutcome MigrationHubStrategyRecommendationsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsClientConfiguration.cpp new file mode 100644 index 000000000000..96cfd3bd2035 --- /dev/null +++ b/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsClientConfiguration.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MigrationHubStrategyRecommendations { + +void MigrationHubStrategyRecommendationsClientConfiguration::LoadMigrationHubStrategyRecommendationsSpecificConfig( + const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MigrationHubStrategyRecommendationsClientConfiguration::MigrationHubStrategyRecommendationsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMigrationHubStrategyRecommendationsSpecificConfig(this->profileName); +} + +MigrationHubStrategyRecommendationsClientConfiguration::MigrationHubStrategyRecommendationsClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMigrationHubStrategyRecommendationsSpecificConfig(Aws::String(inputProfileName)); +} + +MigrationHubStrategyRecommendationsClientConfiguration::MigrationHubStrategyRecommendationsClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMigrationHubStrategyRecommendationsSpecificConfig(this->profileName); +} + +MigrationHubStrategyRecommendationsClientConfiguration::MigrationHubStrategyRecommendationsClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMigrationHubStrategyRecommendationsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MigrationHubStrategyRecommendationsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MigrationHubStrategyRecommendations +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsEndpointProvider.cpp index 4c8f5d56a625..53558ac55144 100644 --- a/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_MIGRATIONHUBSTRATEGYRECOMMENDATIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + MigrationHubStrategyRecommendations::Endpoint::MigrationHubStrategyRecommendationsClientConfiguration, + MigrationHubStrategyRecommendations::Endpoint::MigrationHubStrategyRecommendationsBuiltInParameters, + MigrationHubStrategyRecommendations::Endpoint::MigrationHubStrategyRecommendationsClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + MigrationHubStrategyRecommendations::Endpoint::MigrationHubStrategyRecommendationsClientConfiguration, + MigrationHubStrategyRecommendations::Endpoint::MigrationHubStrategyRecommendationsBuiltInParameters, + MigrationHubStrategyRecommendations::Endpoint::MigrationHubStrategyRecommendationsClientContextParameters>; +} // namespace Endpoint +#endif + namespace MigrationHubStrategyRecommendations { namespace Endpoint { MigrationHubStrategyRecommendationsEndpointProvider::MigrationHubStrategyRecommendationsEndpointProvider() @@ -14,6 +31,28 @@ MigrationHubStrategyRecommendationsEndpointProvider::MigrationHubStrategyRecomme Aws::MigrationHubStrategyRecommendations::MigrationHubStrategyRecommendationsEndpointRules::GetRulesBlob(), Aws::MigrationHubStrategyRecommendations::MigrationHubStrategyRecommendationsEndpointRules::RulesBlobSize) {} +void MigrationHubStrategyRecommendationsBuiltInParameters::SetFromClientConfiguration( + const MigrationHubStrategyRecommendationsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MigrationHubStrategyRecommendationsBuiltInParameters::SetFromClientConfiguration( + const MigrationHubStrategyRecommendationsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void MigrationHubStrategyRecommendationsBuiltInParameters::SetServiceSpecificParameters( + const MigrationHubStrategyRecommendationsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MigrationHubStrategyRecommendations } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchClient.h b/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchClient.h index c1ec2921cb31..e0cf6c835f84 100644 --- a/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchClient.h +++ b/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchClient.h @@ -83,27 +83,6 @@ class AWS_CLOUDWATCH_API CloudWatchClient : public Aws::Client::AWSRpcV2CborClie std::shared_ptr endpointProvider = nullptr, const Aws::CloudWatch::CloudWatchClientConfiguration& clientConfiguration = Aws::CloudWatch::CloudWatchClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudWatchClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudWatchClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudWatchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudWatchClient(); /** @@ -2271,7 +2250,6 @@ class AWS_CLOUDWATCH_API CloudWatchClient : public Aws::Client::AWSRpcV2CborClie return SubmitAsync(&CloudWatchClient::UpdateResourceMetricsConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchClientConfiguration.h b/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchClientConfiguration.h new file mode 100644 index 000000000000..3325fadf9a78 --- /dev/null +++ b/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudWatch { +struct AWS_CLOUDWATCH_API CloudWatchClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudWatchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudWatchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Request compression configuration + * To use this feature, the service needs to provide the support, and the compression + * algorithms needs to be available at SDK build time. + */ + Aws::Client::RequestCompressionConfig requestCompressionConfig; + + private: + void LoadCloudWatchSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDWATCH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchClientConfiguration& config); +} // namespace CloudWatch +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchEndpointProvider.h b/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchEndpointProvider.h index d4bcdc733b52..7c4602314c5e 100644 --- a/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace CloudWatch { namespace Endpoint { +using CloudWatchClientConfiguration = Aws::CloudWatch::CloudWatchClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudWatchClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudWatchClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudWatchBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDWATCH_API CloudWatchBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudWatchBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudWatchClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudWatchClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudWatchClientConfiguration& config); +}; /** * The type for the CloudWatch Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudWatchEndpointProviderBase = using CloudWatchDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudWatch + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDWATCH_EXTERN template class AWS_CLOUDWATCH_API Aws::Endpoint::EndpointProviderBase< + CloudWatch::Endpoint::CloudWatchClientConfiguration, CloudWatch::Endpoint::CloudWatchBuiltInParameters, + CloudWatch::Endpoint::CloudWatchClientContextParameters>; + +AWS_CLOUDWATCH_EXTERN template class AWS_CLOUDWATCH_API Aws::Endpoint::BDDEndpointProvider< + CloudWatch::Endpoint::CloudWatchClientConfiguration, CloudWatch::Endpoint::CloudWatchBuiltInParameters, + CloudWatch::Endpoint::CloudWatchClientContextParameters>; +} // namespace Endpoint + +namespace CloudWatch { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchServiceClientModel.h b/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchServiceClientModel.h index dcd1af707c7c..e3184c190d48 100644 --- a/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchServiceClientModel.h @@ -106,7 +106,6 @@ class RetryStrategy; } // namespace Client namespace CloudWatch { -using CloudWatchClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudWatchEndpointProviderBase = Aws::CloudWatch::Endpoint::CloudWatchEndpointProviderBase; using CloudWatchEndpointProvider = Aws::CloudWatch::Endpoint::CloudWatchEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchClient.cpp b/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchClient.cpp index 3851b8d9ca00..10af8c107288 100644 --- a/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchClient.cpp +++ b/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchClient.cpp @@ -132,41 +132,6 @@ CloudWatchClient::CloudWatchClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -CloudWatchClient::CloudWatchClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchClient::CloudWatchClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchClient::CloudWatchClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudWatchClient::~CloudWatchClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudWatchClient::accessEndpointProvider() { return m_endpointProvider; } @@ -184,12 +149,7 @@ void CloudWatchClient::init(const CloudWatch::CloudWatchClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "monitoring"); -} - -void CloudWatchClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudWatchClient::InvokeOperationOutcome CloudWatchClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchClientConfiguration.cpp b/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchClientConfiguration.cpp new file mode 100644 index 000000000000..d13131fa6afe --- /dev/null +++ b/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudWatch { + +void CloudWatchClientConfiguration::LoadCloudWatchSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + requestCompressionConfig = Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudWatchClientConfiguration::CloudWatchClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudWatchSpecificConfig(this->profileName); +} + +CloudWatchClientConfiguration::CloudWatchClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudWatchSpecificConfig(Aws::String(inputProfileName)); +} + +CloudWatchClientConfiguration::CloudWatchClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudWatchSpecificConfig(this->profileName); +} + +CloudWatchClientConfiguration::CloudWatchClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudWatchSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.requestCompressionConfig = config.requestCompressionConfig; + return options; +} + +} // namespace CloudWatch +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchEndpointProvider.cpp b/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchEndpointProvider.cpp index a5958ac5ee18..2dd6c60ab7a1 100644 --- a/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-monitoring/source/CloudWatchEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_CLOUDWATCH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudWatch { namespace Endpoint { CloudWatchEndpointProvider::CloudWatchEndpointProvider() : CloudWatchDefaultEpProviderBase(Aws::CloudWatch::CloudWatchEndpointRules::GetRulesBlob(), Aws::CloudWatch::CloudWatchEndpointRules::RulesBlobSize) {} +void CloudWatchBuiltInParameters::SetFromClientConfiguration(const CloudWatchClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudWatchBuiltInParameters::SetFromClientConfiguration(const CloudWatchClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudWatchBuiltInParameters::SetServiceSpecificParameters(const CloudWatchClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudWatch } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClient.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClient.h index d310f328c399..adb094c24173 100644 --- a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClient.h +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClient.h @@ -65,27 +65,6 @@ class AWS_MPA_API MPAClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::MPA::MPAClientConfiguration& clientConfiguration = Aws::MPA::MPAClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MPAClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MPAClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MPAClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MPAClient(); /** @@ -704,7 +683,6 @@ class AWS_MPA_API MPAClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MPAClient::UpdateApprovalTeam, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClientConfiguration.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClientConfiguration.h new file mode 100644 index 000000000000..477c6cc3a356 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MPA { +struct AWS_MPA_API MPAClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MPAClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MPAClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MPAClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MPAClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadMPASpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MPA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MPAClientConfiguration& config); +} // namespace MPA +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointProvider.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointProvider.h index d920c2de96e3..b35c27b357dc 100644 --- a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MPA { namespace Endpoint { +using MPAClientConfiguration = Aws::MPA::MPAClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MPAClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MPAClientConfiguration = Aws::Client::GenericClientConfiguration; -using MPABuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MPA_API MPABuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MPABuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MPAClientConfiguration& config); + virtual void SetFromClientConfiguration(const MPAClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MPAClientConfiguration& config); +}; /** * The type for the MPA Client Endpoint Provider. @@ -32,6 +41,22 @@ using MPAEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace MPA + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MPA_EXTERN template class AWS_MPA_API Aws::Endpoint::EndpointProviderBase< + MPA::Endpoint::MPAClientConfiguration, MPA::Endpoint::MPABuiltInParameters, MPA::Endpoint::MPAClientContextParameters>; + +AWS_MPA_EXTERN template class AWS_MPA_API Aws::Endpoint::BDDEndpointProvider< + MPA::Endpoint::MPAClientConfiguration, MPA::Endpoint::MPABuiltInParameters, MPA::Endpoint::MPAClientContextParameters>; +} // namespace Endpoint + +namespace MPA { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAServiceClientModel.h b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAServiceClientModel.h index 77da256efa63..423cc44b4afe 100644 --- a/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace MPA { -using MPAClientConfiguration = Aws::Client::GenericClientConfiguration; using MPAEndpointProviderBase = Aws::MPA::Endpoint::MPAEndpointProviderBase; using MPAEndpointProvider = Aws::MPA::Endpoint::MPAEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPAClient.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPAClient.cpp index 414b468e9a28..7ad281c298aa 100644 --- a/generated/src/aws-cpp-sdk-mpa/source/MPAClient.cpp +++ b/generated/src/aws-cpp-sdk-mpa/source/MPAClient.cpp @@ -97,41 +97,6 @@ MPAClient::MPAClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MPAClient::MPAClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MPAClient::MPAClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MPAClient::MPAClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MPAClient::~MPAClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MPAClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void MPAClient::init(const MPA::MPAClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mpa"); -} - -void MPAClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MPAClient::InvokeOperationOutcome MPAClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPAClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPAClientConfiguration.cpp new file mode 100644 index 000000000000..9c6de13a62b9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mpa/source/MPAClientConfiguration.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MPA { + +void MPAClientConfiguration::LoadMPASpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MPAClientConfiguration::MPAClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMPASpecificConfig(this->profileName); +} + +MPAClientConfiguration::MPAClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMPASpecificConfig(Aws::String(inputProfileName)); +} + +MPAClientConfiguration::MPAClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMPASpecificConfig(this->profileName); +} + +MPAClientConfiguration::MPAClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadMPASpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MPAClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MPA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointProvider.cpp index fb2064f984fb..99dc3041e3a1 100644 --- a/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mpa/source/MPAEndpointProvider.cpp @@ -7,11 +7,39 @@ #include namespace Aws { +#ifndef AWS_MPA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MPA { namespace Endpoint { MPAEndpointProvider::MPAEndpointProvider() : MPADefaultEpProviderBase(Aws::MPA::MPAEndpointRules::GetRulesBlob(), Aws::MPA::MPAEndpointRules::RulesBlobSize) {} +void MPABuiltInParameters::SetFromClientConfiguration(const MPAClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MPABuiltInParameters::SetFromClientConfiguration(const MPAClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MPABuiltInParameters::SetServiceSpecificParameters(const MPAClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace MPA } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQClient.h b/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQClient.h index fcafdaa593ba..23c47ab46a11 100644 --- a/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQClient.h +++ b/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQClient.h @@ -56,27 +56,6 @@ class AWS_MQ_API MQClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::MQ::MQClientConfiguration& clientConfiguration = Aws::MQ::MQClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MQClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MQClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MQClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MQClient(); /** @@ -759,7 +738,6 @@ class AWS_MQ_API MQClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MQClient::UpdateUser, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQClientConfiguration.h b/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQClientConfiguration.h new file mode 100644 index 000000000000..354cc0d1c07d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MQ { +struct AWS_MQ_API MQClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MQClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MQClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MQClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MQClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMQSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MQ_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MQClientConfiguration& config); +} // namespace MQ +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQEndpointProvider.h b/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQEndpointProvider.h index 246588562011..f9909dbd57cb 100644 --- a/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MQ { namespace Endpoint { +using MQClientConfiguration = Aws::MQ::MQClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MQClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MQClientConfiguration = Aws::Client::GenericClientConfiguration; -using MQBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MQ_API MQBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MQBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MQClientConfiguration& config); + virtual void SetFromClientConfiguration(const MQClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MQClientConfiguration& config); +}; /** * The type for the MQ Client Endpoint Provider. @@ -32,6 +41,22 @@ using MQEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace MQ + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MQ_EXTERN template class AWS_MQ_API Aws::Endpoint::EndpointProviderBase< + MQ::Endpoint::MQClientConfiguration, MQ::Endpoint::MQBuiltInParameters, MQ::Endpoint::MQClientContextParameters>; + +AWS_MQ_EXTERN template class AWS_MQ_API Aws::Endpoint::BDDEndpointProvider< + MQ::Endpoint::MQClientConfiguration, MQ::Endpoint::MQBuiltInParameters, MQ::Endpoint::MQClientContextParameters>; +} // namespace Endpoint + +namespace MQ { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQServiceClientModel.h b/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQServiceClientModel.h index e3319373ddec..8671bbc2da37 100644 --- a/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mq/include/aws/mq/MQServiceClientModel.h @@ -74,7 +74,6 @@ class RetryStrategy; } // namespace Client namespace MQ { -using MQClientConfiguration = Aws::Client::GenericClientConfiguration; using MQEndpointProviderBase = Aws::MQ::Endpoint::MQEndpointProviderBase; using MQEndpointProvider = Aws::MQ::Endpoint::MQEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mq/source/MQClient.cpp b/generated/src/aws-cpp-sdk-mq/source/MQClient.cpp index 77c775f0863c..f1591bdc29fc 100644 --- a/generated/src/aws-cpp-sdk-mq/source/MQClient.cpp +++ b/generated/src/aws-cpp-sdk-mq/source/MQClient.cpp @@ -100,41 +100,6 @@ MQClient::MQClient(const std::shared_ptr& credentialsPro init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MQClient::MQClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MQClient::MQClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MQClient::MQClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MQClient::~MQClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MQClient::accessEndpointProvider() { return m_endpointProvider; } @@ -152,12 +117,7 @@ void MQClient::init(const MQ::MQClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mq"); -} - -void MQClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MQClient::InvokeOperationOutcome MQClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mq/source/MQClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mq/source/MQClientConfiguration.cpp new file mode 100644 index 000000000000..dd0aa0d02563 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mq/source/MQClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MQ { + +void MQClientConfiguration::LoadMQSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MQClientConfiguration::MQClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMQSpecificConfig(this->profileName); +} + +MQClientConfiguration::MQClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMQSpecificConfig(Aws::String(inputProfileName)); +} + +MQClientConfiguration::MQClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMQSpecificConfig(this->profileName); +} + +MQClientConfiguration::MQClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadMQSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MQClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MQ +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mq/source/MQEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mq/source/MQEndpointProvider.cpp index dde1288a59cc..90158ac3c2f4 100644 --- a/generated/src/aws-cpp-sdk-mq/source/MQEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mq/source/MQEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_MQ_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MQ { namespace Endpoint { MQEndpointProvider::MQEndpointProvider() : MQDefaultEpProviderBase(Aws::MQ::MQEndpointRules::GetRulesBlob(), Aws::MQ::MQEndpointRules::RulesBlobSize) {} +void MQBuiltInParameters::SetFromClientConfiguration(const MQClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MQBuiltInParameters::SetFromClientConfiguration(const MQClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MQBuiltInParameters::SetServiceSpecificParameters(const MQClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MQ } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkClient.h b/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkClient.h index 0507a2806e02..38a251cfbff4 100644 --- a/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkClient.h +++ b/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkClient.h @@ -52,27 +52,6 @@ class AWS_MTURK_API MTurkClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::MTurk::MTurkClientConfiguration& clientConfiguration = Aws::MTurk::MTurkClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MTurkClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MTurkClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MTurkClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MTurkClient(); /** @@ -1367,7 +1346,6 @@ class AWS_MTURK_API MTurkClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MTurkClient::UpdateQualificationType, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkClientConfiguration.h b/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkClientConfiguration.h new file mode 100644 index 000000000000..88c60afa10f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MTurk { +struct AWS_MTURK_API MTurkClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MTurkClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MTurkClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MTurkClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MTurkClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadMTurkSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MTURK_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MTurkClientConfiguration& config); +} // namespace MTurk +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkEndpointProvider.h b/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkEndpointProvider.h index 4295ebfd5169..a9ed1bdd23da 100644 --- a/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MTurk { namespace Endpoint { +using MTurkClientConfiguration = Aws::MTurk::MTurkClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MTurkClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MTurkClientConfiguration = Aws::Client::GenericClientConfiguration; -using MTurkBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MTURK_API MTurkBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MTurkBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MTurkClientConfiguration& config); + virtual void SetFromClientConfiguration(const MTurkClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MTurkClientConfiguration& config); +}; /** * The type for the MTurk Client Endpoint Provider. @@ -32,6 +41,22 @@ using MTurkEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace MTurk + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MTURK_EXTERN template class AWS_MTURK_API Aws::Endpoint::EndpointProviderBase< + MTurk::Endpoint::MTurkClientConfiguration, MTurk::Endpoint::MTurkBuiltInParameters, MTurk::Endpoint::MTurkClientContextParameters>; + +AWS_MTURK_EXTERN template class AWS_MTURK_API Aws::Endpoint::BDDEndpointProvider< + MTurk::Endpoint::MTurkClientConfiguration, MTurk::Endpoint::MTurkBuiltInParameters, MTurk::Endpoint::MTurkClientContextParameters>; +} // namespace Endpoint + +namespace MTurk { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkServiceClientModel.h b/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkServiceClientModel.h index f752879d45fd..59f611401fd6 100644 --- a/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkServiceClientModel.h @@ -91,7 +91,6 @@ class RetryStrategy; } // namespace Client namespace MTurk { -using MTurkClientConfiguration = Aws::Client::GenericClientConfiguration; using MTurkEndpointProviderBase = Aws::MTurk::Endpoint::MTurkEndpointProviderBase; using MTurkEndpointProvider = Aws::MTurk::Endpoint::MTurkEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkClient.cpp b/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkClient.cpp index 839870868a4e..5b4eb64769c7 100644 --- a/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkClient.cpp +++ b/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkClient.cpp @@ -116,41 +116,6 @@ MTurkClient::MTurkClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MTurkClient::MTurkClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MTurkClient::MTurkClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MTurkClient::MTurkClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MTurkClient::~MTurkClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MTurkClient::accessEndpointProvider() { return m_endpointProvider; } @@ -168,12 +133,7 @@ void MTurkClient::init(const MTurk::MTurkClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mturk-requester"); -} - -void MTurkClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MTurkClient::InvokeOperationOutcome MTurkClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkClientConfiguration.cpp new file mode 100644 index 000000000000..3eafbcf9abea --- /dev/null +++ b/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MTurk { + +void MTurkClientConfiguration::LoadMTurkSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MTurkClientConfiguration::MTurkClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMTurkSpecificConfig(this->profileName); +} + +MTurkClientConfiguration::MTurkClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMTurkSpecificConfig(Aws::String(inputProfileName)); +} + +MTurkClientConfiguration::MTurkClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMTurkSpecificConfig(this->profileName); +} + +MTurkClientConfiguration::MTurkClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMTurkSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MTurkClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MTurk +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkEndpointProvider.cpp index 7c373b1481d0..9e39e16e48ba 100644 --- a/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mturk-requester/source/MTurkEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_MTURK_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MTurk { namespace Endpoint { MTurkEndpointProvider::MTurkEndpointProvider() : MTurkDefaultEpProviderBase(Aws::MTurk::MTurkEndpointRules::GetRulesBlob(), Aws::MTurk::MTurkEndpointRules::RulesBlobSize) {} +void MTurkBuiltInParameters::SetFromClientConfiguration(const MTurkClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MTurkBuiltInParameters::SetFromClientConfiguration(const MTurkClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MTurkBuiltInParameters::SetServiceSpecificParameters(const MTurkClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MTurk } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessClient.h b/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessClient.h index 3f02ee22fb94..973b7437cd52 100644 --- a/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessClient.h +++ b/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessClient.h @@ -63,27 +63,6 @@ class AWS_MWAASERVERLESS_API MWAAServerlessClient : public Aws::Client::AWSJsonC const Aws::MWAAServerless::MWAAServerlessClientConfiguration& clientConfiguration = Aws::MWAAServerless::MWAAServerlessClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MWAAServerlessClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MWAAServerlessClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MWAAServerlessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MWAAServerlessClient(); /** @@ -524,7 +503,6 @@ class AWS_MWAASERVERLESS_API MWAAServerlessClient : public Aws::Client::AWSJsonC return SubmitAsync(&MWAAServerlessClient::UpdateWorkflow, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessClientConfiguration.h b/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessClientConfiguration.h new file mode 100644 index 000000000000..c24dd9c5b2b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MWAAServerless { +struct AWS_MWAASERVERLESS_API MWAAServerlessClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MWAAServerlessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MWAAServerlessClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MWAAServerlessClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MWAAServerlessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadMWAAServerlessSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MWAASERVERLESS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MWAAServerlessClientConfiguration& config); +} // namespace MWAAServerless +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessEndpointProvider.h b/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessEndpointProvider.h index 3a5c21c5493e..9ecaa0408543 100644 --- a/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MWAAServerless { namespace Endpoint { +using MWAAServerlessClientConfiguration = Aws::MWAAServerless::MWAAServerlessClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MWAAServerlessClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MWAAServerlessClientConfiguration = Aws::Client::GenericClientConfiguration; -using MWAAServerlessBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MWAASERVERLESS_API MWAAServerlessBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MWAAServerlessBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MWAAServerlessClientConfiguration& config); + virtual void SetFromClientConfiguration(const MWAAServerlessClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MWAAServerlessClientConfiguration& config); +}; /** * The type for the MWAAServerless Client Endpoint Provider. @@ -34,6 +43,24 @@ using MWAAServerlessEndpointProviderBase = using MWAAServerlessDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace MWAAServerless + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MWAASERVERLESS_EXTERN template class AWS_MWAASERVERLESS_API Aws::Endpoint::EndpointProviderBase< + MWAAServerless::Endpoint::MWAAServerlessClientConfiguration, MWAAServerless::Endpoint::MWAAServerlessBuiltInParameters, + MWAAServerless::Endpoint::MWAAServerlessClientContextParameters>; + +AWS_MWAASERVERLESS_EXTERN template class AWS_MWAASERVERLESS_API Aws::Endpoint::BDDEndpointProvider< + MWAAServerless::Endpoint::MWAAServerlessClientConfiguration, MWAAServerless::Endpoint::MWAAServerlessBuiltInParameters, + MWAAServerless::Endpoint::MWAAServerlessClientContextParameters>; +} // namespace Endpoint + +namespace MWAAServerless { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessServiceClientModel.h b/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessServiceClientModel.h index ba0d8f895885..21922ec87266 100644 --- a/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessServiceClientModel.h @@ -62,7 +62,6 @@ class RetryStrategy; } // namespace Client namespace MWAAServerless { -using MWAAServerlessClientConfiguration = Aws::Client::GenericClientConfiguration; using MWAAServerlessEndpointProviderBase = Aws::MWAAServerless::Endpoint::MWAAServerlessEndpointProviderBase; using MWAAServerlessEndpointProvider = Aws::MWAAServerless::Endpoint::MWAAServerlessEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessClient.cpp b/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessClient.cpp index 715b247824f2..4c5a4a8084c6 100644 --- a/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessClient.cpp +++ b/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessClient.cpp @@ -93,41 +93,6 @@ MWAAServerlessClient::MWAAServerlessClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MWAAServerlessClient::MWAAServerlessClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MWAAServerlessClient::MWAAServerlessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MWAAServerlessClient::~MWAAServerlessClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MWAAServerlessClient::accessEndpointProvider() { return m_endpointProvider; } @@ -145,12 +110,7 @@ void MWAAServerlessClient::init(const MWAAServerless::MWAAServerlessClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "airflow-serverless"); -} - -void MWAAServerlessClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MWAAServerlessClient::InvokeOperationOutcome MWAAServerlessClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessClientConfiguration.cpp new file mode 100644 index 000000000000..c082ba6bf140 --- /dev/null +++ b/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MWAAServerless { + +void MWAAServerlessClientConfiguration::LoadMWAAServerlessSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MWAAServerlessClientConfiguration::MWAAServerlessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMWAAServerlessSpecificConfig(this->profileName); +} + +MWAAServerlessClientConfiguration::MWAAServerlessClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMWAAServerlessSpecificConfig(Aws::String(inputProfileName)); +} + +MWAAServerlessClientConfiguration::MWAAServerlessClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMWAAServerlessSpecificConfig(this->profileName); +} + +MWAAServerlessClientConfiguration::MWAAServerlessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMWAAServerlessSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MWAAServerlessClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MWAAServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessEndpointProvider.cpp index 0ab84a8f318c..f419b29e7fc8 100644 --- a/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_MWAASERVERLESS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MWAAServerless { namespace Endpoint { MWAAServerlessEndpointProvider::MWAAServerlessEndpointProvider() : MWAAServerlessDefaultEpProviderBase(Aws::MWAAServerless::MWAAServerlessEndpointRules::GetRulesBlob(), Aws::MWAAServerless::MWAAServerlessEndpointRules::RulesBlobSize) {} +void MWAAServerlessBuiltInParameters::SetFromClientConfiguration(const MWAAServerlessClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MWAAServerlessBuiltInParameters::SetFromClientConfiguration(const MWAAServerlessClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MWAAServerlessBuiltInParameters::SetServiceSpecificParameters(const MWAAServerlessClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace MWAAServerless } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAClient.h b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAClient.h index 12e4731ec88f..3c2c52321964 100644 --- a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAClient.h +++ b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAClient.h @@ -87,27 +87,6 @@ class AWS_MWAA_API MWAAClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::MWAA::MWAAClientConfiguration& clientConfiguration = Aws::MWAA::MWAAClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - MWAAClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - MWAAClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - MWAAClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~MWAAClient(); /** @@ -409,7 +388,6 @@ class AWS_MWAA_API MWAAClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&MWAAClient::UpdateEnvironment, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAClientConfiguration.h b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAClientConfiguration.h new file mode 100644 index 000000000000..690447a50f7a --- /dev/null +++ b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace MWAA { +struct AWS_MWAA_API MWAAClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + MWAAClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MWAAClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + MWAAClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit MWAAClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadMWAASpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_MWAA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const MWAAClientConfiguration& config); +} // namespace MWAA +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAEndpointProvider.h b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAEndpointProvider.h index edb1d82fd544..ba646c4c4e0d 100644 --- a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace MWAA { namespace Endpoint { +using MWAAClientConfiguration = Aws::MWAA::MWAAClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using MWAAClientContextParameters = Aws::Endpoint::ClientContextParameters; -using MWAAClientConfiguration = Aws::Client::GenericClientConfiguration; -using MWAABuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_MWAA_API MWAABuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~MWAABuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const MWAAClientConfiguration& config); + virtual void SetFromClientConfiguration(const MWAAClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const MWAAClientConfiguration& config); +}; /** * The type for the MWAA Client Endpoint Provider. @@ -32,6 +41,22 @@ using MWAAEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace MWAA + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_MWAA_EXTERN template class AWS_MWAA_API Aws::Endpoint::EndpointProviderBase< + MWAA::Endpoint::MWAAClientConfiguration, MWAA::Endpoint::MWAABuiltInParameters, MWAA::Endpoint::MWAAClientContextParameters>; + +AWS_MWAA_EXTERN template class AWS_MWAA_API Aws::Endpoint::BDDEndpointProvider< + MWAA::Endpoint::MWAAClientConfiguration, MWAA::Endpoint::MWAABuiltInParameters, MWAA::Endpoint::MWAAClientContextParameters>; +} // namespace Endpoint + +namespace MWAA { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAServiceClientModel.h b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAServiceClientModel.h index 3a27077e19b1..8aedb749083f 100644 --- a/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAServiceClientModel.h @@ -58,7 +58,6 @@ class RetryStrategy; } // namespace Client namespace MWAA { -using MWAAClientConfiguration = Aws::Client::GenericClientConfiguration; using MWAAEndpointProviderBase = Aws::MWAA::Endpoint::MWAAEndpointProviderBase; using MWAAEndpointProvider = Aws::MWAA::Endpoint::MWAAEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-mwaa/source/MWAAClient.cpp b/generated/src/aws-cpp-sdk-mwaa/source/MWAAClient.cpp index 2fddc8f7137f..943b840a80f9 100644 --- a/generated/src/aws-cpp-sdk-mwaa/source/MWAAClient.cpp +++ b/generated/src/aws-cpp-sdk-mwaa/source/MWAAClient.cpp @@ -86,41 +86,6 @@ MWAAClient::MWAAClient(const std::shared_ptr& credential init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -MWAAClient::MWAAClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MWAAClient::MWAAClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -MWAAClient::MWAAClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ MWAAClient::~MWAAClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& MWAAClient::accessEndpointProvider() { return m_endpointProvider; } @@ -138,12 +103,7 @@ void MWAAClient::init(const MWAA::MWAAClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "airflow"); -} - -void MWAAClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } MWAAClient::InvokeOperationOutcome MWAAClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-mwaa/source/MWAAClientConfiguration.cpp b/generated/src/aws-cpp-sdk-mwaa/source/MWAAClientConfiguration.cpp new file mode 100644 index 000000000000..2a5912ef483d --- /dev/null +++ b/generated/src/aws-cpp-sdk-mwaa/source/MWAAClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace MWAA { + +void MWAAClientConfiguration::LoadMWAASpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +MWAAClientConfiguration::MWAAClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadMWAASpecificConfig(this->profileName); +} + +MWAAClientConfiguration::MWAAClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadMWAASpecificConfig(Aws::String(inputProfileName)); +} + +MWAAClientConfiguration::MWAAClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadMWAASpecificConfig(this->profileName); +} + +MWAAClientConfiguration::MWAAClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadMWAASpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const MWAAClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace MWAA +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-mwaa/source/MWAAEndpointProvider.cpp b/generated/src/aws-cpp-sdk-mwaa/source/MWAAEndpointProvider.cpp index f85e4a8f6c1e..daf02c97153c 100644 --- a/generated/src/aws-cpp-sdk-mwaa/source/MWAAEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-mwaa/source/MWAAEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_MWAA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace MWAA { namespace Endpoint { MWAAEndpointProvider::MWAAEndpointProvider() : MWAADefaultEpProviderBase(Aws::MWAA::MWAAEndpointRules::GetRulesBlob(), Aws::MWAA::MWAAEndpointRules::RulesBlobSize) {} +void MWAABuiltInParameters::SetFromClientConfiguration(const MWAAClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void MWAABuiltInParameters::SetFromClientConfiguration(const MWAAClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void MWAABuiltInParameters::SetServiceSpecificParameters(const MWAAClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace MWAA } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphClient.h b/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphClient.h index 8f0a7897c1d5..7b37830847ec 100644 --- a/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphClient.h +++ b/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphClient.h @@ -58,27 +58,6 @@ class AWS_NEPTUNEGRAPH_API NeptuneGraphClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::NeptuneGraph::NeptuneGraphClientConfiguration& clientConfiguration = Aws::NeptuneGraph::NeptuneGraphClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NeptuneGraphClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NeptuneGraphClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NeptuneGraphClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NeptuneGraphClient(); /** @@ -989,7 +968,6 @@ class AWS_NEPTUNEGRAPH_API NeptuneGraphClient : public Aws::Client::AWSJsonClien return SubmitAsync(&NeptuneGraphClient::UpdateGraph, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphClientConfiguration.h b/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphClientConfiguration.h new file mode 100644 index 000000000000..a4a84af4aaa2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NeptuneGraph { +struct AWS_NEPTUNEGRAPH_API NeptuneGraphClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NeptuneGraphClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NeptuneGraphClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NeptuneGraphClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NeptuneGraphClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadNeptuneGraphSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NEPTUNEGRAPH_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NeptuneGraphClientConfiguration& config); +} // namespace NeptuneGraph +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphEndpointProvider.h b/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphEndpointProvider.h index aaa606ffd8fa..81764c8eda74 100644 --- a/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NeptuneGraph { namespace Endpoint { +using NeptuneGraphClientConfiguration = Aws::NeptuneGraph::NeptuneGraphClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NeptuneGraphClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NeptuneGraphClientConfiguration = Aws::Client::GenericClientConfiguration; -using NeptuneGraphBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NEPTUNEGRAPH_API NeptuneGraphBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NeptuneGraphBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NeptuneGraphClientConfiguration& config); + virtual void SetFromClientConfiguration(const NeptuneGraphClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NeptuneGraphClientConfiguration& config); +}; /** * The type for the NeptuneGraph Client Endpoint Provider. @@ -34,6 +43,24 @@ using NeptuneGraphEndpointProviderBase = using NeptuneGraphDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace NeptuneGraph + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NEPTUNEGRAPH_EXTERN template class AWS_NEPTUNEGRAPH_API Aws::Endpoint::EndpointProviderBase< + NeptuneGraph::Endpoint::NeptuneGraphClientConfiguration, NeptuneGraph::Endpoint::NeptuneGraphBuiltInParameters, + NeptuneGraph::Endpoint::NeptuneGraphClientContextParameters>; + +AWS_NEPTUNEGRAPH_EXTERN template class AWS_NEPTUNEGRAPH_API Aws::Endpoint::BDDEndpointProvider< + NeptuneGraph::Endpoint::NeptuneGraphClientConfiguration, NeptuneGraph::Endpoint::NeptuneGraphBuiltInParameters, + NeptuneGraph::Endpoint::NeptuneGraphClientContextParameters>; +} // namespace Endpoint + +namespace NeptuneGraph { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphServiceClientModel.h b/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphServiceClientModel.h index e372684807c8..2b92a5e83ad0 100644 --- a/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphServiceClientModel.h @@ -84,7 +84,6 @@ class RetryStrategy; } // namespace Client namespace NeptuneGraph { -using NeptuneGraphClientConfiguration = Aws::Client::GenericClientConfiguration; using NeptuneGraphEndpointProviderBase = Aws::NeptuneGraph::Endpoint::NeptuneGraphEndpointProviderBase; using NeptuneGraphEndpointProvider = Aws::NeptuneGraph::Endpoint::NeptuneGraphEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphClient.cpp b/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphClient.cpp index 8d87a0718f46..c4070ae3ca4c 100644 --- a/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphClient.cpp +++ b/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphClient.cpp @@ -112,41 +112,6 @@ NeptuneGraphClient::NeptuneGraphClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NeptuneGraphClient::NeptuneGraphClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NeptuneGraphClient::NeptuneGraphClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NeptuneGraphClient::~NeptuneGraphClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NeptuneGraphClient::accessEndpointProvider() { return m_endpointProvider; } @@ -164,12 +129,7 @@ void NeptuneGraphClient::init(const NeptuneGraph::NeptuneGraphClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "neptune-graph"); -} - -void NeptuneGraphClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NeptuneGraphClient::InvokeOperationOutcome NeptuneGraphClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphClientConfiguration.cpp b/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphClientConfiguration.cpp new file mode 100644 index 000000000000..19e1308e271c --- /dev/null +++ b/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NeptuneGraph { + +void NeptuneGraphClientConfiguration::LoadNeptuneGraphSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NeptuneGraphClientConfiguration::NeptuneGraphClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNeptuneGraphSpecificConfig(this->profileName); +} + +NeptuneGraphClientConfiguration::NeptuneGraphClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNeptuneGraphSpecificConfig(Aws::String(inputProfileName)); +} + +NeptuneGraphClientConfiguration::NeptuneGraphClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNeptuneGraphSpecificConfig(this->profileName); +} + +NeptuneGraphClientConfiguration::NeptuneGraphClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNeptuneGraphSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NeptuneGraphClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NeptuneGraph +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphEndpointProvider.cpp b/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphEndpointProvider.cpp index 7dcdc98733eb..640f015c6e05 100644 --- a/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_NEPTUNEGRAPH_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace NeptuneGraph { namespace Endpoint { NeptuneGraphEndpointProvider::NeptuneGraphEndpointProvider() : NeptuneGraphDefaultEpProviderBase(Aws::NeptuneGraph::NeptuneGraphEndpointRules::GetRulesBlob(), Aws::NeptuneGraph::NeptuneGraphEndpointRules::RulesBlobSize) {} +void NeptuneGraphBuiltInParameters::SetFromClientConfiguration(const NeptuneGraphClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NeptuneGraphBuiltInParameters::SetFromClientConfiguration(const NeptuneGraphClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NeptuneGraphBuiltInParameters::SetServiceSpecificParameters(const NeptuneGraphClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace NeptuneGraph } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneClient.h b/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneClient.h index b986f9e80299..a78f69d5fa1e 100644 --- a/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneClient.h +++ b/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneClient.h @@ -70,27 +70,6 @@ class AWS_NEPTUNE_API NeptuneClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::Neptune::NeptuneClientConfiguration& clientConfiguration = Aws::Neptune::NeptuneClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NeptuneClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NeptuneClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NeptuneClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NeptuneClient(); /** @@ -2306,7 +2285,6 @@ class AWS_NEPTUNE_API NeptuneClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&NeptuneClient::SwitchoverGlobalCluster, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneClientConfiguration.h b/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneClientConfiguration.h new file mode 100644 index 000000000000..4a110d4ed1a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Neptune { +struct AWS_NEPTUNE_API NeptuneClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NeptuneClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NeptuneClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NeptuneClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NeptuneClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadNeptuneSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NEPTUNE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NeptuneClientConfiguration& config); +} // namespace Neptune +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneEndpointProvider.h b/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneEndpointProvider.h index cb59673a3444..d756f9f96e61 100644 --- a/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Neptune { namespace Endpoint { +using NeptuneClientConfiguration = Aws::Neptune::NeptuneClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NeptuneClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NeptuneClientConfiguration = Aws::Client::GenericClientConfiguration; -using NeptuneBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NEPTUNE_API NeptuneBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NeptuneBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NeptuneClientConfiguration& config); + virtual void SetFromClientConfiguration(const NeptuneClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NeptuneClientConfiguration& config); +}; /** * The type for the Neptune Client Endpoint Provider. @@ -34,6 +43,24 @@ using NeptuneEndpointProviderBase = using NeptuneDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Neptune + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NEPTUNE_EXTERN template class AWS_NEPTUNE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_NEPTUNE_EXTERN template class AWS_NEPTUNE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Neptune { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneServiceClientModel.h b/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneServiceClientModel.h index 012777c9cf1c..bee883c78eb0 100644 --- a/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneServiceClientModel.h @@ -124,7 +124,6 @@ class RetryStrategy; } // namespace Client namespace Neptune { -using NeptuneClientConfiguration = Aws::Client::GenericClientConfiguration; using NeptuneEndpointProviderBase = Aws::Neptune::Endpoint::NeptuneEndpointProviderBase; using NeptuneEndpointProvider = Aws::Neptune::Endpoint::NeptuneEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-neptune/source/NeptuneClient.cpp b/generated/src/aws-cpp-sdk-neptune/source/NeptuneClient.cpp index f461a9a81d66..3b5e9488c6e6 100644 --- a/generated/src/aws-cpp-sdk-neptune/source/NeptuneClient.cpp +++ b/generated/src/aws-cpp-sdk-neptune/source/NeptuneClient.cpp @@ -147,41 +147,6 @@ NeptuneClient::NeptuneClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -NeptuneClient::NeptuneClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NeptuneClient::NeptuneClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NeptuneClient::NeptuneClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NeptuneClient::~NeptuneClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NeptuneClient::accessEndpointProvider() { return m_endpointProvider; } @@ -199,12 +164,7 @@ void NeptuneClient::init(const Neptune::NeptuneClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rds"); -} - -void NeptuneClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String NeptuneClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-neptune/source/NeptuneClientConfiguration.cpp b/generated/src/aws-cpp-sdk-neptune/source/NeptuneClientConfiguration.cpp new file mode 100644 index 000000000000..44e934c315a0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-neptune/source/NeptuneClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Neptune { + +void NeptuneClientConfiguration::LoadNeptuneSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NeptuneClientConfiguration::NeptuneClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNeptuneSpecificConfig(this->profileName); +} + +NeptuneClientConfiguration::NeptuneClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNeptuneSpecificConfig(Aws::String(inputProfileName)); +} + +NeptuneClientConfiguration::NeptuneClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNeptuneSpecificConfig(this->profileName); +} + +NeptuneClientConfiguration::NeptuneClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNeptuneSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NeptuneClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Neptune +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-neptune/source/NeptuneEndpointProvider.cpp b/generated/src/aws-cpp-sdk-neptune/source/NeptuneEndpointProvider.cpp index 9c34feeba0f0..18247fffeb0d 100644 --- a/generated/src/aws-cpp-sdk-neptune/source/NeptuneEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-neptune/source/NeptuneEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_NEPTUNE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Neptune { namespace Endpoint { NeptuneEndpointProvider::NeptuneEndpointProvider() : NeptuneDefaultEpProviderBase(Aws::Neptune::NeptuneEndpointRules::GetRulesBlob(), Aws::Neptune::NeptuneEndpointRules::RulesBlobSize) {} +void NeptuneBuiltInParameters::SetFromClientConfiguration(const NeptuneClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NeptuneBuiltInParameters::SetFromClientConfiguration(const NeptuneClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NeptuneBuiltInParameters::SetServiceSpecificParameters(const NeptuneClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Neptune } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataClient.h b/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataClient.h index d690a9ad9181..21cd71c8831e 100644 --- a/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataClient.h +++ b/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataClient.h @@ -60,27 +60,6 @@ class AWS_NEPTUNEDATA_API NeptunedataClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::neptunedata::NeptunedataClientConfiguration& clientConfiguration = Aws::neptunedata::NeptunedataClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NeptunedataClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NeptunedataClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NeptunedataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NeptunedataClient(); /** @@ -1775,7 +1754,6 @@ class AWS_NEPTUNEDATA_API NeptunedataClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&NeptunedataClient::StartMLModelTransformJob, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataClientConfiguration.h b/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataClientConfiguration.h new file mode 100644 index 000000000000..a1fc8555889b --- /dev/null +++ b/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace neptunedata { +struct AWS_NEPTUNEDATA_API NeptunedataClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NeptunedataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NeptunedataClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NeptunedataClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NeptunedataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadneptunedataSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NEPTUNEDATA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NeptunedataClientConfiguration& config); +} // namespace neptunedata +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataEndpointProvider.h b/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataEndpointProvider.h index fb4583d53e9e..0516e827a12c 100644 --- a/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace neptunedata { namespace Endpoint { +using NeptunedataClientConfiguration = Aws::neptunedata::NeptunedataClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NeptunedataClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NeptunedataClientConfiguration = Aws::Client::GenericClientConfiguration; -using NeptunedataBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NEPTUNEDATA_API NeptunedataBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NeptunedataBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NeptunedataClientConfiguration& config); + virtual void SetFromClientConfiguration(const NeptunedataClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NeptunedataClientConfiguration& config); +}; /** * The type for the neptunedata Client Endpoint Provider. @@ -34,6 +43,24 @@ using NeptunedataEndpointProviderBase = using NeptunedataDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace neptunedata + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NEPTUNEDATA_EXTERN template class AWS_NEPTUNEDATA_API Aws::Endpoint::EndpointProviderBase< + neptunedata::Endpoint::NeptunedataClientConfiguration, neptunedata::Endpoint::NeptunedataBuiltInParameters, + neptunedata::Endpoint::NeptunedataClientContextParameters>; + +AWS_NEPTUNEDATA_EXTERN template class AWS_NEPTUNEDATA_API Aws::Endpoint::BDDEndpointProvider< + neptunedata::Endpoint::NeptunedataClientConfiguration, neptunedata::Endpoint::NeptunedataBuiltInParameters, + neptunedata::Endpoint::NeptunedataClientContextParameters>; +} // namespace Endpoint + +namespace neptunedata { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataServiceClientModel.h b/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataServiceClientModel.h index b8faefd22763..1d4c1a6e37f4 100644 --- a/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataServiceClientModel.h @@ -116,7 +116,6 @@ class RetryStrategy; } // namespace Client namespace neptunedata { -using NeptunedataClientConfiguration = Aws::Client::GenericClientConfiguration; using NeptunedataEndpointProviderBase = Aws::neptunedata::Endpoint::NeptunedataEndpointProviderBase; using NeptunedataEndpointProvider = Aws::neptunedata::Endpoint::NeptunedataEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataClient.cpp b/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataClient.cpp index 6f959bb423c4..14f944165f5e 100644 --- a/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataClient.cpp +++ b/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataClient.cpp @@ -125,41 +125,6 @@ NeptunedataClient::NeptunedataClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NeptunedataClient::NeptunedataClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NeptunedataClient::NeptunedataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NeptunedataClient::~NeptunedataClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NeptunedataClient::accessEndpointProvider() { return m_endpointProvider; } @@ -177,12 +142,7 @@ void NeptunedataClient::init(const neptunedata::NeptunedataClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "neptune-db"); -} - -void NeptunedataClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NeptunedataClient::InvokeOperationOutcome NeptunedataClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataClientConfiguration.cpp b/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataClientConfiguration.cpp new file mode 100644 index 000000000000..e1f3566ae45c --- /dev/null +++ b/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace neptunedata { + +void NeptunedataClientConfiguration::LoadneptunedataSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NeptunedataClientConfiguration::NeptunedataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadneptunedataSpecificConfig(this->profileName); +} + +NeptunedataClientConfiguration::NeptunedataClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadneptunedataSpecificConfig(Aws::String(inputProfileName)); +} + +NeptunedataClientConfiguration::NeptunedataClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadneptunedataSpecificConfig(this->profileName); +} + +NeptunedataClientConfiguration::NeptunedataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadneptunedataSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NeptunedataClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace neptunedata +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataEndpointProvider.cpp b/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataEndpointProvider.cpp index 5822ac19fd44..851f50559a7e 100644 --- a/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_NEPTUNEDATA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace neptunedata { namespace Endpoint { NeptunedataEndpointProvider::NeptunedataEndpointProvider() : NeptunedataDefaultEpProviderBase(Aws::neptunedata::NeptunedataEndpointRules::GetRulesBlob(), Aws::neptunedata::NeptunedataEndpointRules::RulesBlobSize) {} +void NeptunedataBuiltInParameters::SetFromClientConfiguration(const NeptunedataClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NeptunedataBuiltInParameters::SetFromClientConfiguration(const NeptunedataClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NeptunedataBuiltInParameters::SetServiceSpecificParameters(const NeptunedataClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace neptunedata } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h index a59d533b9640..d4e681968645 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClient.h @@ -118,27 +118,6 @@ class AWS_NETWORKFIREWALL_API NetworkFirewallClient : public Aws::Client::AWSJso const Aws::NetworkFirewall::NetworkFirewallClientConfiguration& clientConfiguration = Aws::NetworkFirewall::NetworkFirewallClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NetworkFirewallClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NetworkFirewallClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NetworkFirewallClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NetworkFirewallClient(); /** @@ -2803,7 +2782,6 @@ class AWS_NETWORKFIREWALL_API NetworkFirewallClient : public Aws::Client::AWSJso return SubmitAsync(&NetworkFirewallClient::UpdateTLSInspectionConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClientConfiguration.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClientConfiguration.h new file mode 100644 index 000000000000..5cdf49fa4f07 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NetworkFirewall { +struct AWS_NETWORKFIREWALL_API NetworkFirewallClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NetworkFirewallClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkFirewallClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkFirewallClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NetworkFirewallClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadNetworkFirewallSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NETWORKFIREWALL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkFirewallClientConfiguration& config); +} // namespace NetworkFirewall +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallEndpointProvider.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallEndpointProvider.h index a26c217e1d1c..1995b60bb942 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NetworkFirewall { namespace Endpoint { +using NetworkFirewallClientConfiguration = Aws::NetworkFirewall::NetworkFirewallClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NetworkFirewallClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NetworkFirewallClientConfiguration = Aws::Client::GenericClientConfiguration; -using NetworkFirewallBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NETWORKFIREWALL_API NetworkFirewallBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NetworkFirewallBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NetworkFirewallClientConfiguration& config); + virtual void SetFromClientConfiguration(const NetworkFirewallClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NetworkFirewallClientConfiguration& config); +}; /** * The type for the NetworkFirewall Client Endpoint Provider. @@ -34,6 +43,24 @@ using NetworkFirewallEndpointProviderBase = using NetworkFirewallDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace NetworkFirewall + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NETWORKFIREWALL_EXTERN template class AWS_NETWORKFIREWALL_API Aws::Endpoint::EndpointProviderBase< + NetworkFirewall::Endpoint::NetworkFirewallClientConfiguration, NetworkFirewall::Endpoint::NetworkFirewallBuiltInParameters, + NetworkFirewall::Endpoint::NetworkFirewallClientContextParameters>; + +AWS_NETWORKFIREWALL_EXTERN template class AWS_NETWORKFIREWALL_API Aws::Endpoint::BDDEndpointProvider< + NetworkFirewall::Endpoint::NetworkFirewallClientConfiguration, NetworkFirewall::Endpoint::NetworkFirewallBuiltInParameters, + NetworkFirewall::Endpoint::NetworkFirewallClientContextParameters>; +} // namespace Endpoint + +namespace NetworkFirewall { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallServiceClientModel.h b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallServiceClientModel.h index 08d125aca91b..343bb4641b5b 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallServiceClientModel.h @@ -165,7 +165,6 @@ class RetryStrategy; } // namespace Client namespace NetworkFirewall { -using NetworkFirewallClientConfiguration = Aws::Client::GenericClientConfiguration; using NetworkFirewallEndpointProviderBase = Aws::NetworkFirewall::Endpoint::NetworkFirewallEndpointProviderBase; using NetworkFirewallEndpointProvider = Aws::NetworkFirewall::Endpoint::NetworkFirewallEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClient.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClient.cpp index 6fc5fa13adf8..d4c0a1cdc188 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClient.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClient.cpp @@ -166,41 +166,6 @@ NetworkFirewallClient::NetworkFirewallClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkFirewallClient::NetworkFirewallClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkFirewallClient::NetworkFirewallClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NetworkFirewallClient::~NetworkFirewallClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NetworkFirewallClient::accessEndpointProvider() { return m_endpointProvider; } @@ -218,12 +183,7 @@ void NetworkFirewallClient::init(const NetworkFirewall::NetworkFirewallClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "network-firewall"); -} - -void NetworkFirewallClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NetworkFirewallClient::InvokeOperationOutcome NetworkFirewallClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClientConfiguration.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClientConfiguration.cpp new file mode 100644 index 000000000000..ad6a33a4a68f --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NetworkFirewall { + +void NetworkFirewallClientConfiguration::LoadNetworkFirewallSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NetworkFirewallClientConfiguration::NetworkFirewallClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNetworkFirewallSpecificConfig(this->profileName); +} + +NetworkFirewallClientConfiguration::NetworkFirewallClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNetworkFirewallSpecificConfig(Aws::String(inputProfileName)); +} + +NetworkFirewallClientConfiguration::NetworkFirewallClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNetworkFirewallSpecificConfig(this->profileName); +} + +NetworkFirewallClientConfiguration::NetworkFirewallClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNetworkFirewallSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkFirewallClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NetworkFirewall +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallEndpointProvider.cpp b/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallEndpointProvider.cpp index 79810fc395d4..0c396ce95eef 100644 --- a/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_NETWORKFIREWALL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace NetworkFirewall { namespace Endpoint { NetworkFirewallEndpointProvider::NetworkFirewallEndpointProvider() : NetworkFirewallDefaultEpProviderBase(Aws::NetworkFirewall::NetworkFirewallEndpointRules::GetRulesBlob(), Aws::NetworkFirewall::NetworkFirewallEndpointRules::RulesBlobSize) {} +void NetworkFirewallBuiltInParameters::SetFromClientConfiguration(const NetworkFirewallClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NetworkFirewallBuiltInParameters::SetFromClientConfiguration(const NetworkFirewallClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NetworkFirewallBuiltInParameters::SetServiceSpecificParameters(const NetworkFirewallClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace NetworkFirewall } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerClient.h b/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerClient.h index 54aded1be33e..f82157a67771 100644 --- a/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerClient.h +++ b/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerClient.h @@ -77,27 +77,6 @@ class AWS_NETWORKSECURITYMANAGER_API NetworkSecurityManagerClient const Aws::NetworkSecurityManager::NetworkSecurityManagerClientConfiguration& clientConfiguration = Aws::NetworkSecurityManager::NetworkSecurityManagerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NetworkSecurityManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NetworkSecurityManagerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NetworkSecurityManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NetworkSecurityManagerClient(); /** @@ -1355,7 +1334,6 @@ class AWS_NETWORKSECURITYMANAGER_API NetworkSecurityManagerClient return SubmitAsync(&NetworkSecurityManagerClient::UpdateTemplate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerClientConfiguration.h b/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerClientConfiguration.h new file mode 100644 index 000000000000..95d48985957a --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NetworkSecurityManager { +struct AWS_NETWORKSECURITYMANAGER_API NetworkSecurityManagerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NetworkSecurityManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkSecurityManagerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkSecurityManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NetworkSecurityManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadNetworkSecurityManagerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NETWORKSECURITYMANAGER_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const NetworkSecurityManagerClientConfiguration& config); +} // namespace NetworkSecurityManager +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerEndpointProvider.h b/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerEndpointProvider.h index 0fc35e894827..916c22ab71e0 100644 --- a/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NetworkSecurityManager { namespace Endpoint { +using NetworkSecurityManagerClientConfiguration = Aws::NetworkSecurityManager::NetworkSecurityManagerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NetworkSecurityManagerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NetworkSecurityManagerClientConfiguration = Aws::Client::GenericClientConfiguration; -using NetworkSecurityManagerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NETWORKSECURITYMANAGER_API NetworkSecurityManagerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NetworkSecurityManagerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NetworkSecurityManagerClientConfiguration& config); + virtual void SetFromClientConfiguration(const NetworkSecurityManagerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NetworkSecurityManagerClientConfiguration& config); +}; /** * The type for the NetworkSecurityManager Client Endpoint Provider. @@ -36,6 +45,26 @@ using NetworkSecurityManagerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace NetworkSecurityManager + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NETWORKSECURITYMANAGER_EXTERN template class AWS_NETWORKSECURITYMANAGER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_NETWORKSECURITYMANAGER_EXTERN template class AWS_NETWORKSECURITYMANAGER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace NetworkSecurityManager { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerServiceClientModel.h index 78a0cc5ad9e3..de8c33336bd1 100644 --- a/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerServiceClientModel.h @@ -94,7 +94,6 @@ class RetryStrategy; } // namespace Client namespace NetworkSecurityManager { -using NetworkSecurityManagerClientConfiguration = Aws::Client::GenericClientConfiguration; using NetworkSecurityManagerEndpointProviderBase = Aws::NetworkSecurityManager::Endpoint::NetworkSecurityManagerEndpointProviderBase; using NetworkSecurityManagerEndpointProvider = Aws::NetworkSecurityManager::Endpoint::NetworkSecurityManagerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerClient.cpp b/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerClient.cpp index 86ab4dc8157a..9e8a0418b655 100644 --- a/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerClient.cpp @@ -129,42 +129,6 @@ NetworkSecurityManagerClient::NetworkSecurityManagerClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -NetworkSecurityManagerClient::NetworkSecurityManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkSecurityManagerClient::NetworkSecurityManagerClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkSecurityManagerClient::NetworkSecurityManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NetworkSecurityManagerClient::~NetworkSecurityManagerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NetworkSecurityManagerClient::accessEndpointProvider() { @@ -184,12 +148,7 @@ void NetworkSecurityManagerClient::init(const NetworkSecurityManager::NetworkSec AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "network-security-manager"); -} - -void NetworkSecurityManagerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NetworkSecurityManagerClient::InvokeOperationOutcome NetworkSecurityManagerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerClientConfiguration.cpp new file mode 100644 index 000000000000..cbe353cda314 --- /dev/null +++ b/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NetworkSecurityManager { + +void NetworkSecurityManagerClientConfiguration::LoadNetworkSecurityManagerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NetworkSecurityManagerClientConfiguration::NetworkSecurityManagerClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNetworkSecurityManagerSpecificConfig(this->profileName); +} + +NetworkSecurityManagerClientConfiguration::NetworkSecurityManagerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNetworkSecurityManagerSpecificConfig(Aws::String(inputProfileName)); +} + +NetworkSecurityManagerClientConfiguration::NetworkSecurityManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNetworkSecurityManagerSpecificConfig(this->profileName); +} + +NetworkSecurityManagerClientConfiguration::NetworkSecurityManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNetworkSecurityManagerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkSecurityManagerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NetworkSecurityManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerEndpointProvider.cpp index 4f9a1e4521ce..95aaf5acecf2 100644 --- a/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_NETWORKSECURITYMANAGER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace NetworkSecurityManager { namespace Endpoint { NetworkSecurityManagerEndpointProvider::NetworkSecurityManagerEndpointProvider() : NetworkSecurityManagerDefaultEpProviderBase(Aws::NetworkSecurityManager::NetworkSecurityManagerEndpointRules::GetRulesBlob(), Aws::NetworkSecurityManager::NetworkSecurityManagerEndpointRules::RulesBlobSize) {} +void NetworkSecurityManagerBuiltInParameters::SetFromClientConfiguration(const NetworkSecurityManagerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NetworkSecurityManagerBuiltInParameters::SetFromClientConfiguration(const NetworkSecurityManagerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NetworkSecurityManagerBuiltInParameters::SetServiceSpecificParameters(const NetworkSecurityManagerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace NetworkSecurityManager } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClient.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClient.h index 6f0671549819..d65219cee05d 100644 --- a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClient.h +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClient.h @@ -71,27 +71,6 @@ class AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorClient : public Aws::Client:: const Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration& clientConfiguration = Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NetworkFlowMonitorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NetworkFlowMonitorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NetworkFlowMonitorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NetworkFlowMonitorClient(); /** @@ -933,7 +912,6 @@ class AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorClient : public Aws::Client:: return SubmitAsync(&NetworkFlowMonitorClient::UpdateScope, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClientConfiguration.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClientConfiguration.h new file mode 100644 index 000000000000..9f5532a3d2c4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NetworkFlowMonitor { +struct AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NetworkFlowMonitorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkFlowMonitorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkFlowMonitorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NetworkFlowMonitorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadNetworkFlowMonitorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NETWORKFLOWMONITOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkFlowMonitorClientConfiguration& config); +} // namespace NetworkFlowMonitor +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointProvider.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointProvider.h index b2171bf12ebc..fd2792dce733 100644 --- a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NetworkFlowMonitor { namespace Endpoint { +using NetworkFlowMonitorClientConfiguration = Aws::NetworkFlowMonitor::NetworkFlowMonitorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NetworkFlowMonitorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NetworkFlowMonitorClientConfiguration = Aws::Client::GenericClientConfiguration; -using NetworkFlowMonitorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NETWORKFLOWMONITOR_API NetworkFlowMonitorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NetworkFlowMonitorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NetworkFlowMonitorClientConfiguration& config); + virtual void SetFromClientConfiguration(const NetworkFlowMonitorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NetworkFlowMonitorClientConfiguration& config); +}; /** * The type for the NetworkFlowMonitor Client Endpoint Provider. @@ -36,6 +45,24 @@ using NetworkFlowMonitorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace NetworkFlowMonitor + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NETWORKFLOWMONITOR_EXTERN template class AWS_NETWORKFLOWMONITOR_API Aws::Endpoint::EndpointProviderBase< + NetworkFlowMonitor::Endpoint::NetworkFlowMonitorClientConfiguration, NetworkFlowMonitor::Endpoint::NetworkFlowMonitorBuiltInParameters, + NetworkFlowMonitor::Endpoint::NetworkFlowMonitorClientContextParameters>; + +AWS_NETWORKFLOWMONITOR_EXTERN template class AWS_NETWORKFLOWMONITOR_API Aws::Endpoint::BDDEndpointProvider< + NetworkFlowMonitor::Endpoint::NetworkFlowMonitorClientConfiguration, NetworkFlowMonitor::Endpoint::NetworkFlowMonitorBuiltInParameters, + NetworkFlowMonitor::Endpoint::NetworkFlowMonitorClientContextParameters>; +} // namespace Endpoint + +namespace NetworkFlowMonitor { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorServiceClientModel.h b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorServiceClientModel.h index c50f20ec975d..5687cd9a1a84 100644 --- a/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorServiceClientModel.h @@ -73,7 +73,6 @@ class RetryStrategy; } // namespace Client namespace NetworkFlowMonitor { -using NetworkFlowMonitorClientConfiguration = Aws::Client::GenericClientConfiguration; using NetworkFlowMonitorEndpointProviderBase = Aws::NetworkFlowMonitor::Endpoint::NetworkFlowMonitorEndpointProviderBase; using NetworkFlowMonitorEndpointProvider = Aws::NetworkFlowMonitor::Endpoint::NetworkFlowMonitorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClient.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClient.cpp index e8a31a525548..aa630eede8f2 100644 --- a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClient.cpp +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClient.cpp @@ -106,42 +106,6 @@ NetworkFlowMonitorClient::NetworkFlowMonitorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkFlowMonitorClient::NetworkFlowMonitorClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkFlowMonitorClient::NetworkFlowMonitorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NetworkFlowMonitorClient::~NetworkFlowMonitorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NetworkFlowMonitorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -159,12 +123,7 @@ void NetworkFlowMonitorClient::init(const NetworkFlowMonitor::NetworkFlowMonitor AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "networkflowmonitor"); -} - -void NetworkFlowMonitorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NetworkFlowMonitorClient::InvokeOperationOutcome NetworkFlowMonitorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClientConfiguration.cpp new file mode 100644 index 000000000000..0c086e46c0e7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NetworkFlowMonitor { + +void NetworkFlowMonitorClientConfiguration::LoadNetworkFlowMonitorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NetworkFlowMonitorClientConfiguration::NetworkFlowMonitorClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNetworkFlowMonitorSpecificConfig(this->profileName); +} + +NetworkFlowMonitorClientConfiguration::NetworkFlowMonitorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNetworkFlowMonitorSpecificConfig(Aws::String(inputProfileName)); +} + +NetworkFlowMonitorClientConfiguration::NetworkFlowMonitorClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNetworkFlowMonitorSpecificConfig(this->profileName); +} + +NetworkFlowMonitorClientConfiguration::NetworkFlowMonitorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNetworkFlowMonitorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkFlowMonitorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NetworkFlowMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointProvider.cpp index f524e085ce03..fb7d9154e079 100644 --- a/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_NETWORKFLOWMONITOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace NetworkFlowMonitor { namespace Endpoint { NetworkFlowMonitorEndpointProvider::NetworkFlowMonitorEndpointProvider() : NetworkFlowMonitorDefaultEpProviderBase(Aws::NetworkFlowMonitor::NetworkFlowMonitorEndpointRules::GetRulesBlob(), Aws::NetworkFlowMonitor::NetworkFlowMonitorEndpointRules::RulesBlobSize) {} +void NetworkFlowMonitorBuiltInParameters::SetFromClientConfiguration(const NetworkFlowMonitorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NetworkFlowMonitorBuiltInParameters::SetFromClientConfiguration(const NetworkFlowMonitorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NetworkFlowMonitorBuiltInParameters::SetServiceSpecificParameters(const NetworkFlowMonitorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace NetworkFlowMonitor } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerClient.h b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerClient.h index d349ef3bbdd7..3315ef5b523c 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerClient.h +++ b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerClient.h @@ -58,27 +58,6 @@ class AWS_NETWORKMANAGER_API NetworkManagerClient : public Aws::Client::AWSJsonC const Aws::NetworkManager::NetworkManagerClientConfiguration& clientConfiguration = Aws::NetworkManager::NetworkManagerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NetworkManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NetworkManagerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NetworkManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NetworkManagerClient(); /** @@ -2837,7 +2816,6 @@ class AWS_NETWORKMANAGER_API NetworkManagerClient : public Aws::Client::AWSJsonC return SubmitAsync(&NetworkManagerClient::UpdateVpcAttachment, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerClientConfiguration.h b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerClientConfiguration.h new file mode 100644 index 000000000000..76ee923d782f --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NetworkManager { +struct AWS_NETWORKMANAGER_API NetworkManagerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NetworkManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkManagerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NetworkManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadNetworkManagerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NETWORKMANAGER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkManagerClientConfiguration& config); +} // namespace NetworkManager +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerEndpointProvider.h b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerEndpointProvider.h index bb0793752507..f42199587f32 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NetworkManager { namespace Endpoint { +using NetworkManagerClientConfiguration = Aws::NetworkManager::NetworkManagerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NetworkManagerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NetworkManagerClientConfiguration = Aws::Client::GenericClientConfiguration; -using NetworkManagerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NETWORKMANAGER_API NetworkManagerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NetworkManagerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NetworkManagerClientConfiguration& config); + virtual void SetFromClientConfiguration(const NetworkManagerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NetworkManagerClientConfiguration& config); +}; /** * The type for the NetworkManager Client Endpoint Provider. @@ -34,6 +43,24 @@ using NetworkManagerEndpointProviderBase = using NetworkManagerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace NetworkManager + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NETWORKMANAGER_EXTERN template class AWS_NETWORKMANAGER_API Aws::Endpoint::EndpointProviderBase< + NetworkManager::Endpoint::NetworkManagerClientConfiguration, NetworkManager::Endpoint::NetworkManagerBuiltInParameters, + NetworkManager::Endpoint::NetworkManagerClientContextParameters>; + +AWS_NETWORKMANAGER_EXTERN template class AWS_NETWORKMANAGER_API Aws::Endpoint::BDDEndpointProvider< + NetworkManager::Endpoint::NetworkManagerClientConfiguration, NetworkManager::Endpoint::NetworkManagerBuiltInParameters, + NetworkManager::Endpoint::NetworkManagerClientContextParameters>; +} // namespace Endpoint + +namespace NetworkManager { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerServiceClientModel.h index a8a8e7cf4341..fdee074f1f1a 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerServiceClientModel.h @@ -151,7 +151,6 @@ class RetryStrategy; } // namespace Client namespace NetworkManager { -using NetworkManagerClientConfiguration = Aws::Client::GenericClientConfiguration; using NetworkManagerEndpointProviderBase = Aws::NetworkManager::Endpoint::NetworkManagerEndpointProviderBase; using NetworkManagerEndpointProvider = Aws::NetworkManager::Endpoint::NetworkManagerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerClient.cpp b/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerClient.cpp index 73bf7ccaafbd..5c0e9898db6a 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerClient.cpp @@ -175,41 +175,6 @@ NetworkManagerClient::NetworkManagerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkManagerClient::NetworkManagerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkManagerClient::NetworkManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NetworkManagerClient::~NetworkManagerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NetworkManagerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -227,12 +192,7 @@ void NetworkManagerClient::init(const NetworkManager::NetworkManagerClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "networkmanager"); -} - -void NetworkManagerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NetworkManagerClient::InvokeOperationOutcome NetworkManagerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerClientConfiguration.cpp new file mode 100644 index 000000000000..41c85a5e4b42 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NetworkManager { + +void NetworkManagerClientConfiguration::LoadNetworkManagerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NetworkManagerClientConfiguration::NetworkManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNetworkManagerSpecificConfig(this->profileName); +} + +NetworkManagerClientConfiguration::NetworkManagerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNetworkManagerSpecificConfig(Aws::String(inputProfileName)); +} + +NetworkManagerClientConfiguration::NetworkManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNetworkManagerSpecificConfig(this->profileName); +} + +NetworkManagerClientConfiguration::NetworkManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNetworkManagerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkManagerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NetworkManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerEndpointProvider.cpp index 69b62a7c596d..a14cfe31146d 100644 --- a/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_NETWORKMANAGER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace NetworkManager { namespace Endpoint { NetworkManagerEndpointProvider::NetworkManagerEndpointProvider() : NetworkManagerDefaultEpProviderBase(Aws::NetworkManager::NetworkManagerEndpointRules::GetRulesBlob(), Aws::NetworkManager::NetworkManagerEndpointRules::RulesBlobSize) {} +void NetworkManagerBuiltInParameters::SetFromClientConfiguration(const NetworkManagerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NetworkManagerBuiltInParameters::SetFromClientConfiguration(const NetworkManagerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NetworkManagerBuiltInParameters::SetServiceSpecificParameters(const NetworkManagerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace NetworkManager } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClient.h b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClient.h index 9ee6256830ec..5df9cacf8a0c 100644 --- a/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClient.h +++ b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClient.h @@ -72,27 +72,6 @@ class AWS_NETWORKMONITOR_API NetworkMonitorClient : public Aws::Client::AWSJsonC const Aws::NetworkMonitor::NetworkMonitorClientConfiguration& clientConfiguration = Aws::NetworkMonitor::NetworkMonitorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NetworkMonitorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NetworkMonitorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NetworkMonitorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NetworkMonitorClient(); /** @@ -451,7 +430,6 @@ class AWS_NETWORKMONITOR_API NetworkMonitorClient : public Aws::Client::AWSJsonC return SubmitAsync(&NetworkMonitorClient::UpdateProbe, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClientConfiguration.h b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClientConfiguration.h new file mode 100644 index 000000000000..b02abe498c80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NetworkMonitor { +struct AWS_NETWORKMONITOR_API NetworkMonitorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NetworkMonitorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkMonitorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NetworkMonitorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NetworkMonitorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadNetworkMonitorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NETWORKMONITOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkMonitorClientConfiguration& config); +} // namespace NetworkMonitor +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorEndpointProvider.h b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorEndpointProvider.h index 5d5c9c07c3e7..244cdd5b9523 100644 --- a/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NetworkMonitor { namespace Endpoint { +using NetworkMonitorClientConfiguration = Aws::NetworkMonitor::NetworkMonitorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NetworkMonitorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NetworkMonitorClientConfiguration = Aws::Client::GenericClientConfiguration; -using NetworkMonitorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NETWORKMONITOR_API NetworkMonitorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NetworkMonitorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NetworkMonitorClientConfiguration& config); + virtual void SetFromClientConfiguration(const NetworkMonitorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NetworkMonitorClientConfiguration& config); +}; /** * The type for the NetworkMonitor Client Endpoint Provider. @@ -34,6 +43,24 @@ using NetworkMonitorEndpointProviderBase = using NetworkMonitorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace NetworkMonitor + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NETWORKMONITOR_EXTERN template class AWS_NETWORKMONITOR_API Aws::Endpoint::EndpointProviderBase< + NetworkMonitor::Endpoint::NetworkMonitorClientConfiguration, NetworkMonitor::Endpoint::NetworkMonitorBuiltInParameters, + NetworkMonitor::Endpoint::NetworkMonitorClientContextParameters>; + +AWS_NETWORKMONITOR_EXTERN template class AWS_NETWORKMONITOR_API Aws::Endpoint::BDDEndpointProvider< + NetworkMonitor::Endpoint::NetworkMonitorClientConfiguration, NetworkMonitor::Endpoint::NetworkMonitorBuiltInParameters, + NetworkMonitor::Endpoint::NetworkMonitorClientContextParameters>; +} // namespace Endpoint + +namespace NetworkMonitor { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorServiceClientModel.h b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorServiceClientModel.h index fd699830db01..76f10c2e2f53 100644 --- a/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorServiceClientModel.h @@ -59,7 +59,6 @@ class RetryStrategy; } // namespace Client namespace NetworkMonitor { -using NetworkMonitorClientConfiguration = Aws::Client::GenericClientConfiguration; using NetworkMonitorEndpointProviderBase = Aws::NetworkMonitor::Endpoint::NetworkMonitorEndpointProviderBase; using NetworkMonitorEndpointProvider = Aws::NetworkMonitor::Endpoint::NetworkMonitorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorClient.cpp b/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorClient.cpp index e7ee9e9a069f..e9a26fae42cd 100644 --- a/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorClient.cpp +++ b/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorClient.cpp @@ -90,41 +90,6 @@ NetworkMonitorClient::NetworkMonitorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkMonitorClient::NetworkMonitorClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NetworkMonitorClient::NetworkMonitorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NetworkMonitorClient::~NetworkMonitorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NetworkMonitorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +107,7 @@ void NetworkMonitorClient::init(const NetworkMonitor::NetworkMonitorClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "networkmonitor"); -} - -void NetworkMonitorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NetworkMonitorClient::InvokeOperationOutcome NetworkMonitorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorClientConfiguration.cpp new file mode 100644 index 000000000000..42a120ef6ce1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NetworkMonitor { + +void NetworkMonitorClientConfiguration::LoadNetworkMonitorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NetworkMonitorClientConfiguration::NetworkMonitorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNetworkMonitorSpecificConfig(this->profileName); +} + +NetworkMonitorClientConfiguration::NetworkMonitorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNetworkMonitorSpecificConfig(Aws::String(inputProfileName)); +} + +NetworkMonitorClientConfiguration::NetworkMonitorClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNetworkMonitorSpecificConfig(this->profileName); +} + +NetworkMonitorClientConfiguration::NetworkMonitorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNetworkMonitorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NetworkMonitorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NetworkMonitor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorEndpointProvider.cpp index 80f3d021e779..ce7a11ba64cc 100644 --- a/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_NETWORKMONITOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace NetworkMonitor { namespace Endpoint { NetworkMonitorEndpointProvider::NetworkMonitorEndpointProvider() : NetworkMonitorDefaultEpProviderBase(Aws::NetworkMonitor::NetworkMonitorEndpointRules::GetRulesBlob(), Aws::NetworkMonitor::NetworkMonitorEndpointRules::RulesBlobSize) {} +void NetworkMonitorBuiltInParameters::SetFromClientConfiguration(const NetworkMonitorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NetworkMonitorBuiltInParameters::SetFromClientConfiguration(const NetworkMonitorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NetworkMonitorBuiltInParameters::SetServiceSpecificParameters(const NetworkMonitorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace NetworkMonitor } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsClient.h b/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsClient.h index 9942730ff530..c412ff5d0159 100644 --- a/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsClient.h +++ b/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsClient.h @@ -73,27 +73,6 @@ class AWS_NOTIFICATIONS_API NotificationsClient : public Aws::Client::AWSJsonCli const Aws::Notifications::NotificationsClientConfiguration& clientConfiguration = Aws::Notifications::NotificationsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NotificationsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NotificationsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NotificationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NotificationsClient(); /** @@ -1297,7 +1276,6 @@ class AWS_NOTIFICATIONS_API NotificationsClient : public Aws::Client::AWSJsonCli return SubmitAsync(&NotificationsClient::UpdateNotificationConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsClientConfiguration.h b/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsClientConfiguration.h new file mode 100644 index 000000000000..528a6d6cf2e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Notifications { +struct AWS_NOTIFICATIONS_API NotificationsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NotificationsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NotificationsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NotificationsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NotificationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadNotificationsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NOTIFICATIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NotificationsClientConfiguration& config); +} // namespace Notifications +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsEndpointProvider.h b/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsEndpointProvider.h index 2bad213b924c..62e5930ec492 100644 --- a/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Notifications { namespace Endpoint { +using NotificationsClientConfiguration = Aws::Notifications::NotificationsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NotificationsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NotificationsClientConfiguration = Aws::Client::GenericClientConfiguration; -using NotificationsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NOTIFICATIONS_API NotificationsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NotificationsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NotificationsClientConfiguration& config); + virtual void SetFromClientConfiguration(const NotificationsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NotificationsClientConfiguration& config); +}; /** * The type for the Notifications Client Endpoint Provider. @@ -34,6 +43,24 @@ using NotificationsEndpointProviderBase = using NotificationsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Notifications + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NOTIFICATIONS_EXTERN template class AWS_NOTIFICATIONS_API Aws::Endpoint::EndpointProviderBase< + Notifications::Endpoint::NotificationsClientConfiguration, Notifications::Endpoint::NotificationsBuiltInParameters, + Notifications::Endpoint::NotificationsClientContextParameters>; + +AWS_NOTIFICATIONS_EXTERN template class AWS_NOTIFICATIONS_API Aws::Endpoint::BDDEndpointProvider< + Notifications::Endpoint::NotificationsClientConfiguration, Notifications::Endpoint::NotificationsBuiltInParameters, + Notifications::Endpoint::NotificationsClientContextParameters>; +} // namespace Endpoint + +namespace Notifications { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsServiceClientModel.h b/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsServiceClientModel.h index cab71f782a36..a6a934c37fe6 100644 --- a/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsServiceClientModel.h @@ -94,7 +94,6 @@ class RetryStrategy; } // namespace Client namespace Notifications { -using NotificationsClientConfiguration = Aws::Client::GenericClientConfiguration; using NotificationsEndpointProviderBase = Aws::Notifications::Endpoint::NotificationsEndpointProviderBase; using NotificationsEndpointProvider = Aws::Notifications::Endpoint::NotificationsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-notifications/source/NotificationsClient.cpp b/generated/src/aws-cpp-sdk-notifications/source/NotificationsClient.cpp index 6269ed6701bf..87a073f0fd85 100644 --- a/generated/src/aws-cpp-sdk-notifications/source/NotificationsClient.cpp +++ b/generated/src/aws-cpp-sdk-notifications/source/NotificationsClient.cpp @@ -118,41 +118,6 @@ NotificationsClient::NotificationsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NotificationsClient::NotificationsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NotificationsClient::NotificationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NotificationsClient::~NotificationsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NotificationsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -170,12 +135,7 @@ void NotificationsClient::init(const Notifications::NotificationsClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "notifications"); -} - -void NotificationsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NotificationsClient::InvokeOperationOutcome NotificationsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-notifications/source/NotificationsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-notifications/source/NotificationsClientConfiguration.cpp new file mode 100644 index 000000000000..6b8fa85befe1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-notifications/source/NotificationsClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Notifications { + +void NotificationsClientConfiguration::LoadNotificationsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NotificationsClientConfiguration::NotificationsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNotificationsSpecificConfig(this->profileName); +} + +NotificationsClientConfiguration::NotificationsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNotificationsSpecificConfig(Aws::String(inputProfileName)); +} + +NotificationsClientConfiguration::NotificationsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNotificationsSpecificConfig(this->profileName); +} + +NotificationsClientConfiguration::NotificationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNotificationsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NotificationsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Notifications +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-notifications/source/NotificationsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-notifications/source/NotificationsEndpointProvider.cpp index ee03c576b998..aae0e1764fb8 100644 --- a/generated/src/aws-cpp-sdk-notifications/source/NotificationsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-notifications/source/NotificationsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_NOTIFICATIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Notifications { namespace Endpoint { NotificationsEndpointProvider::NotificationsEndpointProvider() : NotificationsDefaultEpProviderBase(Aws::Notifications::NotificationsEndpointRules::GetRulesBlob(), Aws::Notifications::NotificationsEndpointRules::RulesBlobSize) {} +void NotificationsBuiltInParameters::SetFromClientConfiguration(const NotificationsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NotificationsBuiltInParameters::SetFromClientConfiguration(const NotificationsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NotificationsBuiltInParameters::SetServiceSpecificParameters(const NotificationsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace Notifications } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsClient.h b/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsClient.h index 061951880c87..e4e94f360158 100644 --- a/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsClient.h +++ b/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsClient.h @@ -60,27 +60,6 @@ class AWS_NOTIFICATIONSCONTACTS_API NotificationsContactsClient const Aws::NotificationsContacts::NotificationsContactsClientConfiguration& clientConfiguration = Aws::NotificationsContacts::NotificationsContactsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NotificationsContactsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NotificationsContactsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NotificationsContactsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NotificationsContactsClient(); /** @@ -330,7 +309,6 @@ class AWS_NOTIFICATIONSCONTACTS_API NotificationsContactsClient return SubmitAsync(&NotificationsContactsClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsClientConfiguration.h b/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsClientConfiguration.h new file mode 100644 index 000000000000..ab4d21b2ef25 --- /dev/null +++ b/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NotificationsContacts { +struct AWS_NOTIFICATIONSCONTACTS_API NotificationsContactsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NotificationsContactsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NotificationsContactsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NotificationsContactsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NotificationsContactsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadNotificationsContactsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NOTIFICATIONSCONTACTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const NotificationsContactsClientConfiguration& config); +} // namespace NotificationsContacts +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsEndpointProvider.h b/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsEndpointProvider.h index e0f88b14f9ba..2ea9969a8020 100644 --- a/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NotificationsContacts { namespace Endpoint { +using NotificationsContactsClientConfiguration = Aws::NotificationsContacts::NotificationsContactsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NotificationsContactsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NotificationsContactsClientConfiguration = Aws::Client::GenericClientConfiguration; -using NotificationsContactsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NOTIFICATIONSCONTACTS_API NotificationsContactsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NotificationsContactsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NotificationsContactsClientConfiguration& config); + virtual void SetFromClientConfiguration(const NotificationsContactsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NotificationsContactsClientConfiguration& config); +}; /** * The type for the NotificationsContacts Client Endpoint Provider. @@ -36,6 +45,26 @@ using NotificationsContactsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace NotificationsContacts + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NOTIFICATIONSCONTACTS_EXTERN template class AWS_NOTIFICATIONSCONTACTS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_NOTIFICATIONSCONTACTS_EXTERN template class AWS_NOTIFICATIONSCONTACTS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace NotificationsContacts { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsServiceClientModel.h b/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsServiceClientModel.h index e84f536610cf..b8849d9e5877 100644 --- a/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsServiceClientModel.h @@ -56,7 +56,6 @@ class RetryStrategy; } // namespace Client namespace NotificationsContacts { -using NotificationsContactsClientConfiguration = Aws::Client::GenericClientConfiguration; using NotificationsContactsEndpointProviderBase = Aws::NotificationsContacts::Endpoint::NotificationsContactsEndpointProviderBase; using NotificationsContactsEndpointProvider = Aws::NotificationsContacts::Endpoint::NotificationsContactsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsClient.cpp b/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsClient.cpp index 2932390ba3e7..23c91940e0de 100644 --- a/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsClient.cpp +++ b/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsClient.cpp @@ -92,42 +92,6 @@ NotificationsContactsClient::NotificationsContactsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -NotificationsContactsClient::NotificationsContactsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NotificationsContactsClient::NotificationsContactsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NotificationsContactsClient::NotificationsContactsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NotificationsContactsClient::~NotificationsContactsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NotificationsContactsClient::accessEndpointProvider() { @@ -147,12 +111,7 @@ void NotificationsContactsClient::init(const NotificationsContacts::Notification AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "notifications-contacts"); -} - -void NotificationsContactsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NotificationsContactsClient::InvokeOperationOutcome NotificationsContactsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsClientConfiguration.cpp new file mode 100644 index 000000000000..ffc907425135 --- /dev/null +++ b/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NotificationsContacts { + +void NotificationsContactsClientConfiguration::LoadNotificationsContactsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NotificationsContactsClientConfiguration::NotificationsContactsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNotificationsContactsSpecificConfig(this->profileName); +} + +NotificationsContactsClientConfiguration::NotificationsContactsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNotificationsContactsSpecificConfig(Aws::String(inputProfileName)); +} + +NotificationsContactsClientConfiguration::NotificationsContactsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNotificationsContactsSpecificConfig(this->profileName); +} + +NotificationsContactsClientConfiguration::NotificationsContactsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNotificationsContactsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NotificationsContactsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NotificationsContacts +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsEndpointProvider.cpp index 5dda2f040a31..49e4eb1e09f2 100644 --- a/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_NOTIFICATIONSCONTACTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace NotificationsContacts { namespace Endpoint { NotificationsContactsEndpointProvider::NotificationsContactsEndpointProvider() : NotificationsContactsDefaultEpProviderBase(Aws::NotificationsContacts::NotificationsContactsEndpointRules::GetRulesBlob(), Aws::NotificationsContacts::NotificationsContactsEndpointRules::RulesBlobSize) {} +void NotificationsContactsBuiltInParameters::SetFromClientConfiguration(const NotificationsContactsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NotificationsContactsBuiltInParameters::SetFromClientConfiguration(const NotificationsContactsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NotificationsContactsBuiltInParameters::SetServiceSpecificParameters(const NotificationsContactsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace NotificationsContacts } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActClient.h b/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActClient.h index d2e3e76b7e5b..0e404ccb90c1 100644 --- a/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActClient.h +++ b/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActClient.h @@ -55,27 +55,6 @@ class AWS_NOVAACT_API NovaActClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::NovaAct::NovaActClientConfiguration& clientConfiguration = Aws::NovaAct::NovaActClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - NovaActClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - NovaActClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - NovaActClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~NovaActClient(); /** @@ -506,7 +485,6 @@ class AWS_NOVAACT_API NovaActClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&NovaActClient::UpdateWorkflowRun, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActClientConfiguration.h b/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActClientConfiguration.h new file mode 100644 index 000000000000..334dbbdcab22 --- /dev/null +++ b/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace NovaAct { +struct AWS_NOVAACT_API NovaActClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + NovaActClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NovaActClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + NovaActClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit NovaActClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadNovaActSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_NOVAACT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const NovaActClientConfiguration& config); +} // namespace NovaAct +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActEndpointProvider.h b/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActEndpointProvider.h index c8bd658cbfdf..91cd4e45fd29 100644 --- a/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace NovaAct { namespace Endpoint { +using NovaActClientConfiguration = Aws::NovaAct::NovaActClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using NovaActClientContextParameters = Aws::Endpoint::ClientContextParameters; -using NovaActClientConfiguration = Aws::Client::GenericClientConfiguration; -using NovaActBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_NOVAACT_API NovaActBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~NovaActBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const NovaActClientConfiguration& config); + virtual void SetFromClientConfiguration(const NovaActClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const NovaActClientConfiguration& config); +}; /** * The type for the NovaAct Client Endpoint Provider. @@ -34,6 +43,24 @@ using NovaActEndpointProviderBase = using NovaActDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace NovaAct + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_NOVAACT_EXTERN template class AWS_NOVAACT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_NOVAACT_EXTERN template class AWS_NOVAACT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace NovaAct { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActServiceClientModel.h b/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActServiceClientModel.h index fcc6c1b9f8ed..f31e315226ed 100644 --- a/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace NovaAct { -using NovaActClientConfiguration = Aws::Client::GenericClientConfiguration; using NovaActEndpointProviderBase = Aws::NovaAct::Endpoint::NovaActEndpointProviderBase; using NovaActEndpointProvider = Aws::NovaAct::Endpoint::NovaActEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-nova-act/source/NovaActClient.cpp b/generated/src/aws-cpp-sdk-nova-act/source/NovaActClient.cpp index 89e14a987a8e..4f3a233c65d6 100644 --- a/generated/src/aws-cpp-sdk-nova-act/source/NovaActClient.cpp +++ b/generated/src/aws-cpp-sdk-nova-act/source/NovaActClient.cpp @@ -93,41 +93,6 @@ NovaActClient::NovaActClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -NovaActClient::NovaActClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NovaActClient::NovaActClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -NovaActClient::NovaActClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ NovaActClient::~NovaActClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& NovaActClient::accessEndpointProvider() { return m_endpointProvider; } @@ -145,12 +110,7 @@ void NovaActClient::init(const NovaAct::NovaActClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "nova-act"); -} - -void NovaActClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } NovaActClient::InvokeOperationOutcome NovaActClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-nova-act/source/NovaActClientConfiguration.cpp b/generated/src/aws-cpp-sdk-nova-act/source/NovaActClientConfiguration.cpp new file mode 100644 index 000000000000..f4cbe74c9966 --- /dev/null +++ b/generated/src/aws-cpp-sdk-nova-act/source/NovaActClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace NovaAct { + +void NovaActClientConfiguration::LoadNovaActSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +NovaActClientConfiguration::NovaActClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadNovaActSpecificConfig(this->profileName); +} + +NovaActClientConfiguration::NovaActClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadNovaActSpecificConfig(Aws::String(inputProfileName)); +} + +NovaActClientConfiguration::NovaActClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadNovaActSpecificConfig(this->profileName); +} + +NovaActClientConfiguration::NovaActClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadNovaActSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const NovaActClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace NovaAct +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-nova-act/source/NovaActEndpointProvider.cpp b/generated/src/aws-cpp-sdk-nova-act/source/NovaActEndpointProvider.cpp index 32a30a22150f..b055d56f1a38 100644 --- a/generated/src/aws-cpp-sdk-nova-act/source/NovaActEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-nova-act/source/NovaActEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_NOVAACT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace NovaAct { namespace Endpoint { NovaActEndpointProvider::NovaActEndpointProvider() : NovaActDefaultEpProviderBase(Aws::NovaAct::NovaActEndpointRules::GetRulesBlob(), Aws::NovaAct::NovaActEndpointRules::RulesBlobSize) {} +void NovaActBuiltInParameters::SetFromClientConfiguration(const NovaActClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void NovaActBuiltInParameters::SetFromClientConfiguration(const NovaActClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void NovaActBuiltInParameters::SetServiceSpecificParameters(const NovaActClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace NovaAct } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMClient.h b/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMClient.h index 58cd3569b2d5..17f355a3f3b2 100644 --- a/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMClient.h +++ b/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMClient.h @@ -73,27 +73,6 @@ class AWS_OAM_API OAMClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::OAM::OAMClientConfiguration& clientConfiguration = Aws::OAM::OAMClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - OAMClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - OAMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - OAMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~OAMClient(); /** @@ -561,7 +540,6 @@ class AWS_OAM_API OAMClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&OAMClient::UpdateLink, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMClientConfiguration.h b/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMClientConfiguration.h new file mode 100644 index 000000000000..50ba15fb282b --- /dev/null +++ b/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace OAM { +struct AWS_OAM_API OAMClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + OAMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OAMClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OAMClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit OAMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadOAMSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_OAM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const OAMClientConfiguration& config); +} // namespace OAM +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMEndpointProvider.h b/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMEndpointProvider.h index ae04fa4d316b..3b4c43439d1b 100644 --- a/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace OAM { namespace Endpoint { +using OAMClientConfiguration = Aws::OAM::OAMClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using OAMClientContextParameters = Aws::Endpoint::ClientContextParameters; -using OAMClientConfiguration = Aws::Client::GenericClientConfiguration; -using OAMBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_OAM_API OAMBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~OAMBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const OAMClientConfiguration& config); + virtual void SetFromClientConfiguration(const OAMClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const OAMClientConfiguration& config); +}; /** * The type for the OAM Client Endpoint Provider. @@ -32,6 +41,22 @@ using OAMEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace OAM + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_OAM_EXTERN template class AWS_OAM_API Aws::Endpoint::EndpointProviderBase< + OAM::Endpoint::OAMClientConfiguration, OAM::Endpoint::OAMBuiltInParameters, OAM::Endpoint::OAMClientContextParameters>; + +AWS_OAM_EXTERN template class AWS_OAM_API Aws::Endpoint::BDDEndpointProvider< + OAM::Endpoint::OAMClientConfiguration, OAM::Endpoint::OAMBuiltInParameters, OAM::Endpoint::OAMClientContextParameters>; +} // namespace Endpoint + +namespace OAM { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMServiceClientModel.h b/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMServiceClientModel.h index 7cb046f0fc03..8f67dc3e0949 100644 --- a/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace OAM { -using OAMClientConfiguration = Aws::Client::GenericClientConfiguration; using OAMEndpointProviderBase = Aws::OAM::Endpoint::OAMEndpointProviderBase; using OAMEndpointProvider = Aws::OAM::Endpoint::OAMEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-oam/source/OAMClient.cpp b/generated/src/aws-cpp-sdk-oam/source/OAMClient.cpp index 748ace02481e..d7adc84f81d2 100644 --- a/generated/src/aws-cpp-sdk-oam/source/OAMClient.cpp +++ b/generated/src/aws-cpp-sdk-oam/source/OAMClient.cpp @@ -90,41 +90,6 @@ OAMClient::OAMClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -OAMClient::OAMClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OAMClient::OAMClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OAMClient::OAMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ OAMClient::~OAMClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& OAMClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +107,7 @@ void OAMClient::init(const OAM::OAMClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "oam"); -} - -void OAMClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } OAMClient::InvokeOperationOutcome OAMClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-oam/source/OAMClientConfiguration.cpp b/generated/src/aws-cpp-sdk-oam/source/OAMClientConfiguration.cpp new file mode 100644 index 000000000000..8120aa1f30ea --- /dev/null +++ b/generated/src/aws-cpp-sdk-oam/source/OAMClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace OAM { + +void OAMClientConfiguration::LoadOAMSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +OAMClientConfiguration::OAMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadOAMSpecificConfig(this->profileName); +} + +OAMClientConfiguration::OAMClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadOAMSpecificConfig(Aws::String(inputProfileName)); +} + +OAMClientConfiguration::OAMClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadOAMSpecificConfig(this->profileName); +} + +OAMClientConfiguration::OAMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadOAMSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const OAMClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace OAM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-oam/source/OAMEndpointProvider.cpp b/generated/src/aws-cpp-sdk-oam/source/OAMEndpointProvider.cpp index 76871114ab46..94126cbc09cd 100644 --- a/generated/src/aws-cpp-sdk-oam/source/OAMEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-oam/source/OAMEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_OAM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace OAM { namespace Endpoint { OAMEndpointProvider::OAMEndpointProvider() : OAMDefaultEpProviderBase(Aws::OAM::OAMEndpointRules::GetRulesBlob(), Aws::OAM::OAMEndpointRules::RulesBlobSize) {} +void OAMBuiltInParameters::SetFromClientConfiguration(const OAMClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void OAMBuiltInParameters::SetFromClientConfiguration(const OAMClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void OAMBuiltInParameters::SetServiceSpecificParameters(const OAMClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace OAM } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminClient.h b/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminClient.h index 061612bb20f7..70f00a110c0a 100644 --- a/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminClient.h +++ b/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminClient.h @@ -69,27 +69,6 @@ class AWS_OBSERVABILITYADMIN_API ObservabilityAdminClient : public Aws::Client:: const Aws::ObservabilityAdmin::ObservabilityAdminClientConfiguration& clientConfiguration = Aws::ObservabilityAdmin::ObservabilityAdminClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ObservabilityAdminClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ObservabilityAdminClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ObservabilityAdminClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ObservabilityAdminClient(); /** @@ -1456,7 +1435,6 @@ class AWS_OBSERVABILITYADMIN_API ObservabilityAdminClient : public Aws::Client:: return SubmitAsync(&ObservabilityAdminClient::ValidateTelemetryPipelineConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminClientConfiguration.h b/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminClientConfiguration.h new file mode 100644 index 000000000000..e39de9b683d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ObservabilityAdmin { +struct AWS_OBSERVABILITYADMIN_API ObservabilityAdminClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ObservabilityAdminClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ObservabilityAdminClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ObservabilityAdminClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ObservabilityAdminClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadObservabilityAdminSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_OBSERVABILITYADMIN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ObservabilityAdminClientConfiguration& config); +} // namespace ObservabilityAdmin +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminEndpointProvider.h b/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminEndpointProvider.h index fb06eaa1330d..ec7b3fc7a12d 100644 --- a/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ObservabilityAdmin { namespace Endpoint { +using ObservabilityAdminClientConfiguration = Aws::ObservabilityAdmin::ObservabilityAdminClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ObservabilityAdminClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ObservabilityAdminClientConfiguration = Aws::Client::GenericClientConfiguration; -using ObservabilityAdminBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_OBSERVABILITYADMIN_API ObservabilityAdminBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ObservabilityAdminBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ObservabilityAdminClientConfiguration& config); + virtual void SetFromClientConfiguration(const ObservabilityAdminClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ObservabilityAdminClientConfiguration& config); +}; /** * The type for the ObservabilityAdmin Client Endpoint Provider. @@ -36,6 +45,24 @@ using ObservabilityAdminDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ObservabilityAdmin + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_OBSERVABILITYADMIN_EXTERN template class AWS_OBSERVABILITYADMIN_API Aws::Endpoint::EndpointProviderBase< + ObservabilityAdmin::Endpoint::ObservabilityAdminClientConfiguration, ObservabilityAdmin::Endpoint::ObservabilityAdminBuiltInParameters, + ObservabilityAdmin::Endpoint::ObservabilityAdminClientContextParameters>; + +AWS_OBSERVABILITYADMIN_EXTERN template class AWS_OBSERVABILITYADMIN_API Aws::Endpoint::BDDEndpointProvider< + ObservabilityAdmin::Endpoint::ObservabilityAdminClientConfiguration, ObservabilityAdmin::Endpoint::ObservabilityAdminBuiltInParameters, + ObservabilityAdmin::Endpoint::ObservabilityAdminClientContextParameters>; +} // namespace Endpoint + +namespace ObservabilityAdmin { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminServiceClientModel.h b/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminServiceClientModel.h index ed697d22df9d..1288c0d08e2a 100644 --- a/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminServiceClientModel.h @@ -98,7 +98,6 @@ class RetryStrategy; } // namespace Client namespace ObservabilityAdmin { -using ObservabilityAdminClientConfiguration = Aws::Client::GenericClientConfiguration; using ObservabilityAdminEndpointProviderBase = Aws::ObservabilityAdmin::Endpoint::ObservabilityAdminEndpointProviderBase; using ObservabilityAdminEndpointProvider = Aws::ObservabilityAdmin::Endpoint::ObservabilityAdminEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminClient.cpp b/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminClient.cpp index ffd652009813..2ad3455670c8 100644 --- a/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminClient.cpp +++ b/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminClient.cpp @@ -126,42 +126,6 @@ ObservabilityAdminClient::ObservabilityAdminClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ObservabilityAdminClient::ObservabilityAdminClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ObservabilityAdminClient::ObservabilityAdminClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ObservabilityAdminClient::~ObservabilityAdminClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ObservabilityAdminClient::accessEndpointProvider() { return m_endpointProvider; } @@ -179,12 +143,7 @@ void ObservabilityAdminClient::init(const ObservabilityAdmin::ObservabilityAdmin AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "observabilityadmin"); -} - -void ObservabilityAdminClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ObservabilityAdminClient::InvokeOperationOutcome ObservabilityAdminClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminClientConfiguration.cpp b/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminClientConfiguration.cpp new file mode 100644 index 000000000000..9ac1b035d26a --- /dev/null +++ b/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ObservabilityAdmin { + +void ObservabilityAdminClientConfiguration::LoadObservabilityAdminSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ObservabilityAdminClientConfiguration::ObservabilityAdminClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadObservabilityAdminSpecificConfig(this->profileName); +} + +ObservabilityAdminClientConfiguration::ObservabilityAdminClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadObservabilityAdminSpecificConfig(Aws::String(inputProfileName)); +} + +ObservabilityAdminClientConfiguration::ObservabilityAdminClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadObservabilityAdminSpecificConfig(this->profileName); +} + +ObservabilityAdminClientConfiguration::ObservabilityAdminClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadObservabilityAdminSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ObservabilityAdminClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ObservabilityAdmin +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminEndpointProvider.cpp b/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminEndpointProvider.cpp index 733d46ee79d3..c317e3b4abad 100644 --- a/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_OBSERVABILITYADMIN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ObservabilityAdmin { namespace Endpoint { ObservabilityAdminEndpointProvider::ObservabilityAdminEndpointProvider() : ObservabilityAdminDefaultEpProviderBase(Aws::ObservabilityAdmin::ObservabilityAdminEndpointRules::GetRulesBlob(), Aws::ObservabilityAdmin::ObservabilityAdminEndpointRules::RulesBlobSize) {} +void ObservabilityAdminBuiltInParameters::SetFromClientConfiguration(const ObservabilityAdminClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ObservabilityAdminBuiltInParameters::SetFromClientConfiguration(const ObservabilityAdminClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ObservabilityAdminBuiltInParameters::SetServiceSpecificParameters(const ObservabilityAdminClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ObservabilityAdmin } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbClient.h b/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbClient.h index 3e06fd5db10f..49dbc5db6a4b 100644 --- a/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbClient.h +++ b/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbClient.h @@ -76,27 +76,6 @@ class AWS_ODB_API OdbClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::odb::OdbClientConfiguration& clientConfiguration = Aws::odb::OdbClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - OdbClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - OdbClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - OdbClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~OdbClient(); /** @@ -2409,7 +2388,6 @@ class AWS_ODB_API OdbClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&OdbClient::UpdateOdbPeeringConnection, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbClientConfiguration.h b/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbClientConfiguration.h new file mode 100644 index 000000000000..ab4a0f02d86b --- /dev/null +++ b/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace odb { +struct AWS_ODB_API OdbClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + OdbClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OdbClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OdbClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit OdbClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadodbSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ODB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const OdbClientConfiguration& config); +} // namespace odb +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbEndpointProvider.h b/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbEndpointProvider.h index 2a85f3d1d936..d187dbdd6a66 100644 --- a/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace odb { namespace Endpoint { +using OdbClientConfiguration = Aws::odb::OdbClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using OdbClientContextParameters = Aws::Endpoint::ClientContextParameters; -using OdbClientConfiguration = Aws::Client::GenericClientConfiguration; -using OdbBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ODB_API OdbBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~OdbBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const OdbClientConfiguration& config); + virtual void SetFromClientConfiguration(const OdbClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const OdbClientConfiguration& config); +}; /** * The type for the odb Client Endpoint Provider. @@ -32,6 +41,22 @@ using OdbEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace odb + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ODB_EXTERN template class AWS_ODB_API Aws::Endpoint::EndpointProviderBase< + odb::Endpoint::OdbClientConfiguration, odb::Endpoint::OdbBuiltInParameters, odb::Endpoint::OdbClientContextParameters>; + +AWS_ODB_EXTERN template class AWS_ODB_API Aws::Endpoint::BDDEndpointProvider< + odb::Endpoint::OdbClientConfiguration, odb::Endpoint::OdbBuiltInParameters, odb::Endpoint::OdbClientContextParameters>; +} // namespace Endpoint + +namespace odb { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbServiceClientModel.h b/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbServiceClientModel.h index 83da4a57025a..5e2293ce2007 100644 --- a/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbServiceClientModel.h @@ -144,7 +144,6 @@ class RetryStrategy; } // namespace Client namespace odb { -using OdbClientConfiguration = Aws::Client::GenericClientConfiguration; using OdbEndpointProviderBase = Aws::odb::Endpoint::OdbEndpointProviderBase; using OdbEndpointProvider = Aws::odb::Endpoint::OdbEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-odb/source/OdbClient.cpp b/generated/src/aws-cpp-sdk-odb/source/OdbClient.cpp index 3d1cae76d111..41c8e9440a87 100644 --- a/generated/src/aws-cpp-sdk-odb/source/OdbClient.cpp +++ b/generated/src/aws-cpp-sdk-odb/source/OdbClient.cpp @@ -156,41 +156,6 @@ OdbClient::OdbClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -OdbClient::OdbClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OdbClient::OdbClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OdbClient::OdbClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ OdbClient::~OdbClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& OdbClient::accessEndpointProvider() { return m_endpointProvider; } @@ -208,12 +173,7 @@ void OdbClient::init(const odb::OdbClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "odb"); -} - -void OdbClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } OdbClient::InvokeOperationOutcome OdbClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-odb/source/OdbClientConfiguration.cpp b/generated/src/aws-cpp-sdk-odb/source/OdbClientConfiguration.cpp new file mode 100644 index 000000000000..5fb886ca74b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-odb/source/OdbClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace odb { + +void OdbClientConfiguration::LoadodbSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +OdbClientConfiguration::OdbClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadodbSpecificConfig(this->profileName); +} + +OdbClientConfiguration::OdbClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadodbSpecificConfig(Aws::String(inputProfileName)); +} + +OdbClientConfiguration::OdbClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadodbSpecificConfig(this->profileName); +} + +OdbClientConfiguration::OdbClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadodbSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const OdbClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace odb +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-odb/source/OdbEndpointProvider.cpp b/generated/src/aws-cpp-sdk-odb/source/OdbEndpointProvider.cpp index 85f9c2874f94..d8f793da9f1b 100644 --- a/generated/src/aws-cpp-sdk-odb/source/OdbEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-odb/source/OdbEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_ODB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace odb { namespace Endpoint { OdbEndpointProvider::OdbEndpointProvider() : OdbDefaultEpProviderBase(Aws::odb::OdbEndpointRules::GetRulesBlob(), Aws::odb::OdbEndpointRules::RulesBlobSize) {} +void OdbBuiltInParameters::SetFromClientConfiguration(const OdbClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void OdbBuiltInParameters::SetFromClientConfiguration(const OdbClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void OdbBuiltInParameters::SetServiceSpecificParameters(const OdbClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace odb } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsClient.h b/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsClient.h index 5fc0341a4d24..40929f13a296 100644 --- a/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsClient.h +++ b/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsClient.h @@ -59,27 +59,6 @@ class AWS_OMICS_API OmicsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Omics::OmicsClientConfiguration& clientConfiguration = Aws::Omics::OmicsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - OmicsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - OmicsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - OmicsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~OmicsClient(); /** @@ -3387,7 +3366,6 @@ class AWS_OMICS_API OmicsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&OmicsClient::UploadReadSetPart, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsClientConfiguration.h b/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsClientConfiguration.h new file mode 100644 index 000000000000..1c165215855f --- /dev/null +++ b/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsClientConfiguration.h @@ -0,0 +1,100 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Omics { +struct AWS_OMICS_API OmicsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + OmicsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OmicsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OmicsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit OmicsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadOmicsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_OMICS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const OmicsClientConfiguration& config); +} // namespace Omics +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsEndpointProvider.h b/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsEndpointProvider.h index 84c39ccd4508..f09445cad487 100644 --- a/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Omics { namespace Endpoint { +using OmicsClientConfiguration = Aws::Omics::OmicsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using OmicsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using OmicsClientConfiguration = Aws::Client::GenericClientConfiguration; -using OmicsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_OMICS_API OmicsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~OmicsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const OmicsClientConfiguration& config); + virtual void SetFromClientConfiguration(const OmicsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const OmicsClientConfiguration& config); +}; /** * The type for the Omics Client Endpoint Provider. @@ -32,6 +41,22 @@ using OmicsEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Omics + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_OMICS_EXTERN template class AWS_OMICS_API Aws::Endpoint::EndpointProviderBase< + Omics::Endpoint::OmicsClientConfiguration, Omics::Endpoint::OmicsBuiltInParameters, Omics::Endpoint::OmicsClientContextParameters>; + +AWS_OMICS_EXTERN template class AWS_OMICS_API Aws::Endpoint::BDDEndpointProvider< + Omics::Endpoint::OmicsClientConfiguration, Omics::Endpoint::OmicsBuiltInParameters, Omics::Endpoint::OmicsClientContextParameters>; +} // namespace Endpoint + +namespace Omics { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsServiceClientModel.h b/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsServiceClientModel.h index 5c2585f7bdf1..fec7dbdd663d 100644 --- a/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsServiceClientModel.h @@ -154,7 +154,6 @@ class RetryStrategy; } // namespace Client namespace Omics { -using OmicsClientConfiguration = Aws::Client::GenericClientConfiguration; using OmicsEndpointProviderBase = Aws::Omics::Endpoint::OmicsEndpointProviderBase; using OmicsEndpointProvider = Aws::Omics::Endpoint::OmicsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-omics/source/OmicsClient.cpp b/generated/src/aws-cpp-sdk-omics/source/OmicsClient.cpp index 5924f04a26fd..944290029ffb 100644 --- a/generated/src/aws-cpp-sdk-omics/source/OmicsClient.cpp +++ b/generated/src/aws-cpp-sdk-omics/source/OmicsClient.cpp @@ -186,43 +186,6 @@ OmicsClient::OmicsClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -OmicsClient::OmicsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OmicsClient::OmicsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OmicsClient::OmicsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ OmicsClient::~OmicsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& OmicsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -240,12 +203,7 @@ void OmicsClient::init(const Omics::OmicsClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "omics"); -} - -void OmicsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } OmicsClient::InvokeOperationOutcome OmicsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-omics/source/OmicsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-omics/source/OmicsClientConfiguration.cpp new file mode 100644 index 000000000000..93b366088908 --- /dev/null +++ b/generated/src/aws-cpp-sdk-omics/source/OmicsClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Omics { + +void OmicsClientConfiguration::LoadOmicsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +OmicsClientConfiguration::OmicsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadOmicsSpecificConfig(this->profileName); +} + +OmicsClientConfiguration::OmicsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadOmicsSpecificConfig(Aws::String(inputProfileName)); +} + +OmicsClientConfiguration::OmicsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadOmicsSpecificConfig(this->profileName); +} + +OmicsClientConfiguration::OmicsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadOmicsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const OmicsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace Omics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-omics/source/OmicsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-omics/source/OmicsEndpointProvider.cpp index b70f5cd1fb1a..4f5f1a4b7b1e 100644 --- a/generated/src/aws-cpp-sdk-omics/source/OmicsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-omics/source/OmicsEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_OMICS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Omics { namespace Endpoint { OmicsEndpointProvider::OmicsEndpointProvider() : OmicsDefaultEpProviderBase(Aws::Omics::OmicsEndpointRules::GetRulesBlob(), Aws::Omics::OmicsEndpointRules::RulesBlobSize) {} +void OmicsBuiltInParameters::SetFromClientConfiguration(const OmicsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void OmicsBuiltInParameters::SetFromClientConfiguration(const OmicsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void OmicsBuiltInParameters::SetServiceSpecificParameters(const OmicsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Omics } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h index 8acfe06127c8..4656a500ecdb 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClient.h @@ -62,27 +62,6 @@ class AWS_OPENSEARCHSERVICE_API OpenSearchServiceClient : public Aws::Client::AW const Aws::OpenSearchService::OpenSearchServiceClientConfiguration& clientConfiguration = Aws::OpenSearchService::OpenSearchServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - OpenSearchServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - OpenSearchServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - OpenSearchServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~OpenSearchServiceClient(); /** @@ -3052,7 +3031,6 @@ class AWS_OPENSEARCHSERVICE_API OpenSearchServiceClient : public Aws::Client::AW return SubmitAsync(&OpenSearchServiceClient::UpgradeDomain, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClientConfiguration.h new file mode 100644 index 000000000000..708ca7a568d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace OpenSearchService { +struct AWS_OPENSEARCHSERVICE_API OpenSearchServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + OpenSearchServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OpenSearchServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OpenSearchServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit OpenSearchServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadOpenSearchServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_OPENSEARCHSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const OpenSearchServiceClientConfiguration& config); +} // namespace OpenSearchService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceEndpointProvider.h index 22ef5679d8fa..1b1efaa03a20 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace OpenSearchService { namespace Endpoint { +using OpenSearchServiceClientConfiguration = Aws::OpenSearchService::OpenSearchServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using OpenSearchServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using OpenSearchServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using OpenSearchServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_OPENSEARCHSERVICE_API OpenSearchServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~OpenSearchServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const OpenSearchServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const OpenSearchServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const OpenSearchServiceClientConfiguration& config); +}; /** * The type for the OpenSearchService Client Endpoint Provider. @@ -34,6 +43,24 @@ using OpenSearchServiceEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace OpenSearchService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_OPENSEARCHSERVICE_EXTERN template class AWS_OPENSEARCHSERVICE_API Aws::Endpoint::EndpointProviderBase< + OpenSearchService::Endpoint::OpenSearchServiceClientConfiguration, OpenSearchService::Endpoint::OpenSearchServiceBuiltInParameters, + OpenSearchService::Endpoint::OpenSearchServiceClientContextParameters>; + +AWS_OPENSEARCHSERVICE_EXTERN template class AWS_OPENSEARCHSERVICE_API Aws::Endpoint::BDDEndpointProvider< + OpenSearchService::Endpoint::OpenSearchServiceClientConfiguration, OpenSearchService::Endpoint::OpenSearchServiceBuiltInParameters, + OpenSearchService::Endpoint::OpenSearchServiceClientContextParameters>; +} // namespace Endpoint + +namespace OpenSearchService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceServiceClientModel.h index 324b111fb678..96351a74cd44 100644 --- a/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceServiceClientModel.h @@ -158,7 +158,6 @@ class RetryStrategy; } // namespace Client namespace OpenSearchService { -using OpenSearchServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using OpenSearchServiceEndpointProviderBase = Aws::OpenSearchService::Endpoint::OpenSearchServiceEndpointProviderBase; using OpenSearchServiceEndpointProvider = Aws::OpenSearchService::Endpoint::OpenSearchServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp index 180f4d766a4d..31ec3d670396 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClient.cpp @@ -183,42 +183,6 @@ OpenSearchServiceClient::OpenSearchServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OpenSearchServiceClient::OpenSearchServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OpenSearchServiceClient::OpenSearchServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ OpenSearchServiceClient::~OpenSearchServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& OpenSearchServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -236,12 +200,7 @@ void OpenSearchServiceClient::init(const OpenSearchService::OpenSearchServiceCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "es"); -} - -void OpenSearchServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } OpenSearchServiceClient::InvokeOperationOutcome OpenSearchServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClientConfiguration.cpp new file mode 100644 index 000000000000..10f52af97fc8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace OpenSearchService { + +void OpenSearchServiceClientConfiguration::LoadOpenSearchServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +OpenSearchServiceClientConfiguration::OpenSearchServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadOpenSearchServiceSpecificConfig(this->profileName); +} + +OpenSearchServiceClientConfiguration::OpenSearchServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadOpenSearchServiceSpecificConfig(Aws::String(inputProfileName)); +} + +OpenSearchServiceClientConfiguration::OpenSearchServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadOpenSearchServiceSpecificConfig(this->profileName); +} + +OpenSearchServiceClientConfiguration::OpenSearchServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadOpenSearchServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const OpenSearchServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace OpenSearchService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceEndpointProvider.cpp index 4cc9a41e3eec..61c27a0ae376 100644 --- a/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_OPENSEARCHSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace OpenSearchService { namespace Endpoint { OpenSearchServiceEndpointProvider::OpenSearchServiceEndpointProvider() : OpenSearchServiceDefaultEpProviderBase(Aws::OpenSearchService::OpenSearchServiceEndpointRules::GetRulesBlob(), Aws::OpenSearchService::OpenSearchServiceEndpointRules::RulesBlobSize) {} +void OpenSearchServiceBuiltInParameters::SetFromClientConfiguration(const OpenSearchServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void OpenSearchServiceBuiltInParameters::SetFromClientConfiguration(const OpenSearchServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void OpenSearchServiceBuiltInParameters::SetServiceSpecificParameters(const OpenSearchServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace OpenSearchService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessClient.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessClient.h index 2ff7fd473d09..8bd0be237554 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessClient.h +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessClient.h @@ -66,27 +66,6 @@ class AWS_OPENSEARCHSERVERLESS_API OpenSearchServerlessClient const Aws::OpenSearchServerless::OpenSearchServerlessClientConfiguration& clientConfiguration = Aws::OpenSearchServerless::OpenSearchServerlessClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - OpenSearchServerlessClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - OpenSearchServerlessClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - OpenSearchServerlessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~OpenSearchServerlessClient(); /** @@ -1672,7 +1651,6 @@ class AWS_OPENSEARCHSERVERLESS_API OpenSearchServerlessClient return SubmitAsync(&OpenSearchServerlessClient::UpdateVpcEndpoint, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessClientConfiguration.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessClientConfiguration.h new file mode 100644 index 000000000000..888a87959374 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace OpenSearchServerless { +struct AWS_OPENSEARCHSERVERLESS_API OpenSearchServerlessClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + OpenSearchServerlessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OpenSearchServerlessClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OpenSearchServerlessClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit OpenSearchServerlessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadOpenSearchServerlessSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_OPENSEARCHSERVERLESS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const OpenSearchServerlessClientConfiguration& config); +} // namespace OpenSearchServerless +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessEndpointProvider.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessEndpointProvider.h index c86f7ddb0291..436b529047c6 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace OpenSearchServerless { namespace Endpoint { +using OpenSearchServerlessClientConfiguration = Aws::OpenSearchServerless::OpenSearchServerlessClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using OpenSearchServerlessClientContextParameters = Aws::Endpoint::ClientContextParameters; -using OpenSearchServerlessClientConfiguration = Aws::Client::GenericClientConfiguration; -using OpenSearchServerlessBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_OPENSEARCHSERVERLESS_API OpenSearchServerlessBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~OpenSearchServerlessBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const OpenSearchServerlessClientConfiguration& config); + virtual void SetFromClientConfiguration(const OpenSearchServerlessClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const OpenSearchServerlessClientConfiguration& config); +}; /** * The type for the OpenSearchServerless Client Endpoint Provider. @@ -36,6 +45,26 @@ using OpenSearchServerlessDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace OpenSearchServerless + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_OPENSEARCHSERVERLESS_EXTERN template class AWS_OPENSEARCHSERVERLESS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_OPENSEARCHSERVERLESS_EXTERN template class AWS_OPENSEARCHSERVERLESS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace OpenSearchServerless { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessServiceClientModel.h b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessServiceClientModel.h index 0d53eff6fd02..f791a75eda15 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessServiceClientModel.h @@ -108,7 +108,6 @@ class RetryStrategy; } // namespace Client namespace OpenSearchServerless { -using OpenSearchServerlessClientConfiguration = Aws::Client::GenericClientConfiguration; using OpenSearchServerlessEndpointProviderBase = Aws::OpenSearchServerless::Endpoint::OpenSearchServerlessEndpointProviderBase; using OpenSearchServerlessEndpointProvider = Aws::OpenSearchServerless::Endpoint::OpenSearchServerlessEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessClient.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessClient.cpp index b6a29e374ec4..a585c9476aee 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessClient.cpp +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessClient.cpp @@ -137,42 +137,6 @@ OpenSearchServerlessClient::OpenSearchServerlessClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -OpenSearchServerlessClient::OpenSearchServerlessClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OpenSearchServerlessClient::OpenSearchServerlessClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OpenSearchServerlessClient::OpenSearchServerlessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ OpenSearchServerlessClient::~OpenSearchServerlessClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& OpenSearchServerlessClient::accessEndpointProvider() { @@ -192,12 +156,7 @@ void OpenSearchServerlessClient::init(const OpenSearchServerless::OpenSearchServ AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "aoss"); -} - -void OpenSearchServerlessClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } OpenSearchServerlessClient::InvokeOperationOutcome OpenSearchServerlessClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessClientConfiguration.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessClientConfiguration.cpp new file mode 100644 index 000000000000..945aed2427e2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace OpenSearchServerless { + +void OpenSearchServerlessClientConfiguration::LoadOpenSearchServerlessSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +OpenSearchServerlessClientConfiguration::OpenSearchServerlessClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadOpenSearchServerlessSpecificConfig(this->profileName); +} + +OpenSearchServerlessClientConfiguration::OpenSearchServerlessClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadOpenSearchServerlessSpecificConfig(Aws::String(inputProfileName)); +} + +OpenSearchServerlessClientConfiguration::OpenSearchServerlessClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadOpenSearchServerlessSpecificConfig(this->profileName); +} + +OpenSearchServerlessClientConfiguration::OpenSearchServerlessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadOpenSearchServerlessSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const OpenSearchServerlessClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace OpenSearchServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessEndpointProvider.cpp b/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessEndpointProvider.cpp index f733ad2bf6ef..a133d0b6bb2f 100644 --- a/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_OPENSEARCHSERVERLESS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace OpenSearchServerless { namespace Endpoint { OpenSearchServerlessEndpointProvider::OpenSearchServerlessEndpointProvider() : OpenSearchServerlessDefaultEpProviderBase(Aws::OpenSearchServerless::OpenSearchServerlessEndpointRules::GetRulesBlob(), Aws::OpenSearchServerless::OpenSearchServerlessEndpointRules::RulesBlobSize) {} +void OpenSearchServerlessBuiltInParameters::SetFromClientConfiguration(const OpenSearchServerlessClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void OpenSearchServerlessBuiltInParameters::SetFromClientConfiguration(const OpenSearchServerlessClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void OpenSearchServerlessBuiltInParameters::SetServiceSpecificParameters(const OpenSearchServerlessClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace OpenSearchServerless } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h index 15d4ada06479..fb17367c83ae 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClient.h @@ -145,27 +145,6 @@ class AWS_ORGANIZATIONS_API OrganizationsClient : public Aws::Client::AWSJsonCli const Aws::Organizations::OrganizationsClientConfiguration& clientConfiguration = Aws::Organizations::OrganizationsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - OrganizationsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - OrganizationsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - OrganizationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~OrganizationsClient(); /** @@ -2670,7 +2649,6 @@ class AWS_ORGANIZATIONS_API OrganizationsClient : public Aws::Client::AWSJsonCli return SubmitAsync(&OrganizationsClient::UpdateResponsibilityTransfer, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClientConfiguration.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClientConfiguration.h new file mode 100644 index 000000000000..35559c1ae050 --- /dev/null +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Organizations { +struct AWS_ORGANIZATIONS_API OrganizationsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + OrganizationsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OrganizationsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OrganizationsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit OrganizationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadOrganizationsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ORGANIZATIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const OrganizationsClientConfiguration& config); +} // namespace Organizations +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsEndpointProvider.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsEndpointProvider.h index a968b3a78fc9..5032889f14eb 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Organizations { namespace Endpoint { +using OrganizationsClientConfiguration = Aws::Organizations::OrganizationsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using OrganizationsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using OrganizationsClientConfiguration = Aws::Client::GenericClientConfiguration; -using OrganizationsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ORGANIZATIONS_API OrganizationsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~OrganizationsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const OrganizationsClientConfiguration& config); + virtual void SetFromClientConfiguration(const OrganizationsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const OrganizationsClientConfiguration& config); +}; /** * The type for the Organizations Client Endpoint Provider. @@ -34,6 +43,24 @@ using OrganizationsEndpointProviderBase = using OrganizationsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Organizations + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ORGANIZATIONS_EXTERN template class AWS_ORGANIZATIONS_API Aws::Endpoint::EndpointProviderBase< + Organizations::Endpoint::OrganizationsClientConfiguration, Organizations::Endpoint::OrganizationsBuiltInParameters, + Organizations::Endpoint::OrganizationsClientContextParameters>; + +AWS_ORGANIZATIONS_EXTERN template class AWS_ORGANIZATIONS_API Aws::Endpoint::BDDEndpointProvider< + Organizations::Endpoint::OrganizationsClientConfiguration, Organizations::Endpoint::OrganizationsBuiltInParameters, + Organizations::Endpoint::OrganizationsClientContextParameters>; +} // namespace Endpoint + +namespace Organizations { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsServiceClientModel.h b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsServiceClientModel.h index ab201d43a093..6ec300e05d75 100644 --- a/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsServiceClientModel.h @@ -108,7 +108,6 @@ class RetryStrategy; } // namespace Client namespace Organizations { -using OrganizationsClientConfiguration = Aws::Client::GenericClientConfiguration; using OrganizationsEndpointProviderBase = Aws::Organizations::Endpoint::OrganizationsEndpointProviderBase; using OrganizationsEndpointProvider = Aws::Organizations::Endpoint::OrganizationsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-organizations/source/OrganizationsClient.cpp b/generated/src/aws-cpp-sdk-organizations/source/OrganizationsClient.cpp index 33ae8aabd88b..aa1831e6506b 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/OrganizationsClient.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/OrganizationsClient.cpp @@ -141,41 +141,6 @@ OrganizationsClient::OrganizationsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OrganizationsClient::OrganizationsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OrganizationsClient::OrganizationsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ OrganizationsClient::~OrganizationsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& OrganizationsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -193,12 +158,7 @@ void OrganizationsClient::init(const Organizations::OrganizationsClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "organizations"); -} - -void OrganizationsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } OrganizationsClient::InvokeOperationOutcome OrganizationsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-organizations/source/OrganizationsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-organizations/source/OrganizationsClientConfiguration.cpp new file mode 100644 index 000000000000..523e05e066ae --- /dev/null +++ b/generated/src/aws-cpp-sdk-organizations/source/OrganizationsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Organizations { + +void OrganizationsClientConfiguration::LoadOrganizationsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +OrganizationsClientConfiguration::OrganizationsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadOrganizationsSpecificConfig(this->profileName); +} + +OrganizationsClientConfiguration::OrganizationsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadOrganizationsSpecificConfig(Aws::String(inputProfileName)); +} + +OrganizationsClientConfiguration::OrganizationsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadOrganizationsSpecificConfig(this->profileName); +} + +OrganizationsClientConfiguration::OrganizationsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadOrganizationsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const OrganizationsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Organizations +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-organizations/source/OrganizationsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-organizations/source/OrganizationsEndpointProvider.cpp index 5e803ed7bd5c..cfe23ddec93f 100644 --- a/generated/src/aws-cpp-sdk-organizations/source/OrganizationsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-organizations/source/OrganizationsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ORGANIZATIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Organizations { namespace Endpoint { OrganizationsEndpointProvider::OrganizationsEndpointProvider() : OrganizationsDefaultEpProviderBase(Aws::Organizations::OrganizationsEndpointRules::GetRulesBlob(), Aws::Organizations::OrganizationsEndpointRules::RulesBlobSize) {} +void OrganizationsBuiltInParameters::SetFromClientConfiguration(const OrganizationsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void OrganizationsBuiltInParameters::SetFromClientConfiguration(const OrganizationsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void OrganizationsBuiltInParameters::SetServiceSpecificParameters(const OrganizationsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Organizations } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISClient.h b/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISClient.h index b81b8062b17c..a0a800580dcf 100644 --- a/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISClient.h +++ b/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISClient.h @@ -57,27 +57,6 @@ class AWS_OSIS_API OSISClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::OSIS::OSISClientConfiguration& clientConfiguration = Aws::OSIS::OSISClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - OSISClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - OSISClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - OSISClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~OSISClient(); /** @@ -702,7 +681,6 @@ class AWS_OSIS_API OSISClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&OSISClient::ValidatePipeline, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISClientConfiguration.h b/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISClientConfiguration.h new file mode 100644 index 000000000000..f849c8f8d04e --- /dev/null +++ b/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace OSIS { +struct AWS_OSIS_API OSISClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + OSISClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OSISClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OSISClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit OSISClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadOSISSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_OSIS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const OSISClientConfiguration& config); +} // namespace OSIS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISEndpointProvider.h b/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISEndpointProvider.h index c035735a92e1..e26273598260 100644 --- a/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace OSIS { namespace Endpoint { +using OSISClientConfiguration = Aws::OSIS::OSISClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using OSISClientContextParameters = Aws::Endpoint::ClientContextParameters; -using OSISClientConfiguration = Aws::Client::GenericClientConfiguration; -using OSISBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_OSIS_API OSISBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~OSISBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const OSISClientConfiguration& config); + virtual void SetFromClientConfiguration(const OSISClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const OSISClientConfiguration& config); +}; /** * The type for the OSIS Client Endpoint Provider. @@ -32,6 +41,22 @@ using OSISEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace OSIS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_OSIS_EXTERN template class AWS_OSIS_API Aws::Endpoint::EndpointProviderBase< + OSIS::Endpoint::OSISClientConfiguration, OSIS::Endpoint::OSISBuiltInParameters, OSIS::Endpoint::OSISClientContextParameters>; + +AWS_OSIS_EXTERN template class AWS_OSIS_API Aws::Endpoint::BDDEndpointProvider< + OSIS::Endpoint::OSISClientConfiguration, OSIS::Endpoint::OSISBuiltInParameters, OSIS::Endpoint::OSISClientContextParameters>; +} // namespace Endpoint + +namespace OSIS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISServiceClientModel.h b/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISServiceClientModel.h index 1834775209cf..fac04298dde5 100644 --- a/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISServiceClientModel.h @@ -72,7 +72,6 @@ class RetryStrategy; } // namespace Client namespace OSIS { -using OSISClientConfiguration = Aws::Client::GenericClientConfiguration; using OSISEndpointProviderBase = Aws::OSIS::Endpoint::OSISEndpointProviderBase; using OSISEndpointProvider = Aws::OSIS::Endpoint::OSISEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-osis/source/OSISClient.cpp b/generated/src/aws-cpp-sdk-osis/source/OSISClient.cpp index a65300057cb5..78375524fec7 100644 --- a/generated/src/aws-cpp-sdk-osis/source/OSISClient.cpp +++ b/generated/src/aws-cpp-sdk-osis/source/OSISClient.cpp @@ -97,41 +97,6 @@ OSISClient::OSISClient(const std::shared_ptr& credential init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -OSISClient::OSISClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OSISClient::OSISClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OSISClient::OSISClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ OSISClient::~OSISClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& OSISClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void OSISClient::init(const OSIS::OSISClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "osis"); -} - -void OSISClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } OSISClient::InvokeOperationOutcome OSISClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-osis/source/OSISClientConfiguration.cpp b/generated/src/aws-cpp-sdk-osis/source/OSISClientConfiguration.cpp new file mode 100644 index 000000000000..f3c9523cac44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-osis/source/OSISClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace OSIS { + +void OSISClientConfiguration::LoadOSISSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +OSISClientConfiguration::OSISClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadOSISSpecificConfig(this->profileName); +} + +OSISClientConfiguration::OSISClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadOSISSpecificConfig(Aws::String(inputProfileName)); +} + +OSISClientConfiguration::OSISClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadOSISSpecificConfig(this->profileName); +} + +OSISClientConfiguration::OSISClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadOSISSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const OSISClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace OSIS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-osis/source/OSISEndpointProvider.cpp b/generated/src/aws-cpp-sdk-osis/source/OSISEndpointProvider.cpp index 6b8609042f14..8e79cbb1f1b0 100644 --- a/generated/src/aws-cpp-sdk-osis/source/OSISEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-osis/source/OSISEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_OSIS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace OSIS { namespace Endpoint { OSISEndpointProvider::OSISEndpointProvider() : OSISDefaultEpProviderBase(Aws::OSIS::OSISEndpointRules::GetRulesBlob(), Aws::OSIS::OSISEndpointRules::RulesBlobSize) {} +void OSISBuiltInParameters::SetFromClientConfiguration(const OSISClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void OSISBuiltInParameters::SetFromClientConfiguration(const OSISClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void OSISBuiltInParameters::SetServiceSpecificParameters(const OSISClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace OSIS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsClient.h b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsClient.h index c22e128746d6..2340324e3064 100644 --- a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsClient.h +++ b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsClient.h @@ -61,27 +61,6 @@ class AWS_OUTPOSTS_API OutpostsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Outposts::OutpostsClientConfiguration& clientConfiguration = Aws::Outposts::OutpostsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - OutpostsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - OutpostsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - OutpostsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~OutpostsClient(); /** @@ -1333,7 +1312,6 @@ class AWS_OUTPOSTS_API OutpostsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&OutpostsClient::UpdateSiteRackPhysicalProperties, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsClientConfiguration.h b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsClientConfiguration.h new file mode 100644 index 000000000000..ad64c6e37aea --- /dev/null +++ b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Outposts { +struct AWS_OUTPOSTS_API OutpostsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + OutpostsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OutpostsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + OutpostsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit OutpostsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadOutpostsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_OUTPOSTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const OutpostsClientConfiguration& config); +} // namespace Outposts +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsEndpointProvider.h b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsEndpointProvider.h index 5f37b55f0497..57f3e2e58583 100644 --- a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Outposts { namespace Endpoint { +using OutpostsClientConfiguration = Aws::Outposts::OutpostsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using OutpostsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using OutpostsClientConfiguration = Aws::Client::GenericClientConfiguration; -using OutpostsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_OUTPOSTS_API OutpostsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~OutpostsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const OutpostsClientConfiguration& config); + virtual void SetFromClientConfiguration(const OutpostsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const OutpostsClientConfiguration& config); +}; /** * The type for the Outposts Client Endpoint Provider. @@ -34,6 +43,24 @@ using OutpostsEndpointProviderBase = using OutpostsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Outposts + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_OUTPOSTS_EXTERN template class AWS_OUTPOSTS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_OUTPOSTS_EXTERN template class AWS_OUTPOSTS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Outposts { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsServiceClientModel.h b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsServiceClientModel.h index 23ac49ae7b47..6f618b45fed0 100644 --- a/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsServiceClientModel.h @@ -98,7 +98,6 @@ class RetryStrategy; } // namespace Client namespace Outposts { -using OutpostsClientConfiguration = Aws::Client::GenericClientConfiguration; using OutpostsEndpointProviderBase = Aws::Outposts::Endpoint::OutpostsEndpointProviderBase; using OutpostsEndpointProvider = Aws::Outposts::Endpoint::OutpostsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-outposts/source/OutpostsClient.cpp b/generated/src/aws-cpp-sdk-outposts/source/OutpostsClient.cpp index d8e88df01a9e..ab9928ff9fc6 100644 --- a/generated/src/aws-cpp-sdk-outposts/source/OutpostsClient.cpp +++ b/generated/src/aws-cpp-sdk-outposts/source/OutpostsClient.cpp @@ -122,41 +122,6 @@ OutpostsClient::OutpostsClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -OutpostsClient::OutpostsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OutpostsClient::OutpostsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -OutpostsClient::OutpostsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ OutpostsClient::~OutpostsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& OutpostsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -174,12 +139,7 @@ void OutpostsClient::init(const Outposts::OutpostsClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "outposts"); -} - -void OutpostsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } OutpostsClient::InvokeOperationOutcome OutpostsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-outposts/source/OutpostsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-outposts/source/OutpostsClientConfiguration.cpp new file mode 100644 index 000000000000..f0ed5f981f0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-outposts/source/OutpostsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Outposts { + +void OutpostsClientConfiguration::LoadOutpostsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +OutpostsClientConfiguration::OutpostsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadOutpostsSpecificConfig(this->profileName); +} + +OutpostsClientConfiguration::OutpostsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadOutpostsSpecificConfig(Aws::String(inputProfileName)); +} + +OutpostsClientConfiguration::OutpostsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadOutpostsSpecificConfig(this->profileName); +} + +OutpostsClientConfiguration::OutpostsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadOutpostsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const OutpostsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Outposts +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-outposts/source/OutpostsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-outposts/source/OutpostsEndpointProvider.cpp index 1520773c9e2d..7a0b7391dbf3 100644 --- a/generated/src/aws-cpp-sdk-outposts/source/OutpostsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-outposts/source/OutpostsEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_OUTPOSTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Outposts { namespace Endpoint { OutpostsEndpointProvider::OutpostsEndpointProvider() : OutpostsDefaultEpProviderBase(Aws::Outposts::OutpostsEndpointRules::GetRulesBlob(), Aws::Outposts::OutpostsEndpointRules::RulesBlobSize) {} +void OutpostsBuiltInParameters::SetFromClientConfiguration(const OutpostsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void OutpostsBuiltInParameters::SetFromClientConfiguration(const OutpostsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void OutpostsBuiltInParameters::SetServiceSpecificParameters(const OutpostsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Outposts } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountClient.h b/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountClient.h index 7a52e439e41c..45ab8bfeca91 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountClient.h +++ b/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountClient.h @@ -60,27 +60,6 @@ class AWS_PARTNERCENTRALACCOUNT_API PartnerCentralAccountClient const Aws::PartnerCentralAccount::PartnerCentralAccountClientConfiguration& clientConfiguration = Aws::PartnerCentralAccount::PartnerCentralAccountClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PartnerCentralAccountClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PartnerCentralAccountClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PartnerCentralAccountClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PartnerCentralAccountClient(); /** @@ -1060,7 +1039,6 @@ class AWS_PARTNERCENTRALACCOUNT_API PartnerCentralAccountClient return SubmitAsync(&PartnerCentralAccountClient::UpdateConnectionPreferences, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountClientConfiguration.h b/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountClientConfiguration.h new file mode 100644 index 000000000000..6bd37d1dab0b --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PartnerCentralAccount { +struct AWS_PARTNERCENTRALACCOUNT_API PartnerCentralAccountClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PartnerCentralAccountClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralAccountClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralAccountClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PartnerCentralAccountClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadPartnerCentralAccountSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PARTNERCENTRALACCOUNT_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const PartnerCentralAccountClientConfiguration& config); +} // namespace PartnerCentralAccount +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountEndpointProvider.h b/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountEndpointProvider.h index 43376af8674a..ee55e9fb3339 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PartnerCentralAccount { namespace Endpoint { +using PartnerCentralAccountClientConfiguration = Aws::PartnerCentralAccount::PartnerCentralAccountClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PartnerCentralAccountClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PartnerCentralAccountClientConfiguration = Aws::Client::GenericClientConfiguration; -using PartnerCentralAccountBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PARTNERCENTRALACCOUNT_API PartnerCentralAccountBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PartnerCentralAccountBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PartnerCentralAccountClientConfiguration& config); + virtual void SetFromClientConfiguration(const PartnerCentralAccountClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PartnerCentralAccountClientConfiguration& config); +}; /** * The type for the PartnerCentralAccount Client Endpoint Provider. @@ -36,6 +45,26 @@ using PartnerCentralAccountDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PartnerCentralAccount + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PARTNERCENTRALACCOUNT_EXTERN template class AWS_PARTNERCENTRALACCOUNT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PARTNERCENTRALACCOUNT_EXTERN template class AWS_PARTNERCENTRALACCOUNT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace PartnerCentralAccount { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountServiceClientModel.h b/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountServiceClientModel.h index 3e0c31569046..0c8c414e84c8 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountServiceClientModel.h @@ -81,7 +81,6 @@ class RetryStrategy; } // namespace Client namespace PartnerCentralAccount { -using PartnerCentralAccountClientConfiguration = Aws::Client::GenericClientConfiguration; using PartnerCentralAccountEndpointProviderBase = Aws::PartnerCentralAccount::Endpoint::PartnerCentralAccountEndpointProviderBase; using PartnerCentralAccountEndpointProvider = Aws::PartnerCentralAccount::Endpoint::PartnerCentralAccountEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountClient.cpp b/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountClient.cpp index 0e6c703086b1..0d111d43450d 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountClient.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountClient.cpp @@ -117,42 +117,6 @@ PartnerCentralAccountClient::PartnerCentralAccountClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PartnerCentralAccountClient::PartnerCentralAccountClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralAccountClient::PartnerCentralAccountClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralAccountClient::PartnerCentralAccountClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PartnerCentralAccountClient::~PartnerCentralAccountClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PartnerCentralAccountClient::accessEndpointProvider() { @@ -172,12 +136,7 @@ void PartnerCentralAccountClient::init(const PartnerCentralAccount::PartnerCentr AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "partnercentral-account"); -} - -void PartnerCentralAccountClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PartnerCentralAccountClient::InvokeOperationOutcome PartnerCentralAccountClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountClientConfiguration.cpp b/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountClientConfiguration.cpp new file mode 100644 index 000000000000..3ca9fea968e0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PartnerCentralAccount { + +void PartnerCentralAccountClientConfiguration::LoadPartnerCentralAccountSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PartnerCentralAccountClientConfiguration::PartnerCentralAccountClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPartnerCentralAccountSpecificConfig(this->profileName); +} + +PartnerCentralAccountClientConfiguration::PartnerCentralAccountClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPartnerCentralAccountSpecificConfig(Aws::String(inputProfileName)); +} + +PartnerCentralAccountClientConfiguration::PartnerCentralAccountClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPartnerCentralAccountSpecificConfig(this->profileName); +} + +PartnerCentralAccountClientConfiguration::PartnerCentralAccountClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPartnerCentralAccountSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PartnerCentralAccountClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PartnerCentralAccount +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountEndpointProvider.cpp b/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountEndpointProvider.cpp index 43e812888577..0dc8b7d6dcde 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_PARTNERCENTRALACCOUNT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PartnerCentralAccount { namespace Endpoint { PartnerCentralAccountEndpointProvider::PartnerCentralAccountEndpointProvider() : PartnerCentralAccountDefaultEpProviderBase(Aws::PartnerCentralAccount::PartnerCentralAccountEndpointRules::GetRulesBlob(), Aws::PartnerCentralAccount::PartnerCentralAccountEndpointRules::RulesBlobSize) {} +void PartnerCentralAccountBuiltInParameters::SetFromClientConfiguration(const PartnerCentralAccountClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PartnerCentralAccountBuiltInParameters::SetFromClientConfiguration(const PartnerCentralAccountClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PartnerCentralAccountBuiltInParameters::SetServiceSpecificParameters(const PartnerCentralAccountClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace PartnerCentralAccount } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsClient.h b/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsClient.h index 9605202eb574..c59fb11e36b7 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsClient.h +++ b/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsClient.h @@ -59,27 +59,6 @@ class AWS_PARTNERCENTRALBENEFITS_API PartnerCentralBenefitsClient const Aws::PartnerCentralBenefits::PartnerCentralBenefitsClientConfiguration& clientConfiguration = Aws::PartnerCentralBenefits::PartnerCentralBenefitsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PartnerCentralBenefitsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PartnerCentralBenefitsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PartnerCentralBenefitsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PartnerCentralBenefitsClient(); /** @@ -549,7 +528,6 @@ class AWS_PARTNERCENTRALBENEFITS_API PartnerCentralBenefitsClient return SubmitAsync(&PartnerCentralBenefitsClient::UpdateBenefitApplication, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsClientConfiguration.h b/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsClientConfiguration.h new file mode 100644 index 000000000000..b967f4424f48 --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PartnerCentralBenefits { +struct AWS_PARTNERCENTRALBENEFITS_API PartnerCentralBenefitsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PartnerCentralBenefitsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralBenefitsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralBenefitsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PartnerCentralBenefitsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadPartnerCentralBenefitsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PARTNERCENTRALBENEFITS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const PartnerCentralBenefitsClientConfiguration& config); +} // namespace PartnerCentralBenefits +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsEndpointProvider.h b/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsEndpointProvider.h index 1e7cb7e50ee4..b1bdf3549ce1 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PartnerCentralBenefits { namespace Endpoint { +using PartnerCentralBenefitsClientConfiguration = Aws::PartnerCentralBenefits::PartnerCentralBenefitsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PartnerCentralBenefitsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PartnerCentralBenefitsClientConfiguration = Aws::Client::GenericClientConfiguration; -using PartnerCentralBenefitsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PARTNERCENTRALBENEFITS_API PartnerCentralBenefitsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PartnerCentralBenefitsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PartnerCentralBenefitsClientConfiguration& config); + virtual void SetFromClientConfiguration(const PartnerCentralBenefitsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PartnerCentralBenefitsClientConfiguration& config); +}; /** * The type for the PartnerCentralBenefits Client Endpoint Provider. @@ -36,6 +45,26 @@ using PartnerCentralBenefitsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PartnerCentralBenefits + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PARTNERCENTRALBENEFITS_EXTERN template class AWS_PARTNERCENTRALBENEFITS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PARTNERCENTRALBENEFITS_EXTERN template class AWS_PARTNERCENTRALBENEFITS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace PartnerCentralBenefits { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsServiceClientModel.h b/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsServiceClientModel.h index 3fd97bbb30ae..7e9073983254 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace PartnerCentralBenefits { -using PartnerCentralBenefitsClientConfiguration = Aws::Client::GenericClientConfiguration; using PartnerCentralBenefitsEndpointProviderBase = Aws::PartnerCentralBenefits::Endpoint::PartnerCentralBenefitsEndpointProviderBase; using PartnerCentralBenefitsEndpointProvider = Aws::PartnerCentralBenefits::Endpoint::PartnerCentralBenefitsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsClient.cpp b/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsClient.cpp index 15551addc1e7..16ce6416c3f2 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsClient.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsClient.cpp @@ -100,42 +100,6 @@ PartnerCentralBenefitsClient::PartnerCentralBenefitsClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PartnerCentralBenefitsClient::PartnerCentralBenefitsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralBenefitsClient::PartnerCentralBenefitsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralBenefitsClient::PartnerCentralBenefitsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PartnerCentralBenefitsClient::~PartnerCentralBenefitsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PartnerCentralBenefitsClient::accessEndpointProvider() { @@ -155,12 +119,7 @@ void PartnerCentralBenefitsClient::init(const PartnerCentralBenefits::PartnerCen AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "partnercentral-benefits"); -} - -void PartnerCentralBenefitsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PartnerCentralBenefitsClient::InvokeOperationOutcome PartnerCentralBenefitsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsClientConfiguration.cpp new file mode 100644 index 000000000000..7e5d475ec944 --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PartnerCentralBenefits { + +void PartnerCentralBenefitsClientConfiguration::LoadPartnerCentralBenefitsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PartnerCentralBenefitsClientConfiguration::PartnerCentralBenefitsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPartnerCentralBenefitsSpecificConfig(this->profileName); +} + +PartnerCentralBenefitsClientConfiguration::PartnerCentralBenefitsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPartnerCentralBenefitsSpecificConfig(Aws::String(inputProfileName)); +} + +PartnerCentralBenefitsClientConfiguration::PartnerCentralBenefitsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPartnerCentralBenefitsSpecificConfig(this->profileName); +} + +PartnerCentralBenefitsClientConfiguration::PartnerCentralBenefitsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPartnerCentralBenefitsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PartnerCentralBenefitsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PartnerCentralBenefits +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsEndpointProvider.cpp index 2bd153c637bf..72622cc12bc3 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_PARTNERCENTRALBENEFITS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PartnerCentralBenefits { namespace Endpoint { PartnerCentralBenefitsEndpointProvider::PartnerCentralBenefitsEndpointProvider() : PartnerCentralBenefitsDefaultEpProviderBase(Aws::PartnerCentralBenefits::PartnerCentralBenefitsEndpointRules::GetRulesBlob(), Aws::PartnerCentralBenefits::PartnerCentralBenefitsEndpointRules::RulesBlobSize) {} +void PartnerCentralBenefitsBuiltInParameters::SetFromClientConfiguration(const PartnerCentralBenefitsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PartnerCentralBenefitsBuiltInParameters::SetFromClientConfiguration(const PartnerCentralBenefitsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PartnerCentralBenefitsBuiltInParameters::SetServiceSpecificParameters(const PartnerCentralBenefitsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace PartnerCentralBenefits } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelClient.h b/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelClient.h index 8410a337e0c1..02f3dd5b0812 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelClient.h +++ b/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelClient.h @@ -58,27 +58,6 @@ class AWS_PARTNERCENTRALCHANNEL_API PartnerCentralChannelClient const Aws::PartnerCentralChannel::PartnerCentralChannelClientConfiguration& clientConfiguration = Aws::PartnerCentralChannel::PartnerCentralChannelClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PartnerCentralChannelClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PartnerCentralChannelClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PartnerCentralChannelClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PartnerCentralChannelClient(); /** @@ -546,7 +525,6 @@ class AWS_PARTNERCENTRALCHANNEL_API PartnerCentralChannelClient return SubmitAsync(&PartnerCentralChannelClient::UpdateRelationship, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelClientConfiguration.h b/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelClientConfiguration.h new file mode 100644 index 000000000000..835fe9e706cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PartnerCentralChannel { +struct AWS_PARTNERCENTRALCHANNEL_API PartnerCentralChannelClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PartnerCentralChannelClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralChannelClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralChannelClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PartnerCentralChannelClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + + private: + void LoadPartnerCentralChannelSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PARTNERCENTRALCHANNEL_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const PartnerCentralChannelClientConfiguration& config); +} // namespace PartnerCentralChannel +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelEndpointProvider.h b/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelEndpointProvider.h index 15927cc4885a..40e6d8f4d1ab 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PartnerCentralChannel { namespace Endpoint { +using PartnerCentralChannelClientConfiguration = Aws::PartnerCentralChannel::PartnerCentralChannelClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PartnerCentralChannelClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PartnerCentralChannelClientConfiguration = Aws::Client::GenericClientConfiguration; -using PartnerCentralChannelBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PARTNERCENTRALCHANNEL_API PartnerCentralChannelBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PartnerCentralChannelBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PartnerCentralChannelClientConfiguration& config); + virtual void SetFromClientConfiguration(const PartnerCentralChannelClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PartnerCentralChannelClientConfiguration& config); +}; /** * The type for the PartnerCentralChannel Client Endpoint Provider. @@ -36,6 +45,26 @@ using PartnerCentralChannelDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PartnerCentralChannel + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PARTNERCENTRALCHANNEL_EXTERN template class AWS_PARTNERCENTRALCHANNEL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PARTNERCENTRALCHANNEL_EXTERN template class AWS_PARTNERCENTRALCHANNEL_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace PartnerCentralChannel { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelServiceClientModel.h b/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelServiceClientModel.h index 7c48f2af77bf..c5786388c556 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace PartnerCentralChannel { -using PartnerCentralChannelClientConfiguration = Aws::Client::GenericClientConfiguration; using PartnerCentralChannelEndpointProviderBase = Aws::PartnerCentralChannel::Endpoint::PartnerCentralChannelEndpointProviderBase; using PartnerCentralChannelEndpointProvider = Aws::PartnerCentralChannel::Endpoint::PartnerCentralChannelEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelClient.cpp b/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelClient.cpp index 31abe0ed88fa..e47fed16b658 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelClient.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelClient.cpp @@ -102,44 +102,6 @@ PartnerCentralChannelClient::PartnerCentralChannelClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PartnerCentralChannelClient::PartnerCentralChannelClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralChannelClient::PartnerCentralChannelClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralChannelClient::PartnerCentralChannelClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PartnerCentralChannelClient::~PartnerCentralChannelClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PartnerCentralChannelClient::accessEndpointProvider() { @@ -159,12 +121,7 @@ void PartnerCentralChannelClient::init(const PartnerCentralChannel::PartnerCentr AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "partnercentral-channel"); -} - -void PartnerCentralChannelClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PartnerCentralChannelClient::InvokeOperationOutcome PartnerCentralChannelClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelClientConfiguration.cpp b/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelClientConfiguration.cpp new file mode 100644 index 000000000000..7530d0f4e901 --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PartnerCentralChannel { + +void PartnerCentralChannelClientConfiguration::LoadPartnerCentralChannelSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PartnerCentralChannelClientConfiguration::PartnerCentralChannelClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPartnerCentralChannelSpecificConfig(this->profileName); +} + +PartnerCentralChannelClientConfiguration::PartnerCentralChannelClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPartnerCentralChannelSpecificConfig(Aws::String(inputProfileName)); +} + +PartnerCentralChannelClientConfiguration::PartnerCentralChannelClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPartnerCentralChannelSpecificConfig(this->profileName); +} + +PartnerCentralChannelClientConfiguration::PartnerCentralChannelClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPartnerCentralChannelSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PartnerCentralChannelClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + +} // namespace PartnerCentralChannel +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelEndpointProvider.cpp b/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelEndpointProvider.cpp index 9bfc2e2b2dd4..09796726f1d2 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_PARTNERCENTRALCHANNEL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PartnerCentralChannel { namespace Endpoint { PartnerCentralChannelEndpointProvider::PartnerCentralChannelEndpointProvider() : PartnerCentralChannelDefaultEpProviderBase(Aws::PartnerCentralChannel::PartnerCentralChannelEndpointRules::GetRulesBlob(), Aws::PartnerCentralChannel::PartnerCentralChannelEndpointRules::RulesBlobSize) {} +void PartnerCentralChannelBuiltInParameters::SetFromClientConfiguration(const PartnerCentralChannelClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PartnerCentralChannelBuiltInParameters::SetFromClientConfiguration(const PartnerCentralChannelClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PartnerCentralChannelBuiltInParameters::SetServiceSpecificParameters(const PartnerCentralChannelClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace PartnerCentralChannel } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementClient.h b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementClient.h index 391195267032..c9f5cadaf449 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementClient.h +++ b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementClient.h @@ -62,28 +62,6 @@ class AWS_PARTNERCENTRALREVENUEMEASUREMENT_API PartnerCentralRevenueMeasurementC const Aws::PartnerCentralRevenueMeasurement::PartnerCentralRevenueMeasurementClientConfiguration& clientConfiguration = Aws::PartnerCentralRevenueMeasurement::PartnerCentralRevenueMeasurementClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PartnerCentralRevenueMeasurementClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PartnerCentralRevenueMeasurementClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PartnerCentralRevenueMeasurementClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PartnerCentralRevenueMeasurementClient(); /** @@ -609,7 +587,6 @@ class AWS_PARTNERCENTRALREVENUEMEASUREMENT_API PartnerCentralRevenueMeasurementC return SubmitAsync(&PartnerCentralRevenueMeasurementClient::UpdateRevenueAttribution, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementClientConfiguration.h b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementClientConfiguration.h new file mode 100644 index 000000000000..84622dc6077f --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementClientConfiguration.h @@ -0,0 +1,63 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PartnerCentralRevenueMeasurement { +struct AWS_PARTNERCENTRALREVENUEMEASUREMENT_API PartnerCentralRevenueMeasurementClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PartnerCentralRevenueMeasurementClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralRevenueMeasurementClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralRevenueMeasurementClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PartnerCentralRevenueMeasurementClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + + private: + void LoadPartnerCentralRevenueMeasurementSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PARTNERCENTRALREVENUEMEASUREMENT_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const PartnerCentralRevenueMeasurementClientConfiguration& config); +} // namespace PartnerCentralRevenueMeasurement +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementEndpointProvider.h b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementEndpointProvider.h index bbdeb441d539..31ed7b8aba85 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementEndpointProvider.h @@ -4,24 +4,35 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PartnerCentralRevenueMeasurement { namespace Endpoint { +using PartnerCentralRevenueMeasurementClientConfiguration = + Aws::PartnerCentralRevenueMeasurement::PartnerCentralRevenueMeasurementClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PartnerCentralRevenueMeasurementClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PartnerCentralRevenueMeasurementClientConfiguration = Aws::Client::GenericClientConfiguration; -using PartnerCentralRevenueMeasurementBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PARTNERCENTRALREVENUEMEASUREMENT_API PartnerCentralRevenueMeasurementBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PartnerCentralRevenueMeasurementBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PartnerCentralRevenueMeasurementClientConfiguration& config); + virtual void SetFromClientConfiguration(const PartnerCentralRevenueMeasurementClientConfiguration& config, + const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PartnerCentralRevenueMeasurementClientConfiguration& config); +}; /** * The type for the PartnerCentralRevenueMeasurement Client Endpoint Provider. @@ -36,6 +47,26 @@ using PartnerCentralRevenueMeasurementDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PartnerCentralRevenueMeasurement + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PARTNERCENTRALREVENUEMEASUREMENT_EXTERN template class AWS_PARTNERCENTRALREVENUEMEASUREMENT_API Aws::Endpoint::EndpointProviderBase< + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementClientConfiguration, + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementBuiltInParameters, + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementClientContextParameters>; + +AWS_PARTNERCENTRALREVENUEMEASUREMENT_EXTERN template class AWS_PARTNERCENTRALREVENUEMEASUREMENT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace PartnerCentralRevenueMeasurement { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementServiceClientModel.h b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementServiceClientModel.h index a9b5c692bc59..fda21fc19545 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace PartnerCentralRevenueMeasurement { -using PartnerCentralRevenueMeasurementClientConfiguration = Aws::Client::GenericClientConfiguration; using PartnerCentralRevenueMeasurementEndpointProviderBase = Aws::PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementEndpointProviderBase; using PartnerCentralRevenueMeasurementEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementClient.cpp b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementClient.cpp index 9e558b3b75f4..5ba0949b437e 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementClient.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementClient.cpp @@ -103,44 +103,6 @@ PartnerCentralRevenueMeasurementClient::PartnerCentralRevenueMeasurementClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PartnerCentralRevenueMeasurementClient::PartnerCentralRevenueMeasurementClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralRevenueMeasurementClient::PartnerCentralRevenueMeasurementClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralRevenueMeasurementClient::PartnerCentralRevenueMeasurementClient( - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PartnerCentralRevenueMeasurementClient::~PartnerCentralRevenueMeasurementClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PartnerCentralRevenueMeasurementClient::accessEndpointProvider() { @@ -161,12 +123,7 @@ void PartnerCentralRevenueMeasurementClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "partnercentral"); -} - -void PartnerCentralRevenueMeasurementClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PartnerCentralRevenueMeasurementClient::InvokeOperationOutcome PartnerCentralRevenueMeasurementClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementClientConfiguration.cpp b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementClientConfiguration.cpp new file mode 100644 index 000000000000..99ddf405a59d --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementClientConfiguration.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PartnerCentralRevenueMeasurement { + +void PartnerCentralRevenueMeasurementClientConfiguration::LoadPartnerCentralRevenueMeasurementSpecificConfig( + const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PartnerCentralRevenueMeasurementClientConfiguration::PartnerCentralRevenueMeasurementClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPartnerCentralRevenueMeasurementSpecificConfig(this->profileName); +} + +PartnerCentralRevenueMeasurementClientConfiguration::PartnerCentralRevenueMeasurementClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPartnerCentralRevenueMeasurementSpecificConfig(Aws::String(inputProfileName)); +} + +PartnerCentralRevenueMeasurementClientConfiguration::PartnerCentralRevenueMeasurementClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPartnerCentralRevenueMeasurementSpecificConfig(this->profileName); +} + +PartnerCentralRevenueMeasurementClientConfiguration::PartnerCentralRevenueMeasurementClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPartnerCentralRevenueMeasurementSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PartnerCentralRevenueMeasurementClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + +} // namespace PartnerCentralRevenueMeasurement +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementEndpointProvider.cpp b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementEndpointProvider.cpp index 2bf0e3f931a1..39cbc1e8ae9e 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_PARTNERCENTRALREVENUEMEASUREMENT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementClientConfiguration, + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementBuiltInParameters, + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementClientConfiguration, + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementBuiltInParameters, + PartnerCentralRevenueMeasurement::Endpoint::PartnerCentralRevenueMeasurementClientContextParameters>; +} // namespace Endpoint +#endif + namespace PartnerCentralRevenueMeasurement { namespace Endpoint { PartnerCentralRevenueMeasurementEndpointProvider::PartnerCentralRevenueMeasurementEndpointProvider() @@ -14,6 +31,25 @@ PartnerCentralRevenueMeasurementEndpointProvider::PartnerCentralRevenueMeasureme Aws::PartnerCentralRevenueMeasurement::PartnerCentralRevenueMeasurementEndpointRules::GetRulesBlob(), Aws::PartnerCentralRevenueMeasurement::PartnerCentralRevenueMeasurementEndpointRules::RulesBlobSize) {} +void PartnerCentralRevenueMeasurementBuiltInParameters::SetFromClientConfiguration( + const PartnerCentralRevenueMeasurementClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PartnerCentralRevenueMeasurementBuiltInParameters::SetFromClientConfiguration( + const PartnerCentralRevenueMeasurementClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void PartnerCentralRevenueMeasurementBuiltInParameters::SetServiceSpecificParameters( + const PartnerCentralRevenueMeasurementClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace PartnerCentralRevenueMeasurement } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingClient.h b/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingClient.h index 6332fd25fdad..29e7681c79e2 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingClient.h +++ b/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingClient.h @@ -89,27 +89,6 @@ class AWS_PARTNERCENTRALSELLING_API PartnerCentralSellingClient const Aws::PartnerCentralSelling::PartnerCentralSellingClientConfiguration& clientConfiguration = Aws::PartnerCentralSelling::PartnerCentralSellingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PartnerCentralSellingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PartnerCentralSellingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PartnerCentralSellingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PartnerCentralSellingClient(); /** @@ -1526,7 +1505,6 @@ class AWS_PARTNERCENTRALSELLING_API PartnerCentralSellingClient return SubmitAsync(&PartnerCentralSellingClient::UpdateOpportunity, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingClientConfiguration.h b/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingClientConfiguration.h new file mode 100644 index 000000000000..ad59faa19f89 --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PartnerCentralSelling { +struct AWS_PARTNERCENTRALSELLING_API PartnerCentralSellingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PartnerCentralSellingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralSellingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PartnerCentralSellingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PartnerCentralSellingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadPartnerCentralSellingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PARTNERCENTRALSELLING_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const PartnerCentralSellingClientConfiguration& config); +} // namespace PartnerCentralSelling +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingEndpointProvider.h b/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingEndpointProvider.h index cd1d53635463..8b7991c74834 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PartnerCentralSelling { namespace Endpoint { +using PartnerCentralSellingClientConfiguration = Aws::PartnerCentralSelling::PartnerCentralSellingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PartnerCentralSellingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PartnerCentralSellingClientConfiguration = Aws::Client::GenericClientConfiguration; -using PartnerCentralSellingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PARTNERCENTRALSELLING_API PartnerCentralSellingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PartnerCentralSellingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PartnerCentralSellingClientConfiguration& config); + virtual void SetFromClientConfiguration(const PartnerCentralSellingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PartnerCentralSellingClientConfiguration& config); +}; /** * The type for the PartnerCentralSelling Client Endpoint Provider. @@ -36,6 +45,26 @@ using PartnerCentralSellingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PartnerCentralSelling + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PARTNERCENTRALSELLING_EXTERN template class AWS_PARTNERCENTRALSELLING_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PARTNERCENTRALSELLING_EXTERN template class AWS_PARTNERCENTRALSELLING_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace PartnerCentralSelling { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingServiceClientModel.h b/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingServiceClientModel.h index bd10a4c49d9f..824e73260180 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingServiceClientModel.h @@ -83,7 +83,6 @@ class RetryStrategy; } // namespace Client namespace PartnerCentralSelling { -using PartnerCentralSellingClientConfiguration = Aws::Client::GenericClientConfiguration; using PartnerCentralSellingEndpointProviderBase = Aws::PartnerCentralSelling::Endpoint::PartnerCentralSellingEndpointProviderBase; using PartnerCentralSellingEndpointProvider = Aws::PartnerCentralSelling::Endpoint::PartnerCentralSellingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingClient.cpp b/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingClient.cpp index a5f4f86cfde4..f7e9d9f37940 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingClient.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingClient.cpp @@ -128,42 +128,6 @@ PartnerCentralSellingClient::PartnerCentralSellingClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PartnerCentralSellingClient::PartnerCentralSellingClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralSellingClient::PartnerCentralSellingClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PartnerCentralSellingClient::PartnerCentralSellingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PartnerCentralSellingClient::~PartnerCentralSellingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PartnerCentralSellingClient::accessEndpointProvider() { @@ -183,12 +147,7 @@ void PartnerCentralSellingClient::init(const PartnerCentralSelling::PartnerCentr AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "partnercentral-selling"); -} - -void PartnerCentralSellingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PartnerCentralSellingClient::InvokeOperationOutcome PartnerCentralSellingClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingClientConfiguration.cpp new file mode 100644 index 000000000000..55dd2c5a634b --- /dev/null +++ b/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PartnerCentralSelling { + +void PartnerCentralSellingClientConfiguration::LoadPartnerCentralSellingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PartnerCentralSellingClientConfiguration::PartnerCentralSellingClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPartnerCentralSellingSpecificConfig(this->profileName); +} + +PartnerCentralSellingClientConfiguration::PartnerCentralSellingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPartnerCentralSellingSpecificConfig(Aws::String(inputProfileName)); +} + +PartnerCentralSellingClientConfiguration::PartnerCentralSellingClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPartnerCentralSellingSpecificConfig(this->profileName); +} + +PartnerCentralSellingClientConfiguration::PartnerCentralSellingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPartnerCentralSellingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PartnerCentralSellingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PartnerCentralSelling +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingEndpointProvider.cpp index bd0cb9bb9efe..2cf50f890328 100644 --- a/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_PARTNERCENTRALSELLING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PartnerCentralSelling { namespace Endpoint { PartnerCentralSellingEndpointProvider::PartnerCentralSellingEndpointProvider() : PartnerCentralSellingDefaultEpProviderBase(Aws::PartnerCentralSelling::PartnerCentralSellingEndpointRules::GetRulesBlob(), Aws::PartnerCentralSelling::PartnerCentralSellingEndpointRules::RulesBlobSize) {} +void PartnerCentralSellingBuiltInParameters::SetFromClientConfiguration(const PartnerCentralSellingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PartnerCentralSellingBuiltInParameters::SetFromClientConfiguration(const PartnerCentralSellingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PartnerCentralSellingBuiltInParameters::SetServiceSpecificParameters(const PartnerCentralSellingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace PartnerCentralSelling } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataClient.h b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataClient.h index cb1518f310bc..54f63cf14a82 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataClient.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataClient.h @@ -68,27 +68,6 @@ class AWS_PAYMENTCRYPTOGRAPHYDATA_API PaymentCryptographyDataClient const Aws::PaymentCryptographyData::PaymentCryptographyDataClientConfiguration& clientConfiguration = Aws::PaymentCryptographyData::PaymentCryptographyDataClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PaymentCryptographyDataClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PaymentCryptographyDataClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PaymentCryptographyDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PaymentCryptographyDataClient(); /** @@ -975,7 +954,6 @@ class AWS_PAYMENTCRYPTOGRAPHYDATA_API PaymentCryptographyDataClient return SubmitAsync(&PaymentCryptographyDataClient::VerifyPinData, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataClientConfiguration.h b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataClientConfiguration.h new file mode 100644 index 000000000000..251083b6aee3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PaymentCryptographyData { +struct AWS_PAYMENTCRYPTOGRAPHYDATA_API PaymentCryptographyDataClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PaymentCryptographyDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PaymentCryptographyDataClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PaymentCryptographyDataClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PaymentCryptographyDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPaymentCryptographyDataSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PAYMENTCRYPTOGRAPHYDATA_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const PaymentCryptographyDataClientConfiguration& config); +} // namespace PaymentCryptographyData +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataEndpointProvider.h b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataEndpointProvider.h index 1696e5e02611..01aa4eafb296 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PaymentCryptographyData { namespace Endpoint { +using PaymentCryptographyDataClientConfiguration = Aws::PaymentCryptographyData::PaymentCryptographyDataClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PaymentCryptographyDataClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PaymentCryptographyDataClientConfiguration = Aws::Client::GenericClientConfiguration; -using PaymentCryptographyDataBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PAYMENTCRYPTOGRAPHYDATA_API PaymentCryptographyDataBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PaymentCryptographyDataBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PaymentCryptographyDataClientConfiguration& config); + virtual void SetFromClientConfiguration(const PaymentCryptographyDataClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PaymentCryptographyDataClientConfiguration& config); +}; /** * The type for the PaymentCryptographyData Client Endpoint Provider. @@ -36,6 +45,26 @@ using PaymentCryptographyDataDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PaymentCryptographyData + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PAYMENTCRYPTOGRAPHYDATA_EXTERN template class AWS_PAYMENTCRYPTOGRAPHYDATA_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PAYMENTCRYPTOGRAPHYDATA_EXTERN template class AWS_PAYMENTCRYPTOGRAPHYDATA_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace PaymentCryptographyData { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataServiceClientModel.h b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataServiceClientModel.h index 9c1baa323341..45c05913c116 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace PaymentCryptographyData { -using PaymentCryptographyDataClientConfiguration = Aws::Client::GenericClientConfiguration; using PaymentCryptographyDataEndpointProviderBase = Aws::PaymentCryptographyData::Endpoint::PaymentCryptographyDataEndpointProviderBase; using PaymentCryptographyDataEndpointProvider = Aws::PaymentCryptographyData::Endpoint::PaymentCryptographyDataEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataClient.cpp b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataClient.cpp index cae41b569286..9812463de834 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataClient.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataClient.cpp @@ -98,42 +98,6 @@ PaymentCryptographyDataClient::PaymentCryptographyDataClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PaymentCryptographyDataClient::PaymentCryptographyDataClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PaymentCryptographyDataClient::PaymentCryptographyDataClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PaymentCryptographyDataClient::PaymentCryptographyDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PaymentCryptographyDataClient::~PaymentCryptographyDataClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PaymentCryptographyDataClient::accessEndpointProvider() { @@ -153,12 +117,7 @@ void PaymentCryptographyDataClient::init(const PaymentCryptographyData::PaymentC AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "payment-cryptography"); -} - -void PaymentCryptographyDataClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PaymentCryptographyDataClient::InvokeOperationOutcome PaymentCryptographyDataClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataClientConfiguration.cpp b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataClientConfiguration.cpp new file mode 100644 index 000000000000..d81e7d42c880 --- /dev/null +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PaymentCryptographyData { + +void PaymentCryptographyDataClientConfiguration::LoadPaymentCryptographyDataSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PaymentCryptographyDataClientConfiguration::PaymentCryptographyDataClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPaymentCryptographyDataSpecificConfig(this->profileName); +} + +PaymentCryptographyDataClientConfiguration::PaymentCryptographyDataClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPaymentCryptographyDataSpecificConfig(Aws::String(inputProfileName)); +} + +PaymentCryptographyDataClientConfiguration::PaymentCryptographyDataClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPaymentCryptographyDataSpecificConfig(this->profileName); +} + +PaymentCryptographyDataClientConfiguration::PaymentCryptographyDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPaymentCryptographyDataSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PaymentCryptographyDataClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PaymentCryptographyData +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataEndpointProvider.cpp b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataEndpointProvider.cpp index 26c69013fa57..b66a3dfce79b 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PAYMENTCRYPTOGRAPHYDATA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PaymentCryptographyData { namespace Endpoint { PaymentCryptographyDataEndpointProvider::PaymentCryptographyDataEndpointProvider() : PaymentCryptographyDataDefaultEpProviderBase(Aws::PaymentCryptographyData::PaymentCryptographyDataEndpointRules::GetRulesBlob(), Aws::PaymentCryptographyData::PaymentCryptographyDataEndpointRules::RulesBlobSize) {} +void PaymentCryptographyDataBuiltInParameters::SetFromClientConfiguration(const PaymentCryptographyDataClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PaymentCryptographyDataBuiltInParameters::SetFromClientConfiguration(const PaymentCryptographyDataClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PaymentCryptographyDataBuiltInParameters::SetServiceSpecificParameters(const PaymentCryptographyDataClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PaymentCryptographyData } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h index f9b0b2117944..70d97f3de2e3 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClient.h @@ -78,27 +78,6 @@ class AWS_PAYMENTCRYPTOGRAPHY_API PaymentCryptographyClient : public Aws::Client const Aws::PaymentCryptography::PaymentCryptographyClientConfiguration& clientConfiguration = Aws::PaymentCryptography::PaymentCryptographyClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PaymentCryptographyClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PaymentCryptographyClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PaymentCryptographyClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PaymentCryptographyClient(); /** @@ -1674,7 +1653,6 @@ class AWS_PAYMENTCRYPTOGRAPHY_API PaymentCryptographyClient : public Aws::Client return SubmitAsync(&PaymentCryptographyClient::UpdateAlias, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClientConfiguration.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClientConfiguration.h new file mode 100644 index 000000000000..86a6c75450cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PaymentCryptography { +struct AWS_PAYMENTCRYPTOGRAPHY_API PaymentCryptographyClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PaymentCryptographyClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PaymentCryptographyClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PaymentCryptographyClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PaymentCryptographyClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPaymentCryptographySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PAYMENTCRYPTOGRAPHY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PaymentCryptographyClientConfiguration& config); +} // namespace PaymentCryptography +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyEndpointProvider.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyEndpointProvider.h index 082c5a6dbdf9..63f6127816bd 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PaymentCryptography { namespace Endpoint { +using PaymentCryptographyClientConfiguration = Aws::PaymentCryptography::PaymentCryptographyClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PaymentCryptographyClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PaymentCryptographyClientConfiguration = Aws::Client::GenericClientConfiguration; -using PaymentCryptographyBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PAYMENTCRYPTOGRAPHY_API PaymentCryptographyBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PaymentCryptographyBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PaymentCryptographyClientConfiguration& config); + virtual void SetFromClientConfiguration(const PaymentCryptographyClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PaymentCryptographyClientConfiguration& config); +}; /** * The type for the PaymentCryptography Client Endpoint Provider. @@ -36,6 +45,26 @@ using PaymentCryptographyDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PaymentCryptography + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PAYMENTCRYPTOGRAPHY_EXTERN template class AWS_PAYMENTCRYPTOGRAPHY_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PAYMENTCRYPTOGRAPHY_EXTERN template class AWS_PAYMENTCRYPTOGRAPHY_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace PaymentCryptography { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyServiceClientModel.h b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyServiceClientModel.h index 8a442bc82bec..dbedfb3d88de 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyServiceClientModel.h @@ -81,7 +81,6 @@ class RetryStrategy; } // namespace Client namespace PaymentCryptography { -using PaymentCryptographyClientConfiguration = Aws::Client::GenericClientConfiguration; using PaymentCryptographyEndpointProviderBase = Aws::PaymentCryptography::Endpoint::PaymentCryptographyEndpointProviderBase; using PaymentCryptographyEndpointProvider = Aws::PaymentCryptography::Endpoint::PaymentCryptographyEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyClient.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyClient.cpp index 46d5f68b28d9..812d0d403ae5 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyClient.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyClient.cpp @@ -113,42 +113,6 @@ PaymentCryptographyClient::PaymentCryptographyClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PaymentCryptographyClient::PaymentCryptographyClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PaymentCryptographyClient::PaymentCryptographyClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PaymentCryptographyClient::~PaymentCryptographyClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PaymentCryptographyClient::accessEndpointProvider() { return m_endpointProvider; } @@ -166,12 +130,7 @@ void PaymentCryptographyClient::init(const PaymentCryptography::PaymentCryptogra AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "payment-cryptography"); -} - -void PaymentCryptographyClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PaymentCryptographyClient::InvokeOperationOutcome PaymentCryptographyClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyClientConfiguration.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyClientConfiguration.cpp new file mode 100644 index 000000000000..cdfd5b5760c0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PaymentCryptography { + +void PaymentCryptographyClientConfiguration::LoadPaymentCryptographySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PaymentCryptographyClientConfiguration::PaymentCryptographyClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPaymentCryptographySpecificConfig(this->profileName); +} + +PaymentCryptographyClientConfiguration::PaymentCryptographyClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPaymentCryptographySpecificConfig(Aws::String(inputProfileName)); +} + +PaymentCryptographyClientConfiguration::PaymentCryptographyClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPaymentCryptographySpecificConfig(this->profileName); +} + +PaymentCryptographyClientConfiguration::PaymentCryptographyClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPaymentCryptographySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PaymentCryptographyClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PaymentCryptography +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyEndpointProvider.cpp b/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyEndpointProvider.cpp index b5fa3184ca97..41e9bd9981d3 100644 --- a/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PAYMENTCRYPTOGRAPHY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PaymentCryptography { namespace Endpoint { PaymentCryptographyEndpointProvider::PaymentCryptographyEndpointProvider() : PaymentCryptographyDefaultEpProviderBase(Aws::PaymentCryptography::PaymentCryptographyEndpointRules::GetRulesBlob(), Aws::PaymentCryptography::PaymentCryptographyEndpointRules::RulesBlobSize) {} +void PaymentCryptographyBuiltInParameters::SetFromClientConfiguration(const PaymentCryptographyClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PaymentCryptographyBuiltInParameters::SetFromClientConfiguration(const PaymentCryptographyClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PaymentCryptographyBuiltInParameters::SetServiceSpecificParameters(const PaymentCryptographyClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PaymentCryptography } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdClient.h b/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdClient.h index 436f3a06bc62..c49caf4d06c6 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdClient.h +++ b/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdClient.h @@ -61,27 +61,6 @@ class AWS_PCACONNECTORAD_API PcaConnectorAdClient : public Aws::Client::AWSJsonC const Aws::PcaConnectorAd::PcaConnectorAdClientConfiguration& clientConfiguration = Aws::PcaConnectorAd::PcaConnectorAdClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PcaConnectorAdClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PcaConnectorAdClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PcaConnectorAdClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PcaConnectorAdClient(); /** @@ -794,7 +773,6 @@ class AWS_PCACONNECTORAD_API PcaConnectorAdClient : public Aws::Client::AWSJsonC return SubmitAsync(&PcaConnectorAdClient::UpdateTemplateGroupAccessControlEntry, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdClientConfiguration.h b/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdClientConfiguration.h new file mode 100644 index 000000000000..232be0acb30b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PcaConnectorAd { +struct AWS_PCACONNECTORAD_API PcaConnectorAdClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PcaConnectorAdClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PcaConnectorAdClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PcaConnectorAdClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PcaConnectorAdClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPcaConnectorAdSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PCACONNECTORAD_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PcaConnectorAdClientConfiguration& config); +} // namespace PcaConnectorAd +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdEndpointProvider.h b/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdEndpointProvider.h index b4afd0a45505..216f60d3402c 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PcaConnectorAd { namespace Endpoint { +using PcaConnectorAdClientConfiguration = Aws::PcaConnectorAd::PcaConnectorAdClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PcaConnectorAdClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PcaConnectorAdClientConfiguration = Aws::Client::GenericClientConfiguration; -using PcaConnectorAdBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PCACONNECTORAD_API PcaConnectorAdBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PcaConnectorAdBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PcaConnectorAdClientConfiguration& config); + virtual void SetFromClientConfiguration(const PcaConnectorAdClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PcaConnectorAdClientConfiguration& config); +}; /** * The type for the PcaConnectorAd Client Endpoint Provider. @@ -34,6 +43,24 @@ using PcaConnectorAdEndpointProviderBase = using PcaConnectorAdDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PcaConnectorAd + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PCACONNECTORAD_EXTERN template class AWS_PCACONNECTORAD_API Aws::Endpoint::EndpointProviderBase< + PcaConnectorAd::Endpoint::PcaConnectorAdClientConfiguration, PcaConnectorAd::Endpoint::PcaConnectorAdBuiltInParameters, + PcaConnectorAd::Endpoint::PcaConnectorAdClientContextParameters>; + +AWS_PCACONNECTORAD_EXTERN template class AWS_PCACONNECTORAD_API Aws::Endpoint::BDDEndpointProvider< + PcaConnectorAd::Endpoint::PcaConnectorAdClientConfiguration, PcaConnectorAd::Endpoint::PcaConnectorAdBuiltInParameters, + PcaConnectorAd::Endpoint::PcaConnectorAdClientContextParameters>; +} // namespace Endpoint + +namespace PcaConnectorAd { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdServiceClientModel.h b/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdServiceClientModel.h index d1cd2ec020be..e67635e638f4 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace PcaConnectorAd { -using PcaConnectorAdClientConfiguration = Aws::Client::GenericClientConfiguration; using PcaConnectorAdEndpointProviderBase = Aws::PcaConnectorAd::Endpoint::PcaConnectorAdEndpointProviderBase; using PcaConnectorAdEndpointProvider = Aws::PcaConnectorAd::Endpoint::PcaConnectorAdEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdClient.cpp b/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdClient.cpp index 4f5144cf591e..612bb1a6cba7 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdClient.cpp +++ b/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdClient.cpp @@ -103,41 +103,6 @@ PcaConnectorAdClient::PcaConnectorAdClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PcaConnectorAdClient::PcaConnectorAdClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PcaConnectorAdClient::PcaConnectorAdClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PcaConnectorAdClient::~PcaConnectorAdClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PcaConnectorAdClient::accessEndpointProvider() { return m_endpointProvider; } @@ -155,12 +120,7 @@ void PcaConnectorAdClient::init(const PcaConnectorAd::PcaConnectorAdClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "pca-connector-ad"); -} - -void PcaConnectorAdClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PcaConnectorAdClient::InvokeOperationOutcome PcaConnectorAdClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdClientConfiguration.cpp new file mode 100644 index 000000000000..8ff4be235d57 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PcaConnectorAd { + +void PcaConnectorAdClientConfiguration::LoadPcaConnectorAdSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PcaConnectorAdClientConfiguration::PcaConnectorAdClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPcaConnectorAdSpecificConfig(this->profileName); +} + +PcaConnectorAdClientConfiguration::PcaConnectorAdClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPcaConnectorAdSpecificConfig(Aws::String(inputProfileName)); +} + +PcaConnectorAdClientConfiguration::PcaConnectorAdClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPcaConnectorAdSpecificConfig(this->profileName); +} + +PcaConnectorAdClientConfiguration::PcaConnectorAdClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPcaConnectorAdSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PcaConnectorAdClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PcaConnectorAd +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdEndpointProvider.cpp index 657c751517df..372f6ed8630a 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PCACONNECTORAD_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PcaConnectorAd { namespace Endpoint { PcaConnectorAdEndpointProvider::PcaConnectorAdEndpointProvider() : PcaConnectorAdDefaultEpProviderBase(Aws::PcaConnectorAd::PcaConnectorAdEndpointRules::GetRulesBlob(), Aws::PcaConnectorAd::PcaConnectorAdEndpointRules::RulesBlobSize) {} +void PcaConnectorAdBuiltInParameters::SetFromClientConfiguration(const PcaConnectorAdClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PcaConnectorAdBuiltInParameters::SetFromClientConfiguration(const PcaConnectorAdClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PcaConnectorAdBuiltInParameters::SetServiceSpecificParameters(const PcaConnectorAdClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PcaConnectorAd } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepClient.h b/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepClient.h index a60740c00e05..6af32a00eb89 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepClient.h +++ b/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepClient.h @@ -59,27 +59,6 @@ class AWS_PCACONNECTORSCEP_API PcaConnectorScepClient : public Aws::Client::AWSJ const Aws::PcaConnectorScep::PcaConnectorScepClientConfiguration& clientConfiguration = Aws::PcaConnectorScep::PcaConnectorScepClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PcaConnectorScepClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PcaConnectorScepClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PcaConnectorScepClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PcaConnectorScepClient(); /** @@ -422,7 +401,6 @@ class AWS_PCACONNECTORSCEP_API PcaConnectorScepClient : public Aws::Client::AWSJ return SubmitAsync(&PcaConnectorScepClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepClientConfiguration.h b/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepClientConfiguration.h new file mode 100644 index 000000000000..b3dfca1c8a44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PcaConnectorScep { +struct AWS_PCACONNECTORSCEP_API PcaConnectorScepClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PcaConnectorScepClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PcaConnectorScepClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PcaConnectorScepClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PcaConnectorScepClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPcaConnectorScepSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PCACONNECTORSCEP_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PcaConnectorScepClientConfiguration& config); +} // namespace PcaConnectorScep +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepEndpointProvider.h b/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepEndpointProvider.h index 6cf467d220d1..96a5f697c5c4 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PcaConnectorScep { namespace Endpoint { +using PcaConnectorScepClientConfiguration = Aws::PcaConnectorScep::PcaConnectorScepClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PcaConnectorScepClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PcaConnectorScepClientConfiguration = Aws::Client::GenericClientConfiguration; -using PcaConnectorScepBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PCACONNECTORSCEP_API PcaConnectorScepBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PcaConnectorScepBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PcaConnectorScepClientConfiguration& config); + virtual void SetFromClientConfiguration(const PcaConnectorScepClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PcaConnectorScepClientConfiguration& config); +}; /** * The type for the PcaConnectorScep Client Endpoint Provider. @@ -34,6 +43,24 @@ using PcaConnectorScepEndpointProviderBase = using PcaConnectorScepDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PcaConnectorScep + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PCACONNECTORSCEP_EXTERN template class AWS_PCACONNECTORSCEP_API Aws::Endpoint::EndpointProviderBase< + PcaConnectorScep::Endpoint::PcaConnectorScepClientConfiguration, PcaConnectorScep::Endpoint::PcaConnectorScepBuiltInParameters, + PcaConnectorScep::Endpoint::PcaConnectorScepClientContextParameters>; + +AWS_PCACONNECTORSCEP_EXTERN template class AWS_PCACONNECTORSCEP_API Aws::Endpoint::BDDEndpointProvider< + PcaConnectorScep::Endpoint::PcaConnectorScepClientConfiguration, PcaConnectorScep::Endpoint::PcaConnectorScepBuiltInParameters, + PcaConnectorScep::Endpoint::PcaConnectorScepClientContextParameters>; +} // namespace Endpoint + +namespace PcaConnectorScep { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepServiceClientModel.h b/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepServiceClientModel.h index 6f16631e33dd..474848408041 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepServiceClientModel.h @@ -56,7 +56,6 @@ class RetryStrategy; } // namespace Client namespace PcaConnectorScep { -using PcaConnectorScepClientConfiguration = Aws::Client::GenericClientConfiguration; using PcaConnectorScepEndpointProviderBase = Aws::PcaConnectorScep::Endpoint::PcaConnectorScepEndpointProviderBase; using PcaConnectorScepEndpointProvider = Aws::PcaConnectorScep::Endpoint::PcaConnectorScepEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepClient.cpp b/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepClient.cpp index 29fb3c57b7fd..c56db67f53c3 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepClient.cpp +++ b/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepClient.cpp @@ -93,42 +93,6 @@ PcaConnectorScepClient::PcaConnectorScepClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PcaConnectorScepClient::PcaConnectorScepClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PcaConnectorScepClient::PcaConnectorScepClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PcaConnectorScepClient::~PcaConnectorScepClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PcaConnectorScepClient::accessEndpointProvider() { return m_endpointProvider; } @@ -146,12 +110,7 @@ void PcaConnectorScepClient::init(const PcaConnectorScep::PcaConnectorScepClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "pca-connector-scep"); -} - -void PcaConnectorScepClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PcaConnectorScepClient::InvokeOperationOutcome PcaConnectorScepClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepClientConfiguration.cpp new file mode 100644 index 000000000000..1b0f5c9ed5ee --- /dev/null +++ b/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PcaConnectorScep { + +void PcaConnectorScepClientConfiguration::LoadPcaConnectorScepSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PcaConnectorScepClientConfiguration::PcaConnectorScepClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPcaConnectorScepSpecificConfig(this->profileName); +} + +PcaConnectorScepClientConfiguration::PcaConnectorScepClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPcaConnectorScepSpecificConfig(Aws::String(inputProfileName)); +} + +PcaConnectorScepClientConfiguration::PcaConnectorScepClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPcaConnectorScepSpecificConfig(this->profileName); +} + +PcaConnectorScepClientConfiguration::PcaConnectorScepClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPcaConnectorScepSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PcaConnectorScepClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PcaConnectorScep +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepEndpointProvider.cpp index f9a39b108c7f..5d3af114895a 100644 --- a/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PCACONNECTORSCEP_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PcaConnectorScep { namespace Endpoint { PcaConnectorScepEndpointProvider::PcaConnectorScepEndpointProvider() : PcaConnectorScepDefaultEpProviderBase(Aws::PcaConnectorScep::PcaConnectorScepEndpointRules::GetRulesBlob(), Aws::PcaConnectorScep::PcaConnectorScepEndpointRules::RulesBlobSize) {} +void PcaConnectorScepBuiltInParameters::SetFromClientConfiguration(const PcaConnectorScepClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PcaConnectorScepBuiltInParameters::SetFromClientConfiguration(const PcaConnectorScepClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PcaConnectorScepBuiltInParameters::SetServiceSpecificParameters(const PcaConnectorScepClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PcaConnectorScep } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClient.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClient.h index 8d542da7cdf0..406259132c06 100644 --- a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClient.h +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClient.h @@ -72,27 +72,6 @@ class AWS_PCS_API PCSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::PCS::PCSClientConfiguration& clientConfiguration = Aws::PCS::PCSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PCSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PCSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PCSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PCSClient(); /** @@ -640,7 +619,6 @@ class AWS_PCS_API PCSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&PCSClient::UpdateQueue, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClientConfiguration.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClientConfiguration.h new file mode 100644 index 000000000000..4b8a8fb70fe5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PCS { +struct AWS_PCS_API PCSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PCSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PCSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PCSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PCSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPCSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PCS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PCSClientConfiguration& config); +} // namespace PCS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointProvider.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointProvider.h index 3871eba6bcba..f44d2885aa42 100644 --- a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PCS { namespace Endpoint { +using PCSClientConfiguration = Aws::PCS::PCSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PCSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PCSClientConfiguration = Aws::Client::GenericClientConfiguration; -using PCSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PCS_API PCSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PCSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PCSClientConfiguration& config); + virtual void SetFromClientConfiguration(const PCSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PCSClientConfiguration& config); +}; /** * The type for the PCS Client Endpoint Provider. @@ -32,6 +41,22 @@ using PCSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace PCS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PCS_EXTERN template class AWS_PCS_API Aws::Endpoint::EndpointProviderBase< + PCS::Endpoint::PCSClientConfiguration, PCS::Endpoint::PCSBuiltInParameters, PCS::Endpoint::PCSClientContextParameters>; + +AWS_PCS_EXTERN template class AWS_PCS_API Aws::Endpoint::BDDEndpointProvider< + PCS::Endpoint::PCSClientConfiguration, PCS::Endpoint::PCSBuiltInParameters, PCS::Endpoint::PCSClientContextParameters>; +} // namespace Endpoint + +namespace PCS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSServiceClientModel.h b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSServiceClientModel.h index c8c6372424a0..1bd84ca05afc 100644 --- a/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSServiceClientModel.h @@ -66,7 +66,6 @@ class RetryStrategy; } // namespace Client namespace PCS { -using PCSClientConfiguration = Aws::Client::GenericClientConfiguration; using PCSEndpointProviderBase = Aws::PCS::Endpoint::PCSEndpointProviderBase; using PCSEndpointProvider = Aws::PCS::Endpoint::PCSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSClient.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSClient.cpp index cc88be7ce943..a7475f87e17a 100644 --- a/generated/src/aws-cpp-sdk-pcs/source/PCSClient.cpp +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSClient.cpp @@ -94,41 +94,6 @@ PCSClient::PCSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PCSClient::PCSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PCSClient::PCSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PCSClient::PCSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PCSClient::~PCSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PCSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -146,12 +111,7 @@ void PCSClient::init(const PCS::PCSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "pcs"); -} - -void PCSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PCSClient::InvokeOperationOutcome PCSClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSClientConfiguration.cpp new file mode 100644 index 000000000000..3fdf4546e0d8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PCS { + +void PCSClientConfiguration::LoadPCSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PCSClientConfiguration::PCSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPCSSpecificConfig(this->profileName); +} + +PCSClientConfiguration::PCSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPCSSpecificConfig(Aws::String(inputProfileName)); +} + +PCSClientConfiguration::PCSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPCSSpecificConfig(this->profileName); +} + +PCSClientConfiguration::PCSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadPCSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PCSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PCS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointProvider.cpp index d5de934b2bda..fe084db80f88 100644 --- a/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pcs/source/PCSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_PCS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PCS { namespace Endpoint { PCSEndpointProvider::PCSEndpointProvider() : PCSDefaultEpProviderBase(Aws::PCS::PCSEndpointRules::GetRulesBlob(), Aws::PCS::PCSEndpointRules::RulesBlobSize) {} +void PCSBuiltInParameters::SetFromClientConfiguration(const PCSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PCSBuiltInParameters::SetFromClientConfiguration(const PCSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PCSBuiltInParameters::SetServiceSpecificParameters(const PCSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PCS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClient.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClient.h index f3ce3f05537a..9b0f5ef9b216 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClient.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClient.h @@ -60,27 +60,6 @@ class AWS_PERSONALIZEEVENTS_API PersonalizeEventsClient : public Aws::Client::AW const Aws::PersonalizeEvents::PersonalizeEventsClientConfiguration& clientConfiguration = Aws::PersonalizeEvents::PersonalizeEventsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PersonalizeEventsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PersonalizeEventsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PersonalizeEventsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PersonalizeEventsClient(); /** @@ -225,7 +204,6 @@ class AWS_PERSONALIZEEVENTS_API PersonalizeEventsClient : public Aws::Client::AW return SubmitAsync(&PersonalizeEventsClient::PutUsers, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClientConfiguration.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClientConfiguration.h new file mode 100644 index 000000000000..fce6b4d1a448 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PersonalizeEvents { +struct AWS_PERSONALIZEEVENTS_API PersonalizeEventsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PersonalizeEventsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PersonalizeEventsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PersonalizeEventsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PersonalizeEventsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPersonalizeEventsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PERSONALIZEEVENTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PersonalizeEventsClientConfiguration& config); +} // namespace PersonalizeEvents +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsEndpointProvider.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsEndpointProvider.h index e0c7c009645a..a21e26b558e1 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PersonalizeEvents { namespace Endpoint { +using PersonalizeEventsClientConfiguration = Aws::PersonalizeEvents::PersonalizeEventsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PersonalizeEventsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PersonalizeEventsClientConfiguration = Aws::Client::GenericClientConfiguration; -using PersonalizeEventsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PERSONALIZEEVENTS_API PersonalizeEventsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PersonalizeEventsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PersonalizeEventsClientConfiguration& config); + virtual void SetFromClientConfiguration(const PersonalizeEventsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PersonalizeEventsClientConfiguration& config); +}; /** * The type for the PersonalizeEvents Client Endpoint Provider. @@ -34,6 +43,24 @@ using PersonalizeEventsEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace PersonalizeEvents + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PERSONALIZEEVENTS_EXTERN template class AWS_PERSONALIZEEVENTS_API Aws::Endpoint::EndpointProviderBase< + PersonalizeEvents::Endpoint::PersonalizeEventsClientConfiguration, PersonalizeEvents::Endpoint::PersonalizeEventsBuiltInParameters, + PersonalizeEvents::Endpoint::PersonalizeEventsClientContextParameters>; + +AWS_PERSONALIZEEVENTS_EXTERN template class AWS_PERSONALIZEEVENTS_API Aws::Endpoint::BDDEndpointProvider< + PersonalizeEvents::Endpoint::PersonalizeEventsClientConfiguration, PersonalizeEvents::Endpoint::PersonalizeEventsBuiltInParameters, + PersonalizeEvents::Endpoint::PersonalizeEventsClientContextParameters>; +} // namespace Endpoint + +namespace PersonalizeEvents { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsServiceClientModel.h b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsServiceClientModel.h index 96d4b9de450d..a44405f3c15f 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace PersonalizeEvents { -using PersonalizeEventsClientConfiguration = Aws::Client::GenericClientConfiguration; using PersonalizeEventsEndpointProviderBase = Aws::PersonalizeEvents::Endpoint::PersonalizeEventsEndpointProviderBase; using PersonalizeEventsEndpointProvider = Aws::PersonalizeEvents::Endpoint::PersonalizeEventsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClient.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClient.cpp index 4aa37415780f..554ffd56dd92 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClient.cpp +++ b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClient.cpp @@ -86,42 +86,6 @@ PersonalizeEventsClient::PersonalizeEventsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PersonalizeEventsClient::PersonalizeEventsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PersonalizeEventsClient::PersonalizeEventsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PersonalizeEventsClient::~PersonalizeEventsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PersonalizeEventsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +103,7 @@ void PersonalizeEventsClient::init(const PersonalizeEvents::PersonalizeEventsCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "personalize"); -} - -void PersonalizeEventsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PersonalizeEventsClient::InvokeOperationOutcome PersonalizeEventsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClientConfiguration.cpp new file mode 100644 index 000000000000..cc50ed7d4406 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PersonalizeEvents { + +void PersonalizeEventsClientConfiguration::LoadPersonalizeEventsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PersonalizeEventsClientConfiguration::PersonalizeEventsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPersonalizeEventsSpecificConfig(this->profileName); +} + +PersonalizeEventsClientConfiguration::PersonalizeEventsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPersonalizeEventsSpecificConfig(Aws::String(inputProfileName)); +} + +PersonalizeEventsClientConfiguration::PersonalizeEventsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPersonalizeEventsSpecificConfig(this->profileName); +} + +PersonalizeEventsClientConfiguration::PersonalizeEventsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPersonalizeEventsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PersonalizeEventsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PersonalizeEvents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsEndpointProvider.cpp index f54bfa661970..a4ecd9980b4b 100644 --- a/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PERSONALIZEEVENTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PersonalizeEvents { namespace Endpoint { PersonalizeEventsEndpointProvider::PersonalizeEventsEndpointProvider() : PersonalizeEventsDefaultEpProviderBase(Aws::PersonalizeEvents::PersonalizeEventsEndpointRules::GetRulesBlob(), Aws::PersonalizeEvents::PersonalizeEventsEndpointRules::RulesBlobSize) {} +void PersonalizeEventsBuiltInParameters::SetFromClientConfiguration(const PersonalizeEventsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PersonalizeEventsBuiltInParameters::SetFromClientConfiguration(const PersonalizeEventsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PersonalizeEventsBuiltInParameters::SetServiceSpecificParameters(const PersonalizeEventsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PersonalizeEvents } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClient.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClient.h index 423a6ee9d4fa..e5af36cc428d 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClient.h @@ -56,27 +56,6 @@ class AWS_PERSONALIZERUNTIME_API PersonalizeRuntimeClient : public Aws::Client:: const Aws::PersonalizeRuntime::PersonalizeRuntimeClientConfiguration& clientConfiguration = Aws::PersonalizeRuntime::PersonalizeRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PersonalizeRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PersonalizeRuntimeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PersonalizeRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PersonalizeRuntimeClient(); /** @@ -184,7 +163,6 @@ class AWS_PERSONALIZERUNTIME_API PersonalizeRuntimeClient : public Aws::Client:: return SubmitAsync(&PersonalizeRuntimeClient::GetRecommendations, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClientConfiguration.h new file mode 100644 index 000000000000..cec9be4f1373 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PersonalizeRuntime { +struct AWS_PERSONALIZERUNTIME_API PersonalizeRuntimeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PersonalizeRuntimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PersonalizeRuntimeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PersonalizeRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PersonalizeRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPersonalizeRuntimeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PERSONALIZERUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PersonalizeRuntimeClientConfiguration& config); +} // namespace PersonalizeRuntime +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeEndpointProvider.h index ffa5db1c68cb..d93a2b6b39fe 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PersonalizeRuntime { namespace Endpoint { +using PersonalizeRuntimeClientConfiguration = Aws::PersonalizeRuntime::PersonalizeRuntimeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PersonalizeRuntimeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PersonalizeRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; -using PersonalizeRuntimeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PERSONALIZERUNTIME_API PersonalizeRuntimeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PersonalizeRuntimeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PersonalizeRuntimeClientConfiguration& config); + virtual void SetFromClientConfiguration(const PersonalizeRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PersonalizeRuntimeClientConfiguration& config); +}; /** * The type for the PersonalizeRuntime Client Endpoint Provider. @@ -36,6 +45,24 @@ using PersonalizeRuntimeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PersonalizeRuntime + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PERSONALIZERUNTIME_EXTERN template class AWS_PERSONALIZERUNTIME_API Aws::Endpoint::EndpointProviderBase< + PersonalizeRuntime::Endpoint::PersonalizeRuntimeClientConfiguration, PersonalizeRuntime::Endpoint::PersonalizeRuntimeBuiltInParameters, + PersonalizeRuntime::Endpoint::PersonalizeRuntimeClientContextParameters>; + +AWS_PERSONALIZERUNTIME_EXTERN template class AWS_PERSONALIZERUNTIME_API Aws::Endpoint::BDDEndpointProvider< + PersonalizeRuntime::Endpoint::PersonalizeRuntimeClientConfiguration, PersonalizeRuntime::Endpoint::PersonalizeRuntimeBuiltInParameters, + PersonalizeRuntime::Endpoint::PersonalizeRuntimeClientContextParameters>; +} // namespace Endpoint + +namespace PersonalizeRuntime { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeServiceClientModel.h b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeServiceClientModel.h index 85ce57a989e9..032b8889cdb4 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace PersonalizeRuntime { -using PersonalizeRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; using PersonalizeRuntimeEndpointProviderBase = Aws::PersonalizeRuntime::Endpoint::PersonalizeRuntimeEndpointProviderBase; using PersonalizeRuntimeEndpointProvider = Aws::PersonalizeRuntime::Endpoint::PersonalizeRuntimeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClient.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClient.cpp index b535cb197ca4..244d4dc938eb 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClient.cpp @@ -84,42 +84,6 @@ PersonalizeRuntimeClient::PersonalizeRuntimeClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PersonalizeRuntimeClient::PersonalizeRuntimeClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PersonalizeRuntimeClient::PersonalizeRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PersonalizeRuntimeClient::~PersonalizeRuntimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PersonalizeRuntimeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -137,12 +101,7 @@ void PersonalizeRuntimeClient::init(const PersonalizeRuntime::PersonalizeRuntime AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "personalize"); -} - -void PersonalizeRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PersonalizeRuntimeClient::InvokeOperationOutcome PersonalizeRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClientConfiguration.cpp new file mode 100644 index 000000000000..34584cca18dd --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PersonalizeRuntime { + +void PersonalizeRuntimeClientConfiguration::LoadPersonalizeRuntimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PersonalizeRuntimeClientConfiguration::PersonalizeRuntimeClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPersonalizeRuntimeSpecificConfig(this->profileName); +} + +PersonalizeRuntimeClientConfiguration::PersonalizeRuntimeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPersonalizeRuntimeSpecificConfig(Aws::String(inputProfileName)); +} + +PersonalizeRuntimeClientConfiguration::PersonalizeRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPersonalizeRuntimeSpecificConfig(this->profileName); +} + +PersonalizeRuntimeClientConfiguration::PersonalizeRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPersonalizeRuntimeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PersonalizeRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PersonalizeRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeEndpointProvider.cpp index f2e3d8539b0b..8cb2d0c8c8ad 100644 --- a/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PERSONALIZERUNTIME_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PersonalizeRuntime { namespace Endpoint { PersonalizeRuntimeEndpointProvider::PersonalizeRuntimeEndpointProvider() : PersonalizeRuntimeDefaultEpProviderBase(Aws::PersonalizeRuntime::PersonalizeRuntimeEndpointRules::GetRulesBlob(), Aws::PersonalizeRuntime::PersonalizeRuntimeEndpointRules::RulesBlobSize) {} +void PersonalizeRuntimeBuiltInParameters::SetFromClientConfiguration(const PersonalizeRuntimeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PersonalizeRuntimeBuiltInParameters::SetFromClientConfiguration(const PersonalizeRuntimeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PersonalizeRuntimeBuiltInParameters::SetServiceSpecificParameters(const PersonalizeRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PersonalizeRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClient.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClient.h index a730c5573123..2e6abedda45c 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClient.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClient.h @@ -56,27 +56,6 @@ class AWS_PERSONALIZE_API PersonalizeClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Personalize::PersonalizeClientConfiguration& clientConfiguration = Aws::Personalize::PersonalizeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PersonalizeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PersonalizeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PersonalizeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PersonalizeClient(); /** @@ -2518,7 +2497,6 @@ class AWS_PERSONALIZE_API PersonalizeClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&PersonalizeClient::UpdateSolution, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClientConfiguration.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClientConfiguration.h new file mode 100644 index 000000000000..de924a28d401 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Personalize { +struct AWS_PERSONALIZE_API PersonalizeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PersonalizeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PersonalizeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PersonalizeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PersonalizeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPersonalizeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PERSONALIZE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PersonalizeClientConfiguration& config); +} // namespace Personalize +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeEndpointProvider.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeEndpointProvider.h index 691290dd5e92..c27e7a8f2b8a 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Personalize { namespace Endpoint { +using PersonalizeClientConfiguration = Aws::Personalize::PersonalizeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PersonalizeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PersonalizeClientConfiguration = Aws::Client::GenericClientConfiguration; -using PersonalizeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PERSONALIZE_API PersonalizeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PersonalizeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PersonalizeClientConfiguration& config); + virtual void SetFromClientConfiguration(const PersonalizeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PersonalizeClientConfiguration& config); +}; /** * The type for the Personalize Client Endpoint Provider. @@ -34,6 +43,24 @@ using PersonalizeEndpointProviderBase = using PersonalizeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Personalize + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PERSONALIZE_EXTERN template class AWS_PERSONALIZE_API Aws::Endpoint::EndpointProviderBase< + Personalize::Endpoint::PersonalizeClientConfiguration, Personalize::Endpoint::PersonalizeBuiltInParameters, + Personalize::Endpoint::PersonalizeClientContextParameters>; + +AWS_PERSONALIZE_EXTERN template class AWS_PERSONALIZE_API Aws::Endpoint::BDDEndpointProvider< + Personalize::Endpoint::PersonalizeClientConfiguration, Personalize::Endpoint::PersonalizeBuiltInParameters, + Personalize::Endpoint::PersonalizeClientContextParameters>; +} // namespace Endpoint + +namespace Personalize { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeServiceClientModel.h b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeServiceClientModel.h index 37a490ecbc08..cb4f36dc76d7 100644 --- a/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeServiceClientModel.h @@ -126,7 +126,6 @@ class RetryStrategy; } // namespace Client namespace Personalize { -using PersonalizeClientConfiguration = Aws::Client::GenericClientConfiguration; using PersonalizeEndpointProviderBase = Aws::Personalize::Endpoint::PersonalizeEndpointProviderBase; using PersonalizeEndpointProvider = Aws::Personalize::Endpoint::PersonalizeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-personalize/source/PersonalizeClient.cpp b/generated/src/aws-cpp-sdk-personalize/source/PersonalizeClient.cpp index 8f9b34f6da18..afd8ef95174c 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/PersonalizeClient.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/PersonalizeClient.cpp @@ -148,41 +148,6 @@ PersonalizeClient::PersonalizeClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PersonalizeClient::PersonalizeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PersonalizeClient::PersonalizeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PersonalizeClient::~PersonalizeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PersonalizeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -200,12 +165,7 @@ void PersonalizeClient::init(const Personalize::PersonalizeClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "personalize"); -} - -void PersonalizeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PersonalizeClient::InvokeOperationOutcome PersonalizeClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-personalize/source/PersonalizeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-personalize/source/PersonalizeClientConfiguration.cpp new file mode 100644 index 000000000000..ee8bca85c292 --- /dev/null +++ b/generated/src/aws-cpp-sdk-personalize/source/PersonalizeClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Personalize { + +void PersonalizeClientConfiguration::LoadPersonalizeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PersonalizeClientConfiguration::PersonalizeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPersonalizeSpecificConfig(this->profileName); +} + +PersonalizeClientConfiguration::PersonalizeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPersonalizeSpecificConfig(Aws::String(inputProfileName)); +} + +PersonalizeClientConfiguration::PersonalizeClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPersonalizeSpecificConfig(this->profileName); +} + +PersonalizeClientConfiguration::PersonalizeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPersonalizeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PersonalizeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Personalize +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-personalize/source/PersonalizeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-personalize/source/PersonalizeEndpointProvider.cpp index 8c639f83e254..22e676a1bb9e 100644 --- a/generated/src/aws-cpp-sdk-personalize/source/PersonalizeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-personalize/source/PersonalizeEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PERSONALIZE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Personalize { namespace Endpoint { PersonalizeEndpointProvider::PersonalizeEndpointProvider() : PersonalizeDefaultEpProviderBase(Aws::Personalize::PersonalizeEndpointRules::GetRulesBlob(), Aws::Personalize::PersonalizeEndpointRules::RulesBlobSize) {} +void PersonalizeBuiltInParameters::SetFromClientConfiguration(const PersonalizeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PersonalizeBuiltInParameters::SetFromClientConfiguration(const PersonalizeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PersonalizeBuiltInParameters::SetServiceSpecificParameters(const PersonalizeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Personalize } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIClient.h b/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIClient.h index 78c1614416e4..07a16798d881 100644 --- a/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIClient.h +++ b/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIClient.h @@ -74,27 +74,6 @@ class AWS_PI_API PIClient : public Aws::Client::AWSRpcV2CborClient, std::shared_ptr endpointProvider = nullptr, const Aws::PI::PIClientConfiguration& clientConfiguration = Aws::PI::PIClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PIClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PIClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PIClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PIClient(); /** @@ -510,7 +489,6 @@ class AWS_PI_API PIClient : public Aws::Client::AWSRpcV2CborClient, return SubmitAsync(&PIClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIClientConfiguration.h b/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIClientConfiguration.h new file mode 100644 index 000000000000..9830c133157e --- /dev/null +++ b/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PI { +struct AWS_PI_API PIClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PIClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PIClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PIClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PIClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPISpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PI_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PIClientConfiguration& config); +} // namespace PI +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIEndpointProvider.h b/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIEndpointProvider.h index 7b596ef01faa..52cf8b9b601a 100644 --- a/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PI { namespace Endpoint { +using PIClientConfiguration = Aws::PI::PIClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PIClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PIClientConfiguration = Aws::Client::GenericClientConfiguration; -using PIBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PI_API PIBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PIBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PIClientConfiguration& config); + virtual void SetFromClientConfiguration(const PIClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PIClientConfiguration& config); +}; /** * The type for the PI Client Endpoint Provider. @@ -32,6 +41,22 @@ using PIEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace PI + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PI_EXTERN template class AWS_PI_API Aws::Endpoint::EndpointProviderBase< + PI::Endpoint::PIClientConfiguration, PI::Endpoint::PIBuiltInParameters, PI::Endpoint::PIClientContextParameters>; + +AWS_PI_EXTERN template class AWS_PI_API Aws::Endpoint::BDDEndpointProvider< + PI::Endpoint::PIClientConfiguration, PI::Endpoint::PIBuiltInParameters, PI::Endpoint::PIClientContextParameters>; +} // namespace Endpoint + +namespace PI { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIServiceClientModel.h b/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIServiceClientModel.h index d97e10fa26c7..7d3d9ad93dac 100644 --- a/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pi/include/aws/pi/PIServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace PI { -using PIClientConfiguration = Aws::Client::GenericClientConfiguration; using PIEndpointProviderBase = Aws::PI::Endpoint::PIEndpointProviderBase; using PIEndpointProvider = Aws::PI::Endpoint::PIEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pi/source/PIClient.cpp b/generated/src/aws-cpp-sdk-pi/source/PIClient.cpp index 6c5bc7e7def4..19c94ac855ea 100644 --- a/generated/src/aws-cpp-sdk-pi/source/PIClient.cpp +++ b/generated/src/aws-cpp-sdk-pi/source/PIClient.cpp @@ -89,41 +89,6 @@ PIClient::PIClient(const std::shared_ptr& credentialsPro init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PIClient::PIClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PIClient::PIClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PIClient::PIClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PIClient::~PIClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PIClient::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +106,7 @@ void PIClient::init(const PI::PIClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "pi"); -} - -void PIClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PIClient::InvokeOperationOutcome PIClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-pi/source/PIClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pi/source/PIClientConfiguration.cpp new file mode 100644 index 000000000000..b4b9be3f240c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pi/source/PIClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PI { + +void PIClientConfiguration::LoadPISpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PIClientConfiguration::PIClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPISpecificConfig(this->profileName); +} + +PIClientConfiguration::PIClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPISpecificConfig(Aws::String(inputProfileName)); +} + +PIClientConfiguration::PIClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPISpecificConfig(this->profileName); +} + +PIClientConfiguration::PIClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadPISpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PIClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PI +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pi/source/PIEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pi/source/PIEndpointProvider.cpp index 6b16bbdb5579..35aeec408e58 100644 --- a/generated/src/aws-cpp-sdk-pi/source/PIEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pi/source/PIEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_PI_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PI { namespace Endpoint { PIEndpointProvider::PIEndpointProvider() : PIDefaultEpProviderBase(Aws::PI::PIEndpointRules::GetRulesBlob(), Aws::PI::PIEndpointRules::RulesBlobSize) {} +void PIBuiltInParameters::SetFromClientConfiguration(const PIClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PIBuiltInParameters::SetFromClientConfiguration(const PIClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PIBuiltInParameters::SetServiceSpecificParameters(const PIClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PI } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailClient.h b/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailClient.h index 826307638235..111290e9d5a5 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailClient.h +++ b/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailClient.h @@ -89,27 +89,6 @@ class AWS_PINPOINTEMAIL_API PinpointEmailClient : public Aws::Client::AWSJsonCli const Aws::PinpointEmail::PinpointEmailClientConfiguration& clientConfiguration = Aws::PinpointEmail::PinpointEmailClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PinpointEmailClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PinpointEmailClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PinpointEmailClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PinpointEmailClient(); /** @@ -1432,7 +1411,6 @@ class AWS_PINPOINTEMAIL_API PinpointEmailClient : public Aws::Client::AWSJsonCli return SubmitAsync(&PinpointEmailClient::UpdateConfigurationSetEventDestination, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailClientConfiguration.h b/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailClientConfiguration.h new file mode 100644 index 000000000000..b5efd9a9d26c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PinpointEmail { +struct AWS_PINPOINTEMAIL_API PinpointEmailClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PinpointEmailClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PinpointEmailClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PinpointEmailClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PinpointEmailClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPinpointEmailSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PINPOINTEMAIL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PinpointEmailClientConfiguration& config); +} // namespace PinpointEmail +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailEndpointProvider.h b/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailEndpointProvider.h index e5f1a7f6ed49..efebafbb9c39 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PinpointEmail { namespace Endpoint { +using PinpointEmailClientConfiguration = Aws::PinpointEmail::PinpointEmailClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PinpointEmailClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PinpointEmailClientConfiguration = Aws::Client::GenericClientConfiguration; -using PinpointEmailBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PINPOINTEMAIL_API PinpointEmailBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PinpointEmailBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PinpointEmailClientConfiguration& config); + virtual void SetFromClientConfiguration(const PinpointEmailClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PinpointEmailClientConfiguration& config); +}; /** * The type for the PinpointEmail Client Endpoint Provider. @@ -34,6 +43,24 @@ using PinpointEmailEndpointProviderBase = using PinpointEmailDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PinpointEmail + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PINPOINTEMAIL_EXTERN template class AWS_PINPOINTEMAIL_API Aws::Endpoint::EndpointProviderBase< + PinpointEmail::Endpoint::PinpointEmailClientConfiguration, PinpointEmail::Endpoint::PinpointEmailBuiltInParameters, + PinpointEmail::Endpoint::PinpointEmailClientContextParameters>; + +AWS_PINPOINTEMAIL_EXTERN template class AWS_PINPOINTEMAIL_API Aws::Endpoint::BDDEndpointProvider< + PinpointEmail::Endpoint::PinpointEmailClientConfiguration, PinpointEmail::Endpoint::PinpointEmailBuiltInParameters, + PinpointEmail::Endpoint::PinpointEmailClientContextParameters>; +} // namespace Endpoint + +namespace PinpointEmail { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailServiceClientModel.h b/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailServiceClientModel.h index fc42f791723a..31aa09804d7f 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailServiceClientModel.h @@ -97,7 +97,6 @@ class RetryStrategy; } // namespace Client namespace PinpointEmail { -using PinpointEmailClientConfiguration = Aws::Client::GenericClientConfiguration; using PinpointEmailEndpointProviderBase = Aws::PinpointEmail::Endpoint::PinpointEmailEndpointProviderBase; using PinpointEmailEndpointProvider = Aws::PinpointEmail::Endpoint::PinpointEmailEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailClient.cpp b/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailClient.cpp index 1c49fb2559ae..0466d9bf9488 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailClient.cpp +++ b/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailClient.cpp @@ -120,41 +120,6 @@ PinpointEmailClient::PinpointEmailClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PinpointEmailClient::PinpointEmailClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PinpointEmailClient::PinpointEmailClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PinpointEmailClient::~PinpointEmailClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PinpointEmailClient::accessEndpointProvider() { return m_endpointProvider; } @@ -172,12 +137,7 @@ void PinpointEmailClient::init(const PinpointEmail::PinpointEmailClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ses"); -} - -void PinpointEmailClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PinpointEmailClient::InvokeOperationOutcome PinpointEmailClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailClientConfiguration.cpp new file mode 100644 index 000000000000..880dcd398bfc --- /dev/null +++ b/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PinpointEmail { + +void PinpointEmailClientConfiguration::LoadPinpointEmailSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PinpointEmailClientConfiguration::PinpointEmailClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPinpointEmailSpecificConfig(this->profileName); +} + +PinpointEmailClientConfiguration::PinpointEmailClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPinpointEmailSpecificConfig(Aws::String(inputProfileName)); +} + +PinpointEmailClientConfiguration::PinpointEmailClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPinpointEmailSpecificConfig(this->profileName); +} + +PinpointEmailClientConfiguration::PinpointEmailClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPinpointEmailSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PinpointEmailClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PinpointEmail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailEndpointProvider.cpp index 9f66480212b4..e09f9d3ae075 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PINPOINTEMAIL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PinpointEmail { namespace Endpoint { PinpointEmailEndpointProvider::PinpointEmailEndpointProvider() : PinpointEmailDefaultEpProviderBase(Aws::PinpointEmail::PinpointEmailEndpointRules::GetRulesBlob(), Aws::PinpointEmail::PinpointEmailEndpointRules::RulesBlobSize) {} +void PinpointEmailBuiltInParameters::SetFromClientConfiguration(const PinpointEmailClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PinpointEmailBuiltInParameters::SetFromClientConfiguration(const PinpointEmailClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PinpointEmailBuiltInParameters::SetServiceSpecificParameters(const PinpointEmailClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PinpointEmail } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2Client.h b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2Client.h index 60a4631980be..a5f5b6702dde 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2Client.h +++ b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2Client.h @@ -92,27 +92,6 @@ class AWS_PINPOINTSMSVOICEV2_API PinpointSMSVoiceV2Client : public Aws::Client:: const Aws::PinpointSMSVoiceV2::PinpointSMSVoiceV2ClientConfiguration& clientConfiguration = Aws::PinpointSMSVoiceV2::PinpointSMSVoiceV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PinpointSMSVoiceV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PinpointSMSVoiceV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PinpointSMSVoiceV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PinpointSMSVoiceV2Client(); /** @@ -3513,7 +3492,6 @@ class AWS_PINPOINTSMSVOICEV2_API PinpointSMSVoiceV2Client : public Aws::Client:: return SubmitAsync(&PinpointSMSVoiceV2Client::VerifyDestinationNumber, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2ClientConfiguration.h new file mode 100644 index 000000000000..9a90662474d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PinpointSMSVoiceV2 { +struct AWS_PINPOINTSMSVOICEV2_API PinpointSMSVoiceV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PinpointSMSVoiceV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PinpointSMSVoiceV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PinpointSMSVoiceV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PinpointSMSVoiceV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPinpointSMSVoiceV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PINPOINTSMSVOICEV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PinpointSMSVoiceV2ClientConfiguration& config); +} // namespace PinpointSMSVoiceV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2EndpointProvider.h b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2EndpointProvider.h index 12214a57467e..123ba76d06b5 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PinpointSMSVoiceV2 { namespace Endpoint { +using PinpointSMSVoiceV2ClientConfiguration = Aws::PinpointSMSVoiceV2::PinpointSMSVoiceV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PinpointSMSVoiceV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PinpointSMSVoiceV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using PinpointSMSVoiceV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PINPOINTSMSVOICEV2_API PinpointSMSVoiceV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PinpointSMSVoiceV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PinpointSMSVoiceV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const PinpointSMSVoiceV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PinpointSMSVoiceV2ClientConfiguration& config); +}; /** * The type for the PinpointSMSVoiceV2 Client Endpoint Provider. @@ -36,6 +45,24 @@ using PinpointSMSVoiceV2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PinpointSMSVoiceV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PINPOINTSMSVOICEV2_EXTERN template class AWS_PINPOINTSMSVOICEV2_API Aws::Endpoint::EndpointProviderBase< + PinpointSMSVoiceV2::Endpoint::PinpointSMSVoiceV2ClientConfiguration, PinpointSMSVoiceV2::Endpoint::PinpointSMSVoiceV2BuiltInParameters, + PinpointSMSVoiceV2::Endpoint::PinpointSMSVoiceV2ClientContextParameters>; + +AWS_PINPOINTSMSVOICEV2_EXTERN template class AWS_PINPOINTSMSVOICEV2_API Aws::Endpoint::BDDEndpointProvider< + PinpointSMSVoiceV2::Endpoint::PinpointSMSVoiceV2ClientConfiguration, PinpointSMSVoiceV2::Endpoint::PinpointSMSVoiceV2BuiltInParameters, + PinpointSMSVoiceV2::Endpoint::PinpointSMSVoiceV2ClientContextParameters>; +} // namespace Endpoint + +namespace PinpointSMSVoiceV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2ServiceClientModel.h index de1c208a5553..72a8f347210d 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2ServiceClientModel.h @@ -182,7 +182,6 @@ class RetryStrategy; } // namespace Client namespace PinpointSMSVoiceV2 { -using PinpointSMSVoiceV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using PinpointSMSVoiceV2EndpointProviderBase = Aws::PinpointSMSVoiceV2::Endpoint::PinpointSMSVoiceV2EndpointProviderBase; using PinpointSMSVoiceV2EndpointProvider = Aws::PinpointSMSVoiceV2::Endpoint::PinpointSMSVoiceV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2Client.cpp b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2Client.cpp index 42fac92fb357..0957c9dc55f3 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2Client.cpp +++ b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2Client.cpp @@ -191,42 +191,6 @@ PinpointSMSVoiceV2Client::PinpointSMSVoiceV2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PinpointSMSVoiceV2Client::PinpointSMSVoiceV2Client(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PinpointSMSVoiceV2Client::PinpointSMSVoiceV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PinpointSMSVoiceV2Client::~PinpointSMSVoiceV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& PinpointSMSVoiceV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -244,12 +208,7 @@ void PinpointSMSVoiceV2Client::init(const PinpointSMSVoiceV2::PinpointSMSVoiceV2 AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sms-voice"); -} - -void PinpointSMSVoiceV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PinpointSMSVoiceV2Client::InvokeOperationOutcome PinpointSMSVoiceV2Client::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2ClientConfiguration.cpp new file mode 100644 index 000000000000..aca6a65db26f --- /dev/null +++ b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2ClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PinpointSMSVoiceV2 { + +void PinpointSMSVoiceV2ClientConfiguration::LoadPinpointSMSVoiceV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PinpointSMSVoiceV2ClientConfiguration::PinpointSMSVoiceV2ClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPinpointSMSVoiceV2SpecificConfig(this->profileName); +} + +PinpointSMSVoiceV2ClientConfiguration::PinpointSMSVoiceV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPinpointSMSVoiceV2SpecificConfig(Aws::String(inputProfileName)); +} + +PinpointSMSVoiceV2ClientConfiguration::PinpointSMSVoiceV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPinpointSMSVoiceV2SpecificConfig(this->profileName); +} + +PinpointSMSVoiceV2ClientConfiguration::PinpointSMSVoiceV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPinpointSMSVoiceV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PinpointSMSVoiceV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PinpointSMSVoiceV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2EndpointProvider.cpp index 5dc9e6725622..99c8cbd780aa 100644 --- a/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PINPOINTSMSVOICEV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PinpointSMSVoiceV2 { namespace Endpoint { PinpointSMSVoiceV2EndpointProvider::PinpointSMSVoiceV2EndpointProvider() : PinpointSMSVoiceV2DefaultEpProviderBase(Aws::PinpointSMSVoiceV2::PinpointSMSVoiceV2EndpointRules::GetRulesBlob(), Aws::PinpointSMSVoiceV2::PinpointSMSVoiceV2EndpointRules::RulesBlobSize) {} +void PinpointSMSVoiceV2BuiltInParameters::SetFromClientConfiguration(const PinpointSMSVoiceV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PinpointSMSVoiceV2BuiltInParameters::SetFromClientConfiguration(const PinpointSMSVoiceV2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PinpointSMSVoiceV2BuiltInParameters::SetServiceSpecificParameters(const PinpointSMSVoiceV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PinpointSMSVoiceV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointClient.h b/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointClient.h index a4170f683e5f..bac68d776bdd 100644 --- a/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointClient.h +++ b/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointClient.h @@ -52,27 +52,6 @@ class AWS_PINPOINT_API PinpointClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Pinpoint::PinpointClientConfiguration& clientConfiguration = Aws::Pinpoint::PinpointClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PinpointClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PinpointClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PinpointClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PinpointClient(); /** @@ -3375,7 +3354,6 @@ class AWS_PINPOINT_API PinpointClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&PinpointClient::VerifyOTPMessage, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointClientConfiguration.h b/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointClientConfiguration.h new file mode 100644 index 000000000000..9677782fecd2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Pinpoint { +struct AWS_PINPOINT_API PinpointClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PinpointClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PinpointClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PinpointClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PinpointClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPinpointSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PINPOINT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PinpointClientConfiguration& config); +} // namespace Pinpoint +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointEndpointProvider.h b/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointEndpointProvider.h index 9fe30d5b87be..e0492b37bd26 100644 --- a/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Pinpoint { namespace Endpoint { +using PinpointClientConfiguration = Aws::Pinpoint::PinpointClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PinpointClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PinpointClientConfiguration = Aws::Client::GenericClientConfiguration; -using PinpointBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PINPOINT_API PinpointBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PinpointBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PinpointClientConfiguration& config); + virtual void SetFromClientConfiguration(const PinpointClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PinpointClientConfiguration& config); +}; /** * The type for the Pinpoint Client Endpoint Provider. @@ -34,6 +43,24 @@ using PinpointEndpointProviderBase = using PinpointDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Pinpoint + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PINPOINT_EXTERN template class AWS_PINPOINT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PINPOINT_EXTERN template class AWS_PINPOINT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Pinpoint { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointServiceClientModel.h b/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointServiceClientModel.h index 012450e51550..7293ba98d145 100644 --- a/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointServiceClientModel.h @@ -170,7 +170,6 @@ class RetryStrategy; } // namespace Client namespace Pinpoint { -using PinpointClientConfiguration = Aws::Client::GenericClientConfiguration; using PinpointEndpointProviderBase = Aws::Pinpoint::Endpoint::PinpointEndpointProviderBase; using PinpointEndpointProvider = Aws::Pinpoint::Endpoint::PinpointEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pinpoint/source/PinpointClient.cpp b/generated/src/aws-cpp-sdk-pinpoint/source/PinpointClient.cpp index e2952e5343e0..b6093b670147 100644 --- a/generated/src/aws-cpp-sdk-pinpoint/source/PinpointClient.cpp +++ b/generated/src/aws-cpp-sdk-pinpoint/source/PinpointClient.cpp @@ -199,41 +199,6 @@ PinpointClient::PinpointClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PinpointClient::PinpointClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PinpointClient::PinpointClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PinpointClient::PinpointClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PinpointClient::~PinpointClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PinpointClient::accessEndpointProvider() { return m_endpointProvider; } @@ -251,12 +216,7 @@ void PinpointClient::init(const Pinpoint::PinpointClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "mobiletargeting"); -} - -void PinpointClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PinpointClient::InvokeOperationOutcome PinpointClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-pinpoint/source/PinpointClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pinpoint/source/PinpointClientConfiguration.cpp new file mode 100644 index 000000000000..2662be83a28e --- /dev/null +++ b/generated/src/aws-cpp-sdk-pinpoint/source/PinpointClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Pinpoint { + +void PinpointClientConfiguration::LoadPinpointSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PinpointClientConfiguration::PinpointClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPinpointSpecificConfig(this->profileName); +} + +PinpointClientConfiguration::PinpointClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPinpointSpecificConfig(Aws::String(inputProfileName)); +} + +PinpointClientConfiguration::PinpointClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPinpointSpecificConfig(this->profileName); +} + +PinpointClientConfiguration::PinpointClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPinpointSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PinpointClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Pinpoint +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pinpoint/source/PinpointEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pinpoint/source/PinpointEndpointProvider.cpp index 54bac89c93b8..b6af3d6ad8a3 100644 --- a/generated/src/aws-cpp-sdk-pinpoint/source/PinpointEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pinpoint/source/PinpointEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_PINPOINT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Pinpoint { namespace Endpoint { PinpointEndpointProvider::PinpointEndpointProvider() : PinpointDefaultEpProviderBase(Aws::Pinpoint::PinpointEndpointRules::GetRulesBlob(), Aws::Pinpoint::PinpointEndpointRules::RulesBlobSize) {} +void PinpointBuiltInParameters::SetFromClientConfiguration(const PinpointClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PinpointBuiltInParameters::SetFromClientConfiguration(const PinpointClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PinpointBuiltInParameters::SetServiceSpecificParameters(const PinpointClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Pinpoint } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesClient.h b/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesClient.h index 0a07dfc169e5..8405986814db 100644 --- a/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesClient.h +++ b/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesClient.h @@ -57,27 +57,6 @@ class AWS_PIPES_API PipesClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Pipes::PipesClientConfiguration& clientConfiguration = Aws::Pipes::PipesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PipesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PipesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PipesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PipesClient(); /** @@ -370,7 +349,6 @@ class AWS_PIPES_API PipesClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&PipesClient::UpdatePipe, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesClientConfiguration.h b/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesClientConfiguration.h new file mode 100644 index 000000000000..962fdfa37687 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Pipes { +struct AWS_PIPES_API PipesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PipesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PipesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PipesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PipesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPipesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PIPES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PipesClientConfiguration& config); +} // namespace Pipes +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesEndpointProvider.h b/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesEndpointProvider.h index 336b8159af6c..9dbf99118788 100644 --- a/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Pipes { namespace Endpoint { +using PipesClientConfiguration = Aws::Pipes::PipesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PipesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PipesClientConfiguration = Aws::Client::GenericClientConfiguration; -using PipesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PIPES_API PipesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PipesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PipesClientConfiguration& config); + virtual void SetFromClientConfiguration(const PipesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PipesClientConfiguration& config); +}; /** * The type for the Pipes Client Endpoint Provider. @@ -32,6 +41,22 @@ using PipesEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Pipes + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PIPES_EXTERN template class AWS_PIPES_API Aws::Endpoint::EndpointProviderBase< + Pipes::Endpoint::PipesClientConfiguration, Pipes::Endpoint::PipesBuiltInParameters, Pipes::Endpoint::PipesClientContextParameters>; + +AWS_PIPES_EXTERN template class AWS_PIPES_API Aws::Endpoint::BDDEndpointProvider< + Pipes::Endpoint::PipesClientConfiguration, Pipes::Endpoint::PipesBuiltInParameters, Pipes::Endpoint::PipesClientContextParameters>; +} // namespace Endpoint + +namespace Pipes { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesServiceClientModel.h b/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesServiceClientModel.h index a28db6e04733..7c2d9a2f9dd0 100644 --- a/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesServiceClientModel.h @@ -57,7 +57,6 @@ class RetryStrategy; } // namespace Client namespace Pipes { -using PipesClientConfiguration = Aws::Client::GenericClientConfiguration; using PipesEndpointProviderBase = Aws::Pipes::Endpoint::PipesEndpointProviderBase; using PipesEndpointProvider = Aws::Pipes::Endpoint::PipesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pipes/source/PipesClient.cpp b/generated/src/aws-cpp-sdk-pipes/source/PipesClient.cpp index f4bc82a5e0c0..1c51ea81ecc1 100644 --- a/generated/src/aws-cpp-sdk-pipes/source/PipesClient.cpp +++ b/generated/src/aws-cpp-sdk-pipes/source/PipesClient.cpp @@ -87,41 +87,6 @@ PipesClient::PipesClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PipesClient::PipesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PipesClient::PipesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PipesClient::PipesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PipesClient::~PipesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PipesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +104,7 @@ void PipesClient::init(const Pipes::PipesClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "pipes"); -} - -void PipesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PipesClient::InvokeOperationOutcome PipesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-pipes/source/PipesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pipes/source/PipesClientConfiguration.cpp new file mode 100644 index 000000000000..e3aac1437db5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pipes/source/PipesClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Pipes { + +void PipesClientConfiguration::LoadPipesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PipesClientConfiguration::PipesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPipesSpecificConfig(this->profileName); +} + +PipesClientConfiguration::PipesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPipesSpecificConfig(Aws::String(inputProfileName)); +} + +PipesClientConfiguration::PipesClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPipesSpecificConfig(this->profileName); +} + +PipesClientConfiguration::PipesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPipesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PipesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Pipes +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pipes/source/PipesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pipes/source/PipesEndpointProvider.cpp index feb7ad50bc83..2054f5e24aba 100644 --- a/generated/src/aws-cpp-sdk-pipes/source/PipesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pipes/source/PipesEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_PIPES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Pipes { namespace Endpoint { PipesEndpointProvider::PipesEndpointProvider() : PipesDefaultEpProviderBase(Aws::Pipes::PipesEndpointRules::GetRulesBlob(), Aws::Pipes::PipesEndpointRules::RulesBlobSize) {} +void PipesBuiltInParameters::SetFromClientConfiguration(const PipesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PipesBuiltInParameters::SetFromClientConfiguration(const PipesClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PipesBuiltInParameters::SetServiceSpecificParameters(const PipesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Pipes } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyClient.h b/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyClient.h index a8dd892ef3c3..6d6a96d87789 100644 --- a/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyClient.h +++ b/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyClient.h @@ -60,27 +60,6 @@ class AWS_POLLY_API PollyClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Polly::PollyClientConfiguration& clientConfiguration = Aws::Polly::PollyClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PollyClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PollyClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PollyClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PollyClient(); /** @@ -386,7 +365,6 @@ class AWS_POLLY_API PollyClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&PollyClient::SynthesizeSpeech, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyClientConfiguration.h b/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyClientConfiguration.h new file mode 100644 index 000000000000..d63540d77e80 --- /dev/null +++ b/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Polly { +struct AWS_POLLY_API PollyClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PollyClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PollyClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PollyClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PollyClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadPollySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_POLLY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PollyClientConfiguration& config); +} // namespace Polly +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyEndpointProvider.h b/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyEndpointProvider.h index a14d4b16e11b..5bbdbcdb9ada 100644 --- a/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Polly { namespace Endpoint { +using PollyClientConfiguration = Aws::Polly::PollyClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PollyClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PollyClientConfiguration = Aws::Client::GenericClientConfiguration; -using PollyBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_POLLY_API PollyBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PollyBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PollyClientConfiguration& config); + virtual void SetFromClientConfiguration(const PollyClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PollyClientConfiguration& config); +}; /** * The type for the Polly Client Endpoint Provider. @@ -32,6 +41,22 @@ using PollyEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Polly + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_POLLY_EXTERN template class AWS_POLLY_API Aws::Endpoint::EndpointProviderBase< + Polly::Endpoint::PollyClientConfiguration, Polly::Endpoint::PollyBuiltInParameters, Polly::Endpoint::PollyClientContextParameters>; + +AWS_POLLY_EXTERN template class AWS_POLLY_API Aws::Endpoint::BDDEndpointProvider< + Polly::Endpoint::PollyClientConfiguration, Polly::Endpoint::PollyBuiltInParameters, Polly::Endpoint::PollyClientContextParameters>; +} // namespace Endpoint + +namespace Polly { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyServiceClientModel.h b/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyServiceClientModel.h index 15d79218f5c3..5618854669cc 100644 --- a/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace Polly { -using PollyClientConfiguration = Aws::Client::GenericClientConfiguration; using PollyEndpointProviderBase = Aws::Polly::Endpoint::PollyEndpointProviderBase; using PollyEndpointProvider = Aws::Polly::Endpoint::PollyEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-polly/source/PollyClient.cpp b/generated/src/aws-cpp-sdk-polly/source/PollyClient.cpp index a12213ecfb36..212cbbe13110 100644 --- a/generated/src/aws-cpp-sdk-polly/source/PollyClient.cpp +++ b/generated/src/aws-cpp-sdk-polly/source/PollyClient.cpp @@ -92,43 +92,6 @@ PollyClient::PollyClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PollyClient::PollyClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PollyClient::PollyClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PollyClient::PollyClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PollyClient::~PollyClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PollyClient::accessEndpointProvider() { return m_endpointProvider; } @@ -146,12 +109,7 @@ void PollyClient::init(const Polly::PollyClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "polly"); -} - -void PollyClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PollyClient::InvokeOperationOutcome PollyClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-polly/source/PollyClientConfiguration.cpp b/generated/src/aws-cpp-sdk-polly/source/PollyClientConfiguration.cpp new file mode 100644 index 000000000000..b26b7e881c05 --- /dev/null +++ b/generated/src/aws-cpp-sdk-polly/source/PollyClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Polly { + +void PollyClientConfiguration::LoadPollySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PollyClientConfiguration::PollyClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPollySpecificConfig(this->profileName); +} + +PollyClientConfiguration::PollyClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPollySpecificConfig(Aws::String(inputProfileName)); +} + +PollyClientConfiguration::PollyClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPollySpecificConfig(this->profileName); +} + +PollyClientConfiguration::PollyClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPollySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PollyClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace Polly +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-polly/source/PollyEndpointProvider.cpp b/generated/src/aws-cpp-sdk-polly/source/PollyEndpointProvider.cpp index 6192e494bd2b..7bae3383038b 100644 --- a/generated/src/aws-cpp-sdk-polly/source/PollyEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-polly/source/PollyEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_POLLY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Polly { namespace Endpoint { PollyEndpointProvider::PollyEndpointProvider() : PollyDefaultEpProviderBase(Aws::Polly::PollyEndpointRules::GetRulesBlob(), Aws::Polly::PollyEndpointRules::RulesBlobSize) {} +void PollyBuiltInParameters::SetFromClientConfiguration(const PollyClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PollyBuiltInParameters::SetFromClientConfiguration(const PollyClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PollyBuiltInParameters::SetServiceSpecificParameters(const PollyClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Polly } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerClient.h b/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerClient.h index 8bbc7f1eb6be..d5e3cdbcb11c 100644 --- a/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerClient.h +++ b/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerClient.h @@ -60,27 +60,6 @@ class AWS_PRICINGPLANMANAGER_API PricingPlanManagerClient : public Aws::Client:: const Aws::PricingPlanManager::PricingPlanManagerClientConfiguration& clientConfiguration = Aws::PricingPlanManager::PricingPlanManagerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PricingPlanManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PricingPlanManagerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PricingPlanManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PricingPlanManagerClient(); /** @@ -364,7 +343,6 @@ class AWS_PRICINGPLANMANAGER_API PricingPlanManagerClient : public Aws::Client:: return SubmitAsync(&PricingPlanManagerClient::UpdateSubscription, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerClientConfiguration.h b/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerClientConfiguration.h new file mode 100644 index 000000000000..3a101747964c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerClientConfiguration.h @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PricingPlanManager { +struct AWS_PRICINGPLANMANAGER_API PricingPlanManagerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PricingPlanManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PricingPlanManagerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PricingPlanManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PricingPlanManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + private: + void LoadPricingPlanManagerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PRICINGPLANMANAGER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PricingPlanManagerClientConfiguration& config); +} // namespace PricingPlanManager +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerEndpointProvider.h b/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerEndpointProvider.h index 7ac6b9b91457..35501dc66926 100644 --- a/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerEndpointProvider.h @@ -4,24 +4,30 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PricingPlanManager { namespace Endpoint { +using PricingPlanManagerClientConfiguration = Aws::PricingPlanManager::PricingPlanManagerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PricingPlanManagerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PricingPlanManagerClientConfiguration = Aws::Client::GenericClientConfiguration; -using PricingPlanManagerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PRICINGPLANMANAGER_API PricingPlanManagerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PricingPlanManagerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PricingPlanManagerClientConfiguration& config); + virtual void SetFromClientConfiguration(const PricingPlanManagerClientConfiguration& config, const Aws::String& serviceName); +}; /** * The type for the PricingPlanManager Client Endpoint Provider. @@ -36,6 +42,24 @@ using PricingPlanManagerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PricingPlanManager + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PRICINGPLANMANAGER_EXTERN template class AWS_PRICINGPLANMANAGER_API Aws::Endpoint::EndpointProviderBase< + PricingPlanManager::Endpoint::PricingPlanManagerClientConfiguration, PricingPlanManager::Endpoint::PricingPlanManagerBuiltInParameters, + PricingPlanManager::Endpoint::PricingPlanManagerClientContextParameters>; + +AWS_PRICINGPLANMANAGER_EXTERN template class AWS_PRICINGPLANMANAGER_API Aws::Endpoint::BDDEndpointProvider< + PricingPlanManager::Endpoint::PricingPlanManagerClientConfiguration, PricingPlanManager::Endpoint::PricingPlanManagerBuiltInParameters, + PricingPlanManager::Endpoint::PricingPlanManagerClientContextParameters>; +} // namespace Endpoint + +namespace PricingPlanManager { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerServiceClientModel.h index af95f4436b7b..a55fed0481bb 100644 --- a/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerServiceClientModel.h @@ -56,7 +56,6 @@ class RetryStrategy; } // namespace Client namespace PricingPlanManager { -using PricingPlanManagerClientConfiguration = Aws::Client::GenericClientConfiguration; using PricingPlanManagerEndpointProviderBase = Aws::PricingPlanManager::Endpoint::PricingPlanManagerEndpointProviderBase; using PricingPlanManagerEndpointProvider = Aws::PricingPlanManager::Endpoint::PricingPlanManagerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerClient.cpp b/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerClient.cpp index 222b6d4e001b..f4b779d73b92 100644 --- a/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerClient.cpp @@ -90,42 +90,6 @@ PricingPlanManagerClient::PricingPlanManagerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PricingPlanManagerClient::PricingPlanManagerClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PricingPlanManagerClient::PricingPlanManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PricingPlanManagerClient::~PricingPlanManagerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PricingPlanManagerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -143,12 +107,7 @@ void PricingPlanManagerClient::init(const PricingPlanManager::PricingPlanManager AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "pricingplanmanager"); -} - -void PricingPlanManagerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PricingPlanManagerClient::InvokeOperationOutcome PricingPlanManagerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerClientConfiguration.cpp new file mode 100644 index 000000000000..832400182c85 --- /dev/null +++ b/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PricingPlanManager { + +void PricingPlanManagerClientConfiguration::LoadPricingPlanManagerSpecificConfig(const Aws::String& inputProfileName) { +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PricingPlanManagerClientConfiguration::PricingPlanManagerClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPricingPlanManagerSpecificConfig(this->profileName); +} + +PricingPlanManagerClientConfiguration::PricingPlanManagerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPricingPlanManagerSpecificConfig(Aws::String(inputProfileName)); +} + +PricingPlanManagerClientConfiguration::PricingPlanManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPricingPlanManagerSpecificConfig(this->profileName); +} + +PricingPlanManagerClientConfiguration::PricingPlanManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPricingPlanManagerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PricingPlanManagerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PricingPlanManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerEndpointProvider.cpp index fe1915f923ae..2ac57a06e8f2 100644 --- a/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerEndpointProvider.cpp @@ -7,12 +7,36 @@ #include namespace Aws { +#ifndef AWS_PRICINGPLANMANAGER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PricingPlanManager { namespace Endpoint { PricingPlanManagerEndpointProvider::PricingPlanManagerEndpointProvider() : PricingPlanManagerDefaultEpProviderBase(Aws::PricingPlanManager::PricingPlanManagerEndpointRules::GetRulesBlob(), Aws::PricingPlanManager::PricingPlanManagerEndpointRules::RulesBlobSize) {} +void PricingPlanManagerBuiltInParameters::SetFromClientConfiguration(const PricingPlanManagerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); +} + +void PricingPlanManagerBuiltInParameters::SetFromClientConfiguration(const PricingPlanManagerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); +} + } // namespace Endpoint } // namespace PricingPlanManager } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingClient.h b/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingClient.h index dce4d9713684..a9d3cda522b2 100644 --- a/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingClient.h +++ b/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingClient.h @@ -71,27 +71,6 @@ class AWS_PRICING_API PricingClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Pricing::PricingClientConfiguration& clientConfiguration = Aws::Pricing::PricingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PricingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PricingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PricingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PricingClient(); /** @@ -259,7 +238,6 @@ class AWS_PRICING_API PricingClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&PricingClient::ListPriceLists, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingClientConfiguration.h b/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingClientConfiguration.h new file mode 100644 index 000000000000..0dd74a569b2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Pricing { +struct AWS_PRICING_API PricingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PricingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PricingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PricingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PricingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPricingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PRICING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PricingClientConfiguration& config); +} // namespace Pricing +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingEndpointProvider.h b/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingEndpointProvider.h index 86767268407c..64918e4d0c66 100644 --- a/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Pricing { namespace Endpoint { +using PricingClientConfiguration = Aws::Pricing::PricingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PricingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PricingClientConfiguration = Aws::Client::GenericClientConfiguration; -using PricingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PRICING_API PricingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PricingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PricingClientConfiguration& config); + virtual void SetFromClientConfiguration(const PricingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PricingClientConfiguration& config); +}; /** * The type for the Pricing Client Endpoint Provider. @@ -34,6 +43,24 @@ using PricingEndpointProviderBase = using PricingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Pricing + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PRICING_EXTERN template class AWS_PRICING_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PRICING_EXTERN template class AWS_PRICING_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Pricing { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingServiceClientModel.h b/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingServiceClientModel.h index b9c96e14d492..2e86b3503e95 100644 --- a/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace Pricing { -using PricingClientConfiguration = Aws::Client::GenericClientConfiguration; using PricingEndpointProviderBase = Aws::Pricing::Endpoint::PricingEndpointProviderBase; using PricingEndpointProvider = Aws::Pricing::Endpoint::PricingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-pricing/source/PricingClient.cpp b/generated/src/aws-cpp-sdk-pricing/source/PricingClient.cpp index 67167272db03..dd9a8495e79e 100644 --- a/generated/src/aws-cpp-sdk-pricing/source/PricingClient.cpp +++ b/generated/src/aws-cpp-sdk-pricing/source/PricingClient.cpp @@ -82,41 +82,6 @@ PricingClient::PricingClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -PricingClient::PricingClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PricingClient::PricingClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PricingClient::PricingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PricingClient::~PricingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PricingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -134,12 +99,7 @@ void PricingClient::init(const Pricing::PricingClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "pricing"); -} - -void PricingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PricingClient::InvokeOperationOutcome PricingClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-pricing/source/PricingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-pricing/source/PricingClientConfiguration.cpp new file mode 100644 index 000000000000..53a2faf4257c --- /dev/null +++ b/generated/src/aws-cpp-sdk-pricing/source/PricingClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Pricing { + +void PricingClientConfiguration::LoadPricingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PricingClientConfiguration::PricingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPricingSpecificConfig(this->profileName); +} + +PricingClientConfiguration::PricingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPricingSpecificConfig(Aws::String(inputProfileName)); +} + +PricingClientConfiguration::PricingClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPricingSpecificConfig(this->profileName); +} + +PricingClientConfiguration::PricingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPricingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PricingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Pricing +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-pricing/source/PricingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-pricing/source/PricingEndpointProvider.cpp index 2138266e5996..3b44ab416968 100644 --- a/generated/src/aws-cpp-sdk-pricing/source/PricingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-pricing/source/PricingEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_PRICING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Pricing { namespace Endpoint { PricingEndpointProvider::PricingEndpointProvider() : PricingDefaultEpProviderBase(Aws::Pricing::PricingEndpointRules::GetRulesBlob(), Aws::Pricing::PricingEndpointRules::RulesBlobSize) {} +void PricingBuiltInParameters::SetFromClientConfiguration(const PricingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PricingBuiltInParameters::SetFromClientConfiguration(const PricingClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PricingBuiltInParameters::SetServiceSpecificParameters(const PricingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Pricing } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonClient.h b/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonClient.h index 13002546e3ff..b7dbc3ce1ef9 100644 --- a/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonClient.h +++ b/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonClient.h @@ -137,30 +137,8 @@ class AWS_PROTON_API ProtonClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Proton::ProtonClientConfiguration& clientConfiguration = Aws::Proton::ProtonClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ProtonClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ProtonClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ProtonClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ProtonClient(); - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonClientConfiguration.h b/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonClientConfiguration.h new file mode 100644 index 000000000000..cda9584ba554 --- /dev/null +++ b/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Proton { +struct AWS_PROTON_API ProtonClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ProtonClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ProtonClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ProtonClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ProtonClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadProtonSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PROTON_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ProtonClientConfiguration& config); +} // namespace Proton +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonEndpointProvider.h b/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonEndpointProvider.h index 80989516cc7f..abcdf658bbd9 100644 --- a/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Proton { namespace Endpoint { +using ProtonClientConfiguration = Aws::Proton::ProtonClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ProtonClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ProtonClientConfiguration = Aws::Client::GenericClientConfiguration; -using ProtonBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PROTON_API ProtonBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ProtonBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ProtonClientConfiguration& config); + virtual void SetFromClientConfiguration(const ProtonClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ProtonClientConfiguration& config); +}; /** * The type for the Proton Client Endpoint Provider. @@ -32,6 +41,24 @@ using ProtonEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Proton + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PROTON_EXTERN template class AWS_PROTON_API + Aws::Endpoint::EndpointProviderBase; + +AWS_PROTON_EXTERN template class AWS_PROTON_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Proton { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonServiceClientModel.h b/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonServiceClientModel.h index 4b6974d9a6b9..d09a6e23f3a4 100644 --- a/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonServiceClientModel.h @@ -46,7 +46,6 @@ class RetryStrategy; } // namespace Client namespace Proton { -using ProtonClientConfiguration = Aws::Client::GenericClientConfiguration; using ProtonEndpointProviderBase = Aws::Proton::Endpoint::ProtonEndpointProviderBase; using ProtonEndpointProvider = Aws::Proton::Endpoint::ProtonEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-proton/source/ProtonClient.cpp b/generated/src/aws-cpp-sdk-proton/source/ProtonClient.cpp index 34c8f3bb6e89..b4e2ebbc62b4 100644 --- a/generated/src/aws-cpp-sdk-proton/source/ProtonClient.cpp +++ b/generated/src/aws-cpp-sdk-proton/source/ProtonClient.cpp @@ -77,41 +77,6 @@ ProtonClient::ProtonClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ProtonClient::ProtonClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ProtonClient::ProtonClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ProtonClient::ProtonClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ProtonClient::~ProtonClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ProtonClient::accessEndpointProvider() { return m_endpointProvider; } @@ -129,12 +94,7 @@ void ProtonClient::init(const Proton::ProtonClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "proton"); -} - -void ProtonClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ProtonClient::InvokeOperationOutcome ProtonClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-proton/source/ProtonClientConfiguration.cpp b/generated/src/aws-cpp-sdk-proton/source/ProtonClientConfiguration.cpp new file mode 100644 index 000000000000..1533b4e64701 --- /dev/null +++ b/generated/src/aws-cpp-sdk-proton/source/ProtonClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Proton { + +void ProtonClientConfiguration::LoadProtonSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ProtonClientConfiguration::ProtonClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadProtonSpecificConfig(this->profileName); +} + +ProtonClientConfiguration::ProtonClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadProtonSpecificConfig(Aws::String(inputProfileName)); +} + +ProtonClientConfiguration::ProtonClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadProtonSpecificConfig(this->profileName); +} + +ProtonClientConfiguration::ProtonClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadProtonSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ProtonClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Proton +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-proton/source/ProtonEndpointProvider.cpp b/generated/src/aws-cpp-sdk-proton/source/ProtonEndpointProvider.cpp index 9c003d354248..27ab5fb25f33 100644 --- a/generated/src/aws-cpp-sdk-proton/source/ProtonEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-proton/source/ProtonEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_PROTON_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Proton { namespace Endpoint { ProtonEndpointProvider::ProtonEndpointProvider() : ProtonDefaultEpProviderBase(Aws::Proton::ProtonEndpointRules::GetRulesBlob(), Aws::Proton::ProtonEndpointRules::RulesBlobSize) {} +void ProtonBuiltInParameters::SetFromClientConfiguration(const ProtonClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ProtonBuiltInParameters::SetFromClientConfiguration(const ProtonClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ProtonBuiltInParameters::SetServiceSpecificParameters(const ProtonClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Proton } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsClient.h b/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsClient.h index 81952e8a4516..26ba487f871a 100644 --- a/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsClient.h +++ b/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsClient.h @@ -67,27 +67,6 @@ class AWS_QAPPS_API QAppsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::QApps::QAppsClientConfiguration& clientConfiguration = Aws::QApps::QAppsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - QAppsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - QAppsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - QAppsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~QAppsClient(); /** @@ -1073,7 +1052,6 @@ class AWS_QAPPS_API QAppsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&QAppsClient::UpdateQAppSessionMetadata, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsClientConfiguration.h b/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsClientConfiguration.h new file mode 100644 index 000000000000..cb2598fbfb3c --- /dev/null +++ b/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace QApps { +struct AWS_QAPPS_API QAppsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + QAppsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QAppsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QAppsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit QAppsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadQAppsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_QAPPS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const QAppsClientConfiguration& config); +} // namespace QApps +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsEndpointProvider.h b/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsEndpointProvider.h index 52ef1aea9605..dedd58d4bf45 100644 --- a/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace QApps { namespace Endpoint { +using QAppsClientConfiguration = Aws::QApps::QAppsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using QAppsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using QAppsClientConfiguration = Aws::Client::GenericClientConfiguration; -using QAppsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_QAPPS_API QAppsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~QAppsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const QAppsClientConfiguration& config); + virtual void SetFromClientConfiguration(const QAppsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const QAppsClientConfiguration& config); +}; /** * The type for the QApps Client Endpoint Provider. @@ -32,6 +41,22 @@ using QAppsEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace QApps + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_QAPPS_EXTERN template class AWS_QAPPS_API Aws::Endpoint::EndpointProviderBase< + QApps::Endpoint::QAppsClientConfiguration, QApps::Endpoint::QAppsBuiltInParameters, QApps::Endpoint::QAppsClientContextParameters>; + +AWS_QAPPS_EXTERN template class AWS_QAPPS_API Aws::Endpoint::BDDEndpointProvider< + QApps::Endpoint::QAppsClientConfiguration, QApps::Endpoint::QAppsBuiltInParameters, QApps::Endpoint::QAppsClientContextParameters>; +} // namespace Endpoint + +namespace QApps { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsServiceClientModel.h b/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsServiceClientModel.h index f94cf29d0a52..68a030d97fd3 100644 --- a/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace QApps { -using QAppsClientConfiguration = Aws::Client::GenericClientConfiguration; using QAppsEndpointProviderBase = Aws::QApps::Endpoint::QAppsEndpointProviderBase; using QAppsEndpointProvider = Aws::QApps::Endpoint::QAppsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-qapps/source/QAppsClient.cpp b/generated/src/aws-cpp-sdk-qapps/source/QAppsClient.cpp index 4f02cec431c0..086c30d59583 100644 --- a/generated/src/aws-cpp-sdk-qapps/source/QAppsClient.cpp +++ b/generated/src/aws-cpp-sdk-qapps/source/QAppsClient.cpp @@ -112,41 +112,6 @@ QAppsClient::QAppsClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -QAppsClient::QAppsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QAppsClient::QAppsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QAppsClient::QAppsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ QAppsClient::~QAppsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& QAppsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -164,12 +129,7 @@ void QAppsClient::init(const QApps::QAppsClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "qapps"); -} - -void QAppsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } QAppsClient::InvokeOperationOutcome QAppsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-qapps/source/QAppsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-qapps/source/QAppsClientConfiguration.cpp new file mode 100644 index 000000000000..7d77db66b20a --- /dev/null +++ b/generated/src/aws-cpp-sdk-qapps/source/QAppsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace QApps { + +void QAppsClientConfiguration::LoadQAppsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +QAppsClientConfiguration::QAppsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadQAppsSpecificConfig(this->profileName); +} + +QAppsClientConfiguration::QAppsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadQAppsSpecificConfig(Aws::String(inputProfileName)); +} + +QAppsClientConfiguration::QAppsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadQAppsSpecificConfig(this->profileName); +} + +QAppsClientConfiguration::QAppsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadQAppsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const QAppsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace QApps +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qapps/source/QAppsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-qapps/source/QAppsEndpointProvider.cpp index a7295ddf99fb..faf89d57886c 100644 --- a/generated/src/aws-cpp-sdk-qapps/source/QAppsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-qapps/source/QAppsEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_QAPPS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace QApps { namespace Endpoint { QAppsEndpointProvider::QAppsEndpointProvider() : QAppsDefaultEpProviderBase(Aws::QApps::QAppsEndpointRules::GetRulesBlob(), Aws::QApps::QAppsEndpointRules::RulesBlobSize) {} +void QAppsBuiltInParameters::SetFromClientConfiguration(const QAppsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void QAppsBuiltInParameters::SetFromClientConfiguration(const QAppsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void QAppsBuiltInParameters::SetServiceSpecificParameters(const QAppsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace QApps } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h index 7c0b8e1d06a5..d875e71e7790 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClient.h @@ -75,27 +75,6 @@ class AWS_QBUSINESS_API QBusinessClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::QBusiness::QBusinessClientConfiguration& clientConfiguration = Aws::QBusiness::QBusinessClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - QBusinessClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - QBusinessClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - QBusinessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~QBusinessClient(); /** @@ -2438,7 +2417,6 @@ class AWS_QBUSINESS_API QBusinessClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&QBusinessClient::UpdateWebExperience, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClientConfiguration.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClientConfiguration.h new file mode 100644 index 000000000000..b7fd61fc10b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClientConfiguration.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace QBusiness { +struct AWS_QBUSINESS_API QBusinessClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + QBusinessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QBusinessClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QBusinessClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit QBusinessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadQBusinessSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_QBUSINESS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const QBusinessClientConfiguration& config); +} // namespace QBusiness +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessEndpointProvider.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessEndpointProvider.h index 8808cc8e620c..bb4d69654c9a 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace QBusiness { namespace Endpoint { +using QBusinessClientConfiguration = Aws::QBusiness::QBusinessClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using QBusinessClientContextParameters = Aws::Endpoint::ClientContextParameters; -using QBusinessClientConfiguration = Aws::Client::GenericClientConfiguration; -using QBusinessBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_QBUSINESS_API QBusinessBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~QBusinessBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const QBusinessClientConfiguration& config); + virtual void SetFromClientConfiguration(const QBusinessClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const QBusinessClientConfiguration& config); +}; /** * The type for the QBusiness Client Endpoint Provider. @@ -34,6 +43,24 @@ using QBusinessEndpointProviderBase = using QBusinessDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace QBusiness + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_QBUSINESS_EXTERN template class AWS_QBUSINESS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_QBUSINESS_EXTERN template class AWS_QBUSINESS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace QBusiness { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessServiceClientModel.h b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessServiceClientModel.h index a0b1b15fad88..0a81d0d1583e 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessServiceClientModel.h @@ -134,7 +134,6 @@ class RetryStrategy; } // namespace Client namespace QBusiness { -using QBusinessClientConfiguration = Aws::Client::GenericClientConfiguration; using QBusinessEndpointProviderBase = Aws::QBusiness::Endpoint::QBusinessEndpointProviderBase; using QBusinessEndpointProvider = Aws::QBusiness::Endpoint::QBusinessEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp index 41bff9fb5e9e..f53ed5b51fdf 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClient.cpp @@ -165,43 +165,6 @@ QBusinessClient::QBusinessClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -QBusinessClient::QBusinessClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QBusinessClient::QBusinessClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QBusinessClient::QBusinessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ QBusinessClient::~QBusinessClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& QBusinessClient::accessEndpointProvider() { return m_endpointProvider; } @@ -219,12 +182,7 @@ void QBusinessClient::init(const QBusiness::QBusinessClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "qbusiness"); -} - -void QBusinessClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } QBusinessClient::InvokeOperationOutcome QBusinessClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClientConfiguration.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClientConfiguration.cpp new file mode 100644 index 000000000000..c3eb069f35fe --- /dev/null +++ b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace QBusiness { + +void QBusinessClientConfiguration::LoadQBusinessSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +QBusinessClientConfiguration::QBusinessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadQBusinessSpecificConfig(this->profileName); +} + +QBusinessClientConfiguration::QBusinessClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadQBusinessSpecificConfig(Aws::String(inputProfileName)); +} + +QBusinessClientConfiguration::QBusinessClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadQBusinessSpecificConfig(this->profileName); +} + +QBusinessClientConfiguration::QBusinessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadQBusinessSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const QBusinessClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace QBusiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessEndpointProvider.cpp b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessEndpointProvider.cpp index 7650e4c1178c..9ced29973ba1 100644 --- a/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-qbusiness/source/QBusinessEndpointProvider.cpp @@ -7,12 +7,42 @@ #include namespace Aws { +#ifndef AWS_QBUSINESS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace QBusiness { namespace Endpoint { QBusinessEndpointProvider::QBusinessEndpointProvider() : QBusinessDefaultEpProviderBase(Aws::QBusiness::QBusinessEndpointRules::GetRulesBlob(), Aws::QBusiness::QBusinessEndpointRules::RulesBlobSize) {} +void QBusinessBuiltInParameters::SetFromClientConfiguration(const QBusinessClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void QBusinessBuiltInParameters::SetFromClientConfiguration(const QBusinessClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void QBusinessBuiltInParameters::SetServiceSpecificParameters(const QBusinessClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace QBusiness } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClient.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClient.h index a69d04cd8309..b5cc743deb01 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClient.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClient.h @@ -76,27 +76,6 @@ class AWS_QCONNECT_API QConnectClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::QConnect::QConnectClientConfiguration& clientConfiguration = Aws::QConnect::QConnectClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - QConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - QConnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - QConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~QConnectClient(); /** @@ -2673,7 +2652,6 @@ class AWS_QCONNECT_API QConnectClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&QConnectClient::UpdateSessionData, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClientConfiguration.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClientConfiguration.h new file mode 100644 index 000000000000..689291a58560 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace QConnect { +struct AWS_QCONNECT_API QConnectClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + QConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QConnectClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit QConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadQConnectSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_QCONNECT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const QConnectClientConfiguration& config); +} // namespace QConnect +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectEndpointProvider.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectEndpointProvider.h index a107fb174848..8b54b31dd8f4 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace QConnect { namespace Endpoint { +using QConnectClientConfiguration = Aws::QConnect::QConnectClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using QConnectClientContextParameters = Aws::Endpoint::ClientContextParameters; -using QConnectClientConfiguration = Aws::Client::GenericClientConfiguration; -using QConnectBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_QCONNECT_API QConnectBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~QConnectBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const QConnectClientConfiguration& config); + virtual void SetFromClientConfiguration(const QConnectClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const QConnectClientConfiguration& config); +}; /** * The type for the QConnect Client Endpoint Provider. @@ -34,6 +43,24 @@ using QConnectEndpointProviderBase = using QConnectDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace QConnect + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_QCONNECT_EXTERN template class AWS_QCONNECT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_QCONNECT_EXTERN template class AWS_QCONNECT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace QConnect { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectServiceClientModel.h index 34dcbba66525..8233f40021ae 100644 --- a/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectServiceClientModel.h @@ -140,7 +140,6 @@ class RetryStrategy; } // namespace Client namespace QConnect { -using QConnectClientConfiguration = Aws::Client::GenericClientConfiguration; using QConnectEndpointProviderBase = Aws::QConnect::Endpoint::QConnectEndpointProviderBase; using QConnectEndpointProvider = Aws::QConnect::Endpoint::QConnectEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-qconnect/source/QConnectClient.cpp b/generated/src/aws-cpp-sdk-qconnect/source/QConnectClient.cpp index 6e20e39bed81..95ecc8f1964e 100644 --- a/generated/src/aws-cpp-sdk-qconnect/source/QConnectClient.cpp +++ b/generated/src/aws-cpp-sdk-qconnect/source/QConnectClient.cpp @@ -169,41 +169,6 @@ QConnectClient::QConnectClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -QConnectClient::QConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QConnectClient::QConnectClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QConnectClient::QConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ QConnectClient::~QConnectClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& QConnectClient::accessEndpointProvider() { return m_endpointProvider; } @@ -221,12 +186,7 @@ void QConnectClient::init(const QConnect::QConnectClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "wisdom"); -} - -void QConnectClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } QConnectClient::InvokeOperationOutcome QConnectClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-qconnect/source/QConnectClientConfiguration.cpp b/generated/src/aws-cpp-sdk-qconnect/source/QConnectClientConfiguration.cpp new file mode 100644 index 000000000000..c705213540c3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-qconnect/source/QConnectClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace QConnect { + +void QConnectClientConfiguration::LoadQConnectSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +QConnectClientConfiguration::QConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadQConnectSpecificConfig(this->profileName); +} + +QConnectClientConfiguration::QConnectClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadQConnectSpecificConfig(Aws::String(inputProfileName)); +} + +QConnectClientConfiguration::QConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadQConnectSpecificConfig(this->profileName); +} + +QConnectClientConfiguration::QConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadQConnectSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const QConnectClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace QConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-qconnect/source/QConnectEndpointProvider.cpp b/generated/src/aws-cpp-sdk-qconnect/source/QConnectEndpointProvider.cpp index f6cfcd5aa595..60689ac381c0 100644 --- a/generated/src/aws-cpp-sdk-qconnect/source/QConnectEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-qconnect/source/QConnectEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_QCONNECT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace QConnect { namespace Endpoint { QConnectEndpointProvider::QConnectEndpointProvider() : QConnectDefaultEpProviderBase(Aws::QConnect::QConnectEndpointRules::GetRulesBlob(), Aws::QConnect::QConnectEndpointRules::RulesBlobSize) {} +void QConnectBuiltInParameters::SetFromClientConfiguration(const QConnectClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void QConnectBuiltInParameters::SetFromClientConfiguration(const QConnectClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void QConnectBuiltInParameters::SetServiceSpecificParameters(const QConnectClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace QConnect } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClient.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClient.h index 973a76c2beaf..99df8bae303e 100644 --- a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClient.h +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClient.h @@ -59,27 +59,6 @@ class AWS_QUICKSIGHT_API QuickSightClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::QuickSight::QuickSightClientConfiguration& clientConfiguration = Aws::QuickSight::QuickSightClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - QuickSightClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - QuickSightClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - QuickSightClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~QuickSightClient(); /** @@ -8862,7 +8841,6 @@ class AWS_QUICKSIGHT_API QuickSightClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&QuickSightClient::UpdateVPCConnection, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClientConfiguration.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClientConfiguration.h new file mode 100644 index 000000000000..a24b38ca79cc --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace QuickSight { +struct AWS_QUICKSIGHT_API QuickSightClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + QuickSightClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QuickSightClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + QuickSightClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit QuickSightClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadQuickSightSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_QUICKSIGHT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const QuickSightClientConfiguration& config); +} // namespace QuickSight +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightEndpointProvider.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightEndpointProvider.h index cd1220f579e4..953f58b50ffd 100644 --- a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace QuickSight { namespace Endpoint { +using QuickSightClientConfiguration = Aws::QuickSight::QuickSightClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using QuickSightClientContextParameters = Aws::Endpoint::ClientContextParameters; -using QuickSightClientConfiguration = Aws::Client::GenericClientConfiguration; -using QuickSightBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_QUICKSIGHT_API QuickSightBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~QuickSightBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const QuickSightClientConfiguration& config); + virtual void SetFromClientConfiguration(const QuickSightClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const QuickSightClientConfiguration& config); +}; /** * The type for the QuickSight Client Endpoint Provider. @@ -34,6 +43,24 @@ using QuickSightEndpointProviderBase = using QuickSightDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace QuickSight + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_QUICKSIGHT_EXTERN template class AWS_QUICKSIGHT_API Aws::Endpoint::EndpointProviderBase< + QuickSight::Endpoint::QuickSightClientConfiguration, QuickSight::Endpoint::QuickSightBuiltInParameters, + QuickSight::Endpoint::QuickSightClientContextParameters>; + +AWS_QUICKSIGHT_EXTERN template class AWS_QUICKSIGHT_API Aws::Endpoint::BDDEndpointProvider< + QuickSight::Endpoint::QuickSightClientConfiguration, QuickSight::Endpoint::QuickSightBuiltInParameters, + QuickSight::Endpoint::QuickSightClientContextParameters>; +} // namespace Endpoint + +namespace QuickSight { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightServiceClientModel.h b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightServiceClientModel.h index 738daf000bf5..59b2b305e251 100644 --- a/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightServiceClientModel.h @@ -346,7 +346,6 @@ class RetryStrategy; } // namespace Client namespace QuickSight { -using QuickSightClientConfiguration = Aws::Client::GenericClientConfiguration; using QuickSightEndpointProviderBase = Aws::QuickSight::Endpoint::QuickSightEndpointProviderBase; using QuickSightEndpointProvider = Aws::QuickSight::Endpoint::QuickSightEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClient.cpp b/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClient.cpp index 3027758c7d7c..0c5058936566 100644 --- a/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClient.cpp +++ b/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClient.cpp @@ -177,41 +177,6 @@ QuickSightClient::QuickSightClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -QuickSightClient::QuickSightClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QuickSightClient::QuickSightClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -QuickSightClient::QuickSightClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ QuickSightClient::~QuickSightClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& QuickSightClient::accessEndpointProvider() { return m_endpointProvider; } @@ -229,12 +194,7 @@ void QuickSightClient::init(const QuickSight::QuickSightClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "quicksight"); -} - -void QuickSightClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } QuickSightClient::InvokeOperationOutcome QuickSightClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClientConfiguration.cpp b/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClientConfiguration.cpp new file mode 100644 index 000000000000..8746f2414254 --- /dev/null +++ b/generated/src/aws-cpp-sdk-quicksight/source/QuickSightClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace QuickSight { + +void QuickSightClientConfiguration::LoadQuickSightSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +QuickSightClientConfiguration::QuickSightClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadQuickSightSpecificConfig(this->profileName); +} + +QuickSightClientConfiguration::QuickSightClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadQuickSightSpecificConfig(Aws::String(inputProfileName)); +} + +QuickSightClientConfiguration::QuickSightClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadQuickSightSpecificConfig(this->profileName); +} + +QuickSightClientConfiguration::QuickSightClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadQuickSightSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const QuickSightClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace QuickSight +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-quicksight/source/QuickSightEndpointProvider.cpp b/generated/src/aws-cpp-sdk-quicksight/source/QuickSightEndpointProvider.cpp index 52686fa6200e..037662ba0b96 100644 --- a/generated/src/aws-cpp-sdk-quicksight/source/QuickSightEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-quicksight/source/QuickSightEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_QUICKSIGHT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace QuickSight { namespace Endpoint { QuickSightEndpointProvider::QuickSightEndpointProvider() : QuickSightDefaultEpProviderBase(Aws::QuickSight::QuickSightEndpointRules::GetRulesBlob(), Aws::QuickSight::QuickSightEndpointRules::RulesBlobSize) {} +void QuickSightBuiltInParameters::SetFromClientConfiguration(const QuickSightClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void QuickSightBuiltInParameters::SetFromClientConfiguration(const QuickSightClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void QuickSightBuiltInParameters::SetServiceSpecificParameters(const QuickSightClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace QuickSight } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMClient.h b/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMClient.h index e76ebb35a46d..9245b56f3d82 100644 --- a/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMClient.h +++ b/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMClient.h @@ -63,27 +63,6 @@ class AWS_RAM_API RAMClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::RAM::RAMClientConfiguration& clientConfiguration = Aws::RAM::RAMClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RAMClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RAMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RAMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RAMClient(); /** @@ -1245,7 +1224,6 @@ class AWS_RAM_API RAMClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&RAMClient::UpdateResourceShare, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMClientConfiguration.h b/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMClientConfiguration.h new file mode 100644 index 000000000000..67fffd15f879 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RAM { +struct AWS_RAM_API RAMClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RAMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RAMClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RAMClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RAMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRAMSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RAM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RAMClientConfiguration& config); +} // namespace RAM +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMEndpointProvider.h b/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMEndpointProvider.h index e9b2bf48ff98..5a8f120233f3 100644 --- a/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RAM { namespace Endpoint { +using RAMClientConfiguration = Aws::RAM::RAMClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RAMClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RAMClientConfiguration = Aws::Client::GenericClientConfiguration; -using RAMBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RAM_API RAMBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RAMBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RAMClientConfiguration& config); + virtual void SetFromClientConfiguration(const RAMClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RAMClientConfiguration& config); +}; /** * The type for the RAM Client Endpoint Provider. @@ -32,6 +41,22 @@ using RAMEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace RAM + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RAM_EXTERN template class AWS_RAM_API Aws::Endpoint::EndpointProviderBase< + RAM::Endpoint::RAMClientConfiguration, RAM::Endpoint::RAMBuiltInParameters, RAM::Endpoint::RAMClientContextParameters>; + +AWS_RAM_EXTERN template class AWS_RAM_API Aws::Endpoint::BDDEndpointProvider< + RAM::Endpoint::RAMClientConfiguration, RAM::Endpoint::RAMBuiltInParameters, RAM::Endpoint::RAMClientContextParameters>; +} // namespace Endpoint + +namespace RAM { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMServiceClientModel.h b/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMServiceClientModel.h index e352e32b8497..736b6a4a4b3d 100644 --- a/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMServiceClientModel.h @@ -88,7 +88,6 @@ class RetryStrategy; } // namespace Client namespace RAM { -using RAMClientConfiguration = Aws::Client::GenericClientConfiguration; using RAMEndpointProviderBase = Aws::RAM::Endpoint::RAMEndpointProviderBase; using RAMEndpointProvider = Aws::RAM::Endpoint::RAMEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ram/source/RAMClient.cpp b/generated/src/aws-cpp-sdk-ram/source/RAMClient.cpp index 088318d8c263..39ed512790ad 100644 --- a/generated/src/aws-cpp-sdk-ram/source/RAMClient.cpp +++ b/generated/src/aws-cpp-sdk-ram/source/RAMClient.cpp @@ -110,41 +110,6 @@ RAMClient::RAMClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -RAMClient::RAMClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RAMClient::RAMClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RAMClient::RAMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RAMClient::~RAMClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RAMClient::accessEndpointProvider() { return m_endpointProvider; } @@ -162,12 +127,7 @@ void RAMClient::init(const RAM::RAMClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ram"); -} - -void RAMClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RAMClient::InvokeOperationOutcome RAMClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ram/source/RAMClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ram/source/RAMClientConfiguration.cpp new file mode 100644 index 000000000000..fcea7d5dd022 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ram/source/RAMClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RAM { + +void RAMClientConfiguration::LoadRAMSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RAMClientConfiguration::RAMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRAMSpecificConfig(this->profileName); +} + +RAMClientConfiguration::RAMClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRAMSpecificConfig(Aws::String(inputProfileName)); +} + +RAMClientConfiguration::RAMClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRAMSpecificConfig(this->profileName); +} + +RAMClientConfiguration::RAMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadRAMSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RAMClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RAM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ram/source/RAMEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ram/source/RAMEndpointProvider.cpp index 1867b7c4c760..7c708666ee37 100644 --- a/generated/src/aws-cpp-sdk-ram/source/RAMEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ram/source/RAMEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_RAM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace RAM { namespace Endpoint { RAMEndpointProvider::RAMEndpointProvider() : RAMDefaultEpProviderBase(Aws::RAM::RAMEndpointRules::GetRulesBlob(), Aws::RAM::RAMEndpointRules::RulesBlobSize) {} +void RAMBuiltInParameters::SetFromClientConfiguration(const RAMClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RAMBuiltInParameters::SetFromClientConfiguration(const RAMClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RAMBuiltInParameters::SetServiceSpecificParameters(const RAMClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace RAM } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinClient.h b/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinClient.h index 91a9ed134e4b..0c6fae66308c 100644 --- a/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinClient.h +++ b/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinClient.h @@ -69,27 +69,6 @@ class AWS_RECYCLEBIN_API RecycleBinClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::RecycleBin::RecycleBinClientConfiguration& clientConfiguration = Aws::RecycleBin::RecycleBinClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RecycleBinClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RecycleBinClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RecycleBinClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RecycleBinClient(); /** @@ -372,7 +351,6 @@ class AWS_RECYCLEBIN_API RecycleBinClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&RecycleBinClient::UpdateRule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinClientConfiguration.h b/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinClientConfiguration.h new file mode 100644 index 000000000000..b3d16719df45 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RecycleBin { +struct AWS_RECYCLEBIN_API RecycleBinClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RecycleBinClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RecycleBinClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RecycleBinClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RecycleBinClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRecycleBinSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RECYCLEBIN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RecycleBinClientConfiguration& config); +} // namespace RecycleBin +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinEndpointProvider.h b/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinEndpointProvider.h index 8a57f8be9bcc..b1be80a0d295 100644 --- a/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RecycleBin { namespace Endpoint { +using RecycleBinClientConfiguration = Aws::RecycleBin::RecycleBinClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RecycleBinClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RecycleBinClientConfiguration = Aws::Client::GenericClientConfiguration; -using RecycleBinBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RECYCLEBIN_API RecycleBinBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RecycleBinBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RecycleBinClientConfiguration& config); + virtual void SetFromClientConfiguration(const RecycleBinClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RecycleBinClientConfiguration& config); +}; /** * The type for the RecycleBin Client Endpoint Provider. @@ -34,6 +43,24 @@ using RecycleBinEndpointProviderBase = using RecycleBinDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace RecycleBin + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RECYCLEBIN_EXTERN template class AWS_RECYCLEBIN_API Aws::Endpoint::EndpointProviderBase< + RecycleBin::Endpoint::RecycleBinClientConfiguration, RecycleBin::Endpoint::RecycleBinBuiltInParameters, + RecycleBin::Endpoint::RecycleBinClientContextParameters>; + +AWS_RECYCLEBIN_EXTERN template class AWS_RECYCLEBIN_API Aws::Endpoint::BDDEndpointProvider< + RecycleBin::Endpoint::RecycleBinClientConfiguration, RecycleBin::Endpoint::RecycleBinBuiltInParameters, + RecycleBin::Endpoint::RecycleBinClientContextParameters>; +} // namespace Endpoint + +namespace RecycleBin { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinServiceClientModel.h b/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinServiceClientModel.h index baa9273ef2a9..f90e71f78627 100644 --- a/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinServiceClientModel.h @@ -56,7 +56,6 @@ class RetryStrategy; } // namespace Client namespace RecycleBin { -using RecycleBinClientConfiguration = Aws::Client::GenericClientConfiguration; using RecycleBinEndpointProviderBase = Aws::RecycleBin::Endpoint::RecycleBinEndpointProviderBase; using RecycleBinEndpointProvider = Aws::RecycleBin::Endpoint::RecycleBinEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-rbin/source/RecycleBinClient.cpp b/generated/src/aws-cpp-sdk-rbin/source/RecycleBinClient.cpp index 4aad49e269e6..7829e7f8247a 100644 --- a/generated/src/aws-cpp-sdk-rbin/source/RecycleBinClient.cpp +++ b/generated/src/aws-cpp-sdk-rbin/source/RecycleBinClient.cpp @@ -87,41 +87,6 @@ RecycleBinClient::RecycleBinClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -RecycleBinClient::RecycleBinClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RecycleBinClient::RecycleBinClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RecycleBinClient::RecycleBinClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RecycleBinClient::~RecycleBinClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RecycleBinClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +104,7 @@ void RecycleBinClient::init(const RecycleBin::RecycleBinClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rbin"); -} - -void RecycleBinClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RecycleBinClient::InvokeOperationOutcome RecycleBinClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-rbin/source/RecycleBinClientConfiguration.cpp b/generated/src/aws-cpp-sdk-rbin/source/RecycleBinClientConfiguration.cpp new file mode 100644 index 000000000000..c578c60ec827 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rbin/source/RecycleBinClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RecycleBin { + +void RecycleBinClientConfiguration::LoadRecycleBinSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RecycleBinClientConfiguration::RecycleBinClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRecycleBinSpecificConfig(this->profileName); +} + +RecycleBinClientConfiguration::RecycleBinClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRecycleBinSpecificConfig(Aws::String(inputProfileName)); +} + +RecycleBinClientConfiguration::RecycleBinClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRecycleBinSpecificConfig(this->profileName); +} + +RecycleBinClientConfiguration::RecycleBinClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRecycleBinSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RecycleBinClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RecycleBin +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rbin/source/RecycleBinEndpointProvider.cpp b/generated/src/aws-cpp-sdk-rbin/source/RecycleBinEndpointProvider.cpp index a13bab5bbfa7..70f100d1dd84 100644 --- a/generated/src/aws-cpp-sdk-rbin/source/RecycleBinEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-rbin/source/RecycleBinEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_RECYCLEBIN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace RecycleBin { namespace Endpoint { RecycleBinEndpointProvider::RecycleBinEndpointProvider() : RecycleBinDefaultEpProviderBase(Aws::RecycleBin::RecycleBinEndpointRules::GetRulesBlob(), Aws::RecycleBin::RecycleBinEndpointRules::RulesBlobSize) {} +void RecycleBinBuiltInParameters::SetFromClientConfiguration(const RecycleBinClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RecycleBinBuiltInParameters::SetFromClientConfiguration(const RecycleBinClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RecycleBinBuiltInParameters::SetServiceSpecificParameters(const RecycleBinClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace RecycleBin } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceClient.h b/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceClient.h index 54a406b28e86..3f58b614530c 100644 --- a/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceClient.h +++ b/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceClient.h @@ -63,27 +63,6 @@ class AWS_RDSDATASERVICE_API RDSDataServiceClient : public Aws::Client::AWSJsonC const Aws::RDSDataService::RDSDataServiceClientConfiguration& clientConfiguration = Aws::RDSDataService::RDSDataServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RDSDataServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RDSDataServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RDSDataServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RDSDataServiceClient(); /** @@ -243,7 +222,6 @@ class AWS_RDSDATASERVICE_API RDSDataServiceClient : public Aws::Client::AWSJsonC return SubmitAsync(&RDSDataServiceClient::RollbackTransaction, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceClientConfiguration.h new file mode 100644 index 000000000000..bd3ae1d19e32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RDSDataService { +struct AWS_RDSDATASERVICE_API RDSDataServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RDSDataServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RDSDataServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RDSDataServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RDSDataServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRDSDataServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RDSDATASERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RDSDataServiceClientConfiguration& config); +} // namespace RDSDataService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceEndpointProvider.h index d5da06957b1a..28e74b1ec784 100644 --- a/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RDSDataService { namespace Endpoint { +using RDSDataServiceClientConfiguration = Aws::RDSDataService::RDSDataServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RDSDataServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RDSDataServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using RDSDataServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RDSDATASERVICE_API RDSDataServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RDSDataServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RDSDataServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const RDSDataServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RDSDataServiceClientConfiguration& config); +}; /** * The type for the RDSDataService Client Endpoint Provider. @@ -34,6 +43,24 @@ using RDSDataServiceEndpointProviderBase = using RDSDataServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace RDSDataService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RDSDATASERVICE_EXTERN template class AWS_RDSDATASERVICE_API Aws::Endpoint::EndpointProviderBase< + RDSDataService::Endpoint::RDSDataServiceClientConfiguration, RDSDataService::Endpoint::RDSDataServiceBuiltInParameters, + RDSDataService::Endpoint::RDSDataServiceClientContextParameters>; + +AWS_RDSDATASERVICE_EXTERN template class AWS_RDSDATASERVICE_API Aws::Endpoint::BDDEndpointProvider< + RDSDataService::Endpoint::RDSDataServiceClientConfiguration, RDSDataService::Endpoint::RDSDataServiceBuiltInParameters, + RDSDataService::Endpoint::RDSDataServiceClientContextParameters>; +} // namespace Endpoint + +namespace RDSDataService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceServiceClientModel.h index 859e5734447d..82dc7ae88ad3 100644 --- a/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace RDSDataService { -using RDSDataServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using RDSDataServiceEndpointProviderBase = Aws::RDSDataService::Endpoint::RDSDataServiceEndpointProviderBase; using RDSDataServiceEndpointProvider = Aws::RDSDataService::Endpoint::RDSDataServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceClient.cpp b/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceClient.cpp index 8dcbadd4a75d..69c516ea8c30 100644 --- a/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceClient.cpp @@ -83,41 +83,6 @@ RDSDataServiceClient::RDSDataServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RDSDataServiceClient::RDSDataServiceClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RDSDataServiceClient::RDSDataServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RDSDataServiceClient::~RDSDataServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RDSDataServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -135,12 +100,7 @@ void RDSDataServiceClient::init(const RDSDataService::RDSDataServiceClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rds-data"); -} - -void RDSDataServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RDSDataServiceClient::InvokeOperationOutcome RDSDataServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceClientConfiguration.cpp new file mode 100644 index 000000000000..1d89912aef72 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RDSDataService { + +void RDSDataServiceClientConfiguration::LoadRDSDataServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RDSDataServiceClientConfiguration::RDSDataServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRDSDataServiceSpecificConfig(this->profileName); +} + +RDSDataServiceClientConfiguration::RDSDataServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRDSDataServiceSpecificConfig(Aws::String(inputProfileName)); +} + +RDSDataServiceClientConfiguration::RDSDataServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRDSDataServiceSpecificConfig(this->profileName); +} + +RDSDataServiceClientConfiguration::RDSDataServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRDSDataServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RDSDataServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RDSDataService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceEndpointProvider.cpp index a2d38188705e..a52383a5bf32 100644 --- a/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_RDSDATASERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace RDSDataService { namespace Endpoint { RDSDataServiceEndpointProvider::RDSDataServiceEndpointProvider() : RDSDataServiceDefaultEpProviderBase(Aws::RDSDataService::RDSDataServiceEndpointRules::GetRulesBlob(), Aws::RDSDataService::RDSDataServiceEndpointRules::RulesBlobSize) {} +void RDSDataServiceBuiltInParameters::SetFromClientConfiguration(const RDSDataServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RDSDataServiceBuiltInParameters::SetFromClientConfiguration(const RDSDataServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RDSDataServiceBuiltInParameters::SetServiceSpecificParameters(const RDSDataServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace RDSDataService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h index 50f4a1ead741..49b5a0fd609e 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClient.h @@ -84,27 +84,6 @@ class AWS_RDS_API RDSClient : public Aws::Client::AWSXMLClient, public Aws::Clie std::shared_ptr endpointProvider = nullptr, const Aws::RDS::RDSClientConfiguration& clientConfiguration = Aws::RDS::RDSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RDSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RDSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RDSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RDSClient(); /** @@ -5877,7 +5856,6 @@ class AWS_RDS_API RDSClient : public Aws::Client::AWSXMLClient, public Aws::Clie return SubmitAsync(&RDSClient::SwitchoverReadReplica, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClientConfiguration.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClientConfiguration.h new file mode 100644 index 000000000000..b84d7d6fc73f --- /dev/null +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RDS { +struct AWS_RDS_API RDSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RDSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RDSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RDSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RDSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRDSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RDS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RDSClientConfiguration& config); +} // namespace RDS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSEndpointProvider.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSEndpointProvider.h index dc6462bf56d3..c216d3d00927 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RDS { namespace Endpoint { +using RDSClientConfiguration = Aws::RDS::RDSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RDSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RDSClientConfiguration = Aws::Client::GenericClientConfiguration; -using RDSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RDS_API RDSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RDSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RDSClientConfiguration& config); + virtual void SetFromClientConfiguration(const RDSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RDSClientConfiguration& config); +}; /** * The type for the RDS Client Endpoint Provider. @@ -32,6 +41,22 @@ using RDSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace RDS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RDS_EXTERN template class AWS_RDS_API Aws::Endpoint::EndpointProviderBase< + RDS::Endpoint::RDSClientConfiguration, RDS::Endpoint::RDSBuiltInParameters, RDS::Endpoint::RDSClientContextParameters>; + +AWS_RDS_EXTERN template class AWS_RDS_API Aws::Endpoint::BDDEndpointProvider< + RDS::Endpoint::RDSClientConfiguration, RDS::Endpoint::RDSBuiltInParameters, RDS::Endpoint::RDSClientContextParameters>; +} // namespace Endpoint + +namespace RDS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSServiceClientModel.h b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSServiceClientModel.h index 0ba871eb9787..74a6142675d1 100644 --- a/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSServiceClientModel.h @@ -242,7 +242,6 @@ class RetryStrategy; } // namespace Client namespace RDS { -using RDSClientConfiguration = Aws::Client::GenericClientConfiguration; using RDSEndpointProviderBase = Aws::RDS::Endpoint::RDSEndpointProviderBase; using RDSEndpointProvider = Aws::RDS::Endpoint::RDSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-rds/source/RDSClient.cpp b/generated/src/aws-cpp-sdk-rds/source/RDSClient.cpp index 7e3cb8fd3aab..dc3a2c55cac6 100644 --- a/generated/src/aws-cpp-sdk-rds/source/RDSClient.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/RDSClient.cpp @@ -243,41 +243,6 @@ RDSClient::RDSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -RDSClient::RDSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RDSClient::RDSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RDSClient::RDSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RDSClient::~RDSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RDSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -295,12 +260,7 @@ void RDSClient::init(const RDS::RDSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rds"); -} - -void RDSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String RDSClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const { diff --git a/generated/src/aws-cpp-sdk-rds/source/RDSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-rds/source/RDSClientConfiguration.cpp new file mode 100644 index 000000000000..0aca1fc9deac --- /dev/null +++ b/generated/src/aws-cpp-sdk-rds/source/RDSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RDS { + +void RDSClientConfiguration::LoadRDSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RDSClientConfiguration::RDSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRDSSpecificConfig(this->profileName); +} + +RDSClientConfiguration::RDSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRDSSpecificConfig(Aws::String(inputProfileName)); +} + +RDSClientConfiguration::RDSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRDSSpecificConfig(this->profileName); +} + +RDSClientConfiguration::RDSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadRDSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RDSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RDS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rds/source/RDSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-rds/source/RDSEndpointProvider.cpp index 5a9b6f52b5d1..81e2d93c2d4a 100644 --- a/generated/src/aws-cpp-sdk-rds/source/RDSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-rds/source/RDSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_RDS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace RDS { namespace Endpoint { RDSEndpointProvider::RDSEndpointProvider() : RDSDefaultEpProviderBase(Aws::RDS::RDSEndpointRules::GetRulesBlob(), Aws::RDS::RDSEndpointRules::RulesBlobSize) {} +void RDSBuiltInParameters::SetFromClientConfiguration(const RDSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RDSBuiltInParameters::SetFromClientConfiguration(const RDSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RDSBuiltInParameters::SetServiceSpecificParameters(const RDSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace RDS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceClient.h b/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceClient.h index d13d68f92481..22922841d93c 100644 --- a/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceClient.h +++ b/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceClient.h @@ -63,27 +63,6 @@ class AWS_REDSHIFTDATAAPISERVICE_API RedshiftDataAPIServiceClient const Aws::RedshiftDataAPIService::RedshiftDataAPIServiceClientConfiguration& clientConfiguration = Aws::RedshiftDataAPIService::RedshiftDataAPIServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RedshiftDataAPIServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RedshiftDataAPIServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RedshiftDataAPIServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RedshiftDataAPIServiceClient(); /** @@ -622,7 +601,6 @@ class AWS_REDSHIFTDATAAPISERVICE_API RedshiftDataAPIServiceClient return SubmitAsync(&RedshiftDataAPIServiceClient::ListTables, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceClientConfiguration.h new file mode 100644 index 000000000000..9439289e3cc7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RedshiftDataAPIService { +struct AWS_REDSHIFTDATAAPISERVICE_API RedshiftDataAPIServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RedshiftDataAPIServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RedshiftDataAPIServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RedshiftDataAPIServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RedshiftDataAPIServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRedshiftDataAPIServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_REDSHIFTDATAAPISERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const RedshiftDataAPIServiceClientConfiguration& config); +} // namespace RedshiftDataAPIService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceEndpointProvider.h index 73ad4e6fc6db..97ac9aeea7f6 100644 --- a/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RedshiftDataAPIService { namespace Endpoint { +using RedshiftDataAPIServiceClientConfiguration = Aws::RedshiftDataAPIService::RedshiftDataAPIServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RedshiftDataAPIServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RedshiftDataAPIServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using RedshiftDataAPIServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_REDSHIFTDATAAPISERVICE_API RedshiftDataAPIServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RedshiftDataAPIServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RedshiftDataAPIServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const RedshiftDataAPIServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RedshiftDataAPIServiceClientConfiguration& config); +}; /** * The type for the RedshiftDataAPIService Client Endpoint Provider. @@ -36,6 +45,26 @@ using RedshiftDataAPIServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace RedshiftDataAPIService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_REDSHIFTDATAAPISERVICE_EXTERN template class AWS_REDSHIFTDATAAPISERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_REDSHIFTDATAAPISERVICE_EXTERN template class AWS_REDSHIFTDATAAPISERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace RedshiftDataAPIService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceServiceClientModel.h index 8709b577584f..9e91ca6d4a9c 100644 --- a/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceServiceClientModel.h @@ -61,7 +61,6 @@ class RetryStrategy; } // namespace Client namespace RedshiftDataAPIService { -using RedshiftDataAPIServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using RedshiftDataAPIServiceEndpointProviderBase = Aws::RedshiftDataAPIService::Endpoint::RedshiftDataAPIServiceEndpointProviderBase; using RedshiftDataAPIServiceEndpointProvider = Aws::RedshiftDataAPIService::Endpoint::RedshiftDataAPIServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceClient.cpp b/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceClient.cpp index e7bd6bb4c2c3..c67997ddf48a 100644 --- a/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceClient.cpp @@ -95,42 +95,6 @@ RedshiftDataAPIServiceClient::RedshiftDataAPIServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -RedshiftDataAPIServiceClient::RedshiftDataAPIServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RedshiftDataAPIServiceClient::RedshiftDataAPIServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RedshiftDataAPIServiceClient::RedshiftDataAPIServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RedshiftDataAPIServiceClient::~RedshiftDataAPIServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RedshiftDataAPIServiceClient::accessEndpointProvider() { @@ -150,12 +114,7 @@ void RedshiftDataAPIServiceClient::init(const RedshiftDataAPIService::RedshiftDa AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "redshift-data"); -} - -void RedshiftDataAPIServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RedshiftDataAPIServiceClient::InvokeOperationOutcome RedshiftDataAPIServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceClientConfiguration.cpp new file mode 100644 index 000000000000..a3cf657d07fc --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RedshiftDataAPIService { + +void RedshiftDataAPIServiceClientConfiguration::LoadRedshiftDataAPIServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RedshiftDataAPIServiceClientConfiguration::RedshiftDataAPIServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRedshiftDataAPIServiceSpecificConfig(this->profileName); +} + +RedshiftDataAPIServiceClientConfiguration::RedshiftDataAPIServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRedshiftDataAPIServiceSpecificConfig(Aws::String(inputProfileName)); +} + +RedshiftDataAPIServiceClientConfiguration::RedshiftDataAPIServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRedshiftDataAPIServiceSpecificConfig(this->profileName); +} + +RedshiftDataAPIServiceClientConfiguration::RedshiftDataAPIServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRedshiftDataAPIServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RedshiftDataAPIServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RedshiftDataAPIService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceEndpointProvider.cpp index 05e522fd57d4..681523e0519b 100644 --- a/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_REDSHIFTDATAAPISERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace RedshiftDataAPIService { namespace Endpoint { RedshiftDataAPIServiceEndpointProvider::RedshiftDataAPIServiceEndpointProvider() : RedshiftDataAPIServiceDefaultEpProviderBase(Aws::RedshiftDataAPIService::RedshiftDataAPIServiceEndpointRules::GetRulesBlob(), Aws::RedshiftDataAPIService::RedshiftDataAPIServiceEndpointRules::RulesBlobSize) {} +void RedshiftDataAPIServiceBuiltInParameters::SetFromClientConfiguration(const RedshiftDataAPIServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RedshiftDataAPIServiceBuiltInParameters::SetFromClientConfiguration(const RedshiftDataAPIServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RedshiftDataAPIServiceBuiltInParameters::SetServiceSpecificParameters(const RedshiftDataAPIServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace RedshiftDataAPIService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessClient.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessClient.h index 572f1d89c210..5cec3accd838 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessClient.h +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessClient.h @@ -67,27 +67,6 @@ class AWS_REDSHIFTSERVERLESS_API RedshiftServerlessClient : public Aws::Client:: const Aws::RedshiftServerless::RedshiftServerlessClientConfiguration& clientConfiguration = Aws::RedshiftServerless::RedshiftServerlessClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RedshiftServerlessClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RedshiftServerlessClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RedshiftServerlessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RedshiftServerlessClient(); /** @@ -1914,7 +1893,6 @@ class AWS_REDSHIFTSERVERLESS_API RedshiftServerlessClient : public Aws::Client:: return SubmitAsync(&RedshiftServerlessClient::UpdateWorkgroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessClientConfiguration.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessClientConfiguration.h new file mode 100644 index 000000000000..e1489c10522f --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RedshiftServerless { +struct AWS_REDSHIFTSERVERLESS_API RedshiftServerlessClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RedshiftServerlessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RedshiftServerlessClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RedshiftServerlessClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RedshiftServerlessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRedshiftServerlessSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_REDSHIFTSERVERLESS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RedshiftServerlessClientConfiguration& config); +} // namespace RedshiftServerless +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessEndpointProvider.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessEndpointProvider.h index b5ef417035f7..7981656b228e 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RedshiftServerless { namespace Endpoint { +using RedshiftServerlessClientConfiguration = Aws::RedshiftServerless::RedshiftServerlessClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RedshiftServerlessClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RedshiftServerlessClientConfiguration = Aws::Client::GenericClientConfiguration; -using RedshiftServerlessBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_REDSHIFTSERVERLESS_API RedshiftServerlessBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RedshiftServerlessBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RedshiftServerlessClientConfiguration& config); + virtual void SetFromClientConfiguration(const RedshiftServerlessClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RedshiftServerlessClientConfiguration& config); +}; /** * The type for the RedshiftServerless Client Endpoint Provider. @@ -36,6 +45,24 @@ using RedshiftServerlessDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace RedshiftServerless + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_REDSHIFTSERVERLESS_EXTERN template class AWS_REDSHIFTSERVERLESS_API Aws::Endpoint::EndpointProviderBase< + RedshiftServerless::Endpoint::RedshiftServerlessClientConfiguration, RedshiftServerless::Endpoint::RedshiftServerlessBuiltInParameters, + RedshiftServerless::Endpoint::RedshiftServerlessClientContextParameters>; + +AWS_REDSHIFTSERVERLESS_EXTERN template class AWS_REDSHIFTSERVERLESS_API Aws::Endpoint::BDDEndpointProvider< + RedshiftServerless::Endpoint::RedshiftServerlessClientConfiguration, RedshiftServerless::Endpoint::RedshiftServerlessBuiltInParameters, + RedshiftServerless::Endpoint::RedshiftServerlessClientContextParameters>; +} // namespace Endpoint + +namespace RedshiftServerless { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessServiceClientModel.h b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessServiceClientModel.h index 680f46db97e4..4ccefd2f3814 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessServiceClientModel.h @@ -127,7 +127,6 @@ class RetryStrategy; } // namespace Client namespace RedshiftServerless { -using RedshiftServerlessClientConfiguration = Aws::Client::GenericClientConfiguration; using RedshiftServerlessEndpointProviderBase = Aws::RedshiftServerless::Endpoint::RedshiftServerlessEndpointProviderBase; using RedshiftServerlessEndpointProvider = Aws::RedshiftServerless::Endpoint::RedshiftServerlessEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessClient.cpp b/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessClient.cpp index 3b4476fb6761..15b89b570a47 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessClient.cpp +++ b/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessClient.cpp @@ -146,42 +146,6 @@ RedshiftServerlessClient::RedshiftServerlessClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RedshiftServerlessClient::RedshiftServerlessClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RedshiftServerlessClient::RedshiftServerlessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RedshiftServerlessClient::~RedshiftServerlessClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RedshiftServerlessClient::accessEndpointProvider() { return m_endpointProvider; } @@ -199,12 +163,7 @@ void RedshiftServerlessClient::init(const RedshiftServerless::RedshiftServerless AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "redshift-serverless"); -} - -void RedshiftServerlessClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RedshiftServerlessClient::InvokeOperationOutcome RedshiftServerlessClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessClientConfiguration.cpp b/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessClientConfiguration.cpp new file mode 100644 index 000000000000..68555dab5da0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RedshiftServerless { + +void RedshiftServerlessClientConfiguration::LoadRedshiftServerlessSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RedshiftServerlessClientConfiguration::RedshiftServerlessClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRedshiftServerlessSpecificConfig(this->profileName); +} + +RedshiftServerlessClientConfiguration::RedshiftServerlessClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRedshiftServerlessSpecificConfig(Aws::String(inputProfileName)); +} + +RedshiftServerlessClientConfiguration::RedshiftServerlessClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRedshiftServerlessSpecificConfig(this->profileName); +} + +RedshiftServerlessClientConfiguration::RedshiftServerlessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRedshiftServerlessSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RedshiftServerlessClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RedshiftServerless +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessEndpointProvider.cpp b/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessEndpointProvider.cpp index cd6cea5e4857..b2384fc22a73 100644 --- a/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_REDSHIFTSERVERLESS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace RedshiftServerless { namespace Endpoint { RedshiftServerlessEndpointProvider::RedshiftServerlessEndpointProvider() : RedshiftServerlessDefaultEpProviderBase(Aws::RedshiftServerless::RedshiftServerlessEndpointRules::GetRulesBlob(), Aws::RedshiftServerless::RedshiftServerlessEndpointRules::RulesBlobSize) {} +void RedshiftServerlessBuiltInParameters::SetFromClientConfiguration(const RedshiftServerlessClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RedshiftServerlessBuiltInParameters::SetFromClientConfiguration(const RedshiftServerlessClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RedshiftServerlessBuiltInParameters::SetServiceSpecificParameters(const RedshiftServerlessClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace RedshiftServerless } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClient.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClient.h index 4cc01e17bffe..e7141d4beaa3 100644 --- a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClient.h +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClient.h @@ -74,27 +74,6 @@ class AWS_REDSHIFT_API RedshiftClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::Redshift::RedshiftClientConfiguration& clientConfiguration = Aws::Redshift::RedshiftClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RedshiftClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RedshiftClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RedshiftClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RedshiftClient(); /** @@ -4675,7 +4654,6 @@ class AWS_REDSHIFT_API RedshiftClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&RedshiftClient::UpdatePartnerStatus, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClientConfiguration.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClientConfiguration.h new file mode 100644 index 000000000000..541a5410791c --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Redshift { +struct AWS_REDSHIFT_API RedshiftClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RedshiftClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RedshiftClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RedshiftClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RedshiftClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRedshiftSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_REDSHIFT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RedshiftClientConfiguration& config); +} // namespace Redshift +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftEndpointProvider.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftEndpointProvider.h index 64ecb68b0c54..f4add03babe2 100644 --- a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Redshift { namespace Endpoint { +using RedshiftClientConfiguration = Aws::Redshift::RedshiftClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RedshiftClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RedshiftClientConfiguration = Aws::Client::GenericClientConfiguration; -using RedshiftBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_REDSHIFT_API RedshiftBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RedshiftBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RedshiftClientConfiguration& config); + virtual void SetFromClientConfiguration(const RedshiftClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RedshiftClientConfiguration& config); +}; /** * The type for the Redshift Client Endpoint Provider. @@ -34,6 +43,24 @@ using RedshiftEndpointProviderBase = using RedshiftDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Redshift + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_REDSHIFT_EXTERN template class AWS_REDSHIFT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_REDSHIFT_EXTERN template class AWS_REDSHIFT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Redshift { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftServiceClientModel.h b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftServiceClientModel.h index 60fe71a80641..3493e6cf9a23 100644 --- a/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftServiceClientModel.h @@ -215,7 +215,6 @@ class RetryStrategy; } // namespace Client namespace Redshift { -using RedshiftClientConfiguration = Aws::Client::GenericClientConfiguration; using RedshiftEndpointProviderBase = Aws::Redshift::Endpoint::RedshiftEndpointProviderBase; using RedshiftEndpointProvider = Aws::Redshift::Endpoint::RedshiftEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-redshift/source/RedshiftClient.cpp b/generated/src/aws-cpp-sdk-redshift/source/RedshiftClient.cpp index ef687149a6f0..472aadec4cbb 100644 --- a/generated/src/aws-cpp-sdk-redshift/source/RedshiftClient.cpp +++ b/generated/src/aws-cpp-sdk-redshift/source/RedshiftClient.cpp @@ -222,41 +222,6 @@ RedshiftClient::RedshiftClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -RedshiftClient::RedshiftClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RedshiftClient::RedshiftClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RedshiftClient::RedshiftClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RedshiftClient::~RedshiftClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RedshiftClient::accessEndpointProvider() { return m_endpointProvider; } @@ -274,12 +239,7 @@ void RedshiftClient::init(const Redshift::RedshiftClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "redshift"); -} - -void RedshiftClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String RedshiftClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-redshift/source/RedshiftClientConfiguration.cpp b/generated/src/aws-cpp-sdk-redshift/source/RedshiftClientConfiguration.cpp new file mode 100644 index 000000000000..44e59e08fc46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-redshift/source/RedshiftClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Redshift { + +void RedshiftClientConfiguration::LoadRedshiftSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RedshiftClientConfiguration::RedshiftClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRedshiftSpecificConfig(this->profileName); +} + +RedshiftClientConfiguration::RedshiftClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRedshiftSpecificConfig(Aws::String(inputProfileName)); +} + +RedshiftClientConfiguration::RedshiftClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRedshiftSpecificConfig(this->profileName); +} + +RedshiftClientConfiguration::RedshiftClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRedshiftSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RedshiftClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Redshift +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-redshift/source/RedshiftEndpointProvider.cpp b/generated/src/aws-cpp-sdk-redshift/source/RedshiftEndpointProvider.cpp index 6e1eeb2f1b30..e87fb4f9bffb 100644 --- a/generated/src/aws-cpp-sdk-redshift/source/RedshiftEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-redshift/source/RedshiftEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_REDSHIFT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Redshift { namespace Endpoint { RedshiftEndpointProvider::RedshiftEndpointProvider() : RedshiftDefaultEpProviderBase(Aws::Redshift::RedshiftEndpointRules::GetRulesBlob(), Aws::Redshift::RedshiftEndpointRules::RulesBlobSize) {} +void RedshiftBuiltInParameters::SetFromClientConfiguration(const RedshiftClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RedshiftBuiltInParameters::SetFromClientConfiguration(const RedshiftClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RedshiftBuiltInParameters::SetServiceSpecificParameters(const RedshiftClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Redshift } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionClient.h b/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionClient.h index c65ce8078cf4..16ffc934ba25 100644 --- a/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionClient.h +++ b/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionClient.h @@ -220,27 +220,6 @@ class AWS_REKOGNITION_API RekognitionClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Rekognition::RekognitionClientConfiguration& clientConfiguration = Aws::Rekognition::RekognitionClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RekognitionClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RekognitionClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RekognitionClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RekognitionClient(); /** @@ -3389,7 +3368,6 @@ class AWS_REKOGNITION_API RekognitionClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&RekognitionClient::UpdateStreamProcessor, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionClientConfiguration.h b/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionClientConfiguration.h new file mode 100644 index 000000000000..7f1f0ab6b6f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Rekognition { +struct AWS_REKOGNITION_API RekognitionClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RekognitionClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RekognitionClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RekognitionClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RekognitionClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRekognitionSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_REKOGNITION_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RekognitionClientConfiguration& config); +} // namespace Rekognition +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionEndpointProvider.h b/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionEndpointProvider.h index 87bca5dc4b98..493f4f319bca 100644 --- a/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Rekognition { namespace Endpoint { +using RekognitionClientConfiguration = Aws::Rekognition::RekognitionClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RekognitionClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RekognitionClientConfiguration = Aws::Client::GenericClientConfiguration; -using RekognitionBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_REKOGNITION_API RekognitionBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RekognitionBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RekognitionClientConfiguration& config); + virtual void SetFromClientConfiguration(const RekognitionClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RekognitionClientConfiguration& config); +}; /** * The type for the Rekognition Client Endpoint Provider. @@ -34,6 +43,24 @@ using RekognitionEndpointProviderBase = using RekognitionDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Rekognition + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_REKOGNITION_EXTERN template class AWS_REKOGNITION_API Aws::Endpoint::EndpointProviderBase< + Rekognition::Endpoint::RekognitionClientConfiguration, Rekognition::Endpoint::RekognitionBuiltInParameters, + Rekognition::Endpoint::RekognitionClientContextParameters>; + +AWS_REKOGNITION_EXTERN template class AWS_REKOGNITION_API Aws::Endpoint::BDDEndpointProvider< + Rekognition::Endpoint::RekognitionClientConfiguration, Rekognition::Endpoint::RekognitionBuiltInParameters, + Rekognition::Endpoint::RekognitionClientContextParameters>; +} // namespace Endpoint + +namespace Rekognition { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionServiceClientModel.h b/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionServiceClientModel.h index a987b6f60d0d..aba0da4934af 100644 --- a/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionServiceClientModel.h @@ -126,7 +126,6 @@ class RetryStrategy; } // namespace Client namespace Rekognition { -using RekognitionClientConfiguration = Aws::Client::GenericClientConfiguration; using RekognitionEndpointProviderBase = Aws::Rekognition::Endpoint::RekognitionEndpointProviderBase; using RekognitionEndpointProvider = Aws::Rekognition::Endpoint::RekognitionEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-rekognition/source/RekognitionClient.cpp b/generated/src/aws-cpp-sdk-rekognition/source/RekognitionClient.cpp index 93cfaf881689..bc94bf944444 100644 --- a/generated/src/aws-cpp-sdk-rekognition/source/RekognitionClient.cpp +++ b/generated/src/aws-cpp-sdk-rekognition/source/RekognitionClient.cpp @@ -152,41 +152,6 @@ RekognitionClient::RekognitionClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RekognitionClient::RekognitionClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RekognitionClient::RekognitionClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RekognitionClient::~RekognitionClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RekognitionClient::accessEndpointProvider() { return m_endpointProvider; } @@ -204,12 +169,7 @@ void RekognitionClient::init(const Rekognition::RekognitionClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rekognition"); -} - -void RekognitionClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RekognitionClient::InvokeOperationOutcome RekognitionClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-rekognition/source/RekognitionClientConfiguration.cpp b/generated/src/aws-cpp-sdk-rekognition/source/RekognitionClientConfiguration.cpp new file mode 100644 index 000000000000..58caf22245a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rekognition/source/RekognitionClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Rekognition { + +void RekognitionClientConfiguration::LoadRekognitionSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RekognitionClientConfiguration::RekognitionClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRekognitionSpecificConfig(this->profileName); +} + +RekognitionClientConfiguration::RekognitionClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRekognitionSpecificConfig(Aws::String(inputProfileName)); +} + +RekognitionClientConfiguration::RekognitionClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRekognitionSpecificConfig(this->profileName); +} + +RekognitionClientConfiguration::RekognitionClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRekognitionSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RekognitionClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Rekognition +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rekognition/source/RekognitionEndpointProvider.cpp b/generated/src/aws-cpp-sdk-rekognition/source/RekognitionEndpointProvider.cpp index fdfa5d924711..586c1b31c559 100644 --- a/generated/src/aws-cpp-sdk-rekognition/source/RekognitionEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-rekognition/source/RekognitionEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_REKOGNITION_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Rekognition { namespace Endpoint { RekognitionEndpointProvider::RekognitionEndpointProvider() : RekognitionDefaultEpProviderBase(Aws::Rekognition::RekognitionEndpointRules::GetRulesBlob(), Aws::Rekognition::RekognitionEndpointRules::RulesBlobSize) {} +void RekognitionBuiltInParameters::SetFromClientConfiguration(const RekognitionClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RekognitionBuiltInParameters::SetFromClientConfiguration(const RekognitionClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RekognitionBuiltInParameters::SetServiceSpecificParameters(const RekognitionClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Rekognition } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClient.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClient.h index f56ef4bbedf0..22f0dc1bfe28 100644 --- a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClient.h +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClient.h @@ -64,27 +64,6 @@ class AWS_REPOSTSPACE_API RepostspaceClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::repostspace::RepostspaceClientConfiguration& clientConfiguration = Aws::repostspace::RepostspaceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RepostspaceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RepostspaceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RepostspaceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RepostspaceClient(); /** @@ -593,7 +572,6 @@ class AWS_REPOSTSPACE_API RepostspaceClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&RepostspaceClient::UpdateSpace, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClientConfiguration.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClientConfiguration.h new file mode 100644 index 000000000000..297c2e030b4e --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace repostspace { +struct AWS_REPOSTSPACE_API RepostspaceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RepostspaceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RepostspaceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RepostspaceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RepostspaceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadrepostspaceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_REPOSTSPACE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RepostspaceClientConfiguration& config); +} // namespace repostspace +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointProvider.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointProvider.h index dabf8e8f2b99..bb506b7ca453 100644 --- a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace repostspace { namespace Endpoint { +using RepostspaceClientConfiguration = Aws::repostspace::RepostspaceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RepostspaceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RepostspaceClientConfiguration = Aws::Client::GenericClientConfiguration; -using RepostspaceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_REPOSTSPACE_API RepostspaceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RepostspaceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RepostspaceClientConfiguration& config); + virtual void SetFromClientConfiguration(const RepostspaceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RepostspaceClientConfiguration& config); +}; /** * The type for the repostspace Client Endpoint Provider. @@ -34,6 +43,24 @@ using RepostspaceEndpointProviderBase = using RepostspaceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace repostspace + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_REPOSTSPACE_EXTERN template class AWS_REPOSTSPACE_API Aws::Endpoint::EndpointProviderBase< + repostspace::Endpoint::RepostspaceClientConfiguration, repostspace::Endpoint::RepostspaceBuiltInParameters, + repostspace::Endpoint::RepostspaceClientContextParameters>; + +AWS_REPOSTSPACE_EXTERN template class AWS_REPOSTSPACE_API Aws::Endpoint::BDDEndpointProvider< + repostspace::Endpoint::RepostspaceClientConfiguration, repostspace::Endpoint::RepostspaceBuiltInParameters, + repostspace::Endpoint::RepostspaceClientContextParameters>; +} // namespace Endpoint + +namespace repostspace { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceServiceClientModel.h b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceServiceClientModel.h index d6d5d236eaea..b815494e34f4 100644 --- a/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceServiceClientModel.h @@ -62,7 +62,6 @@ class RetryStrategy; } // namespace Client namespace repostspace { -using RepostspaceClientConfiguration = Aws::Client::GenericClientConfiguration; using RepostspaceEndpointProviderBase = Aws::repostspace::Endpoint::RepostspaceEndpointProviderBase; using RepostspaceEndpointProvider = Aws::repostspace::Endpoint::RepostspaceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClient.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClient.cpp index b3baa79eff4e..aca4665f9a6d 100644 --- a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClient.cpp +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClient.cpp @@ -96,41 +96,6 @@ RepostspaceClient::RepostspaceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RepostspaceClient::RepostspaceClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RepostspaceClient::RepostspaceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RepostspaceClient::~RepostspaceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RepostspaceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +113,7 @@ void RepostspaceClient::init(const repostspace::RepostspaceClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "repostspace"); -} - -void RepostspaceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RepostspaceClient::InvokeOperationOutcome RepostspaceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClientConfiguration.cpp new file mode 100644 index 000000000000..e1cecfa4bf4b --- /dev/null +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace repostspace { + +void RepostspaceClientConfiguration::LoadrepostspaceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RepostspaceClientConfiguration::RepostspaceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadrepostspaceSpecificConfig(this->profileName); +} + +RepostspaceClientConfiguration::RepostspaceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadrepostspaceSpecificConfig(Aws::String(inputProfileName)); +} + +RepostspaceClientConfiguration::RepostspaceClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadrepostspaceSpecificConfig(this->profileName); +} + +RepostspaceClientConfiguration::RepostspaceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadrepostspaceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RepostspaceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace repostspace +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointProvider.cpp index f5de2d026436..68bfb4afa22c 100644 --- a/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-repostspace/source/RepostspaceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_REPOSTSPACE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace repostspace { namespace Endpoint { RepostspaceEndpointProvider::RepostspaceEndpointProvider() : RepostspaceDefaultEpProviderBase(Aws::repostspace::RepostspaceEndpointRules::GetRulesBlob(), Aws::repostspace::RepostspaceEndpointRules::RulesBlobSize) {} +void RepostspaceBuiltInParameters::SetFromClientConfiguration(const RepostspaceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RepostspaceBuiltInParameters::SetFromClientConfiguration(const RepostspaceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RepostspaceBuiltInParameters::SetServiceSpecificParameters(const RepostspaceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace repostspace } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubClient.h b/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubClient.h index cad5de55673a..e2c27bd39846 100644 --- a/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubClient.h +++ b/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubClient.h @@ -62,27 +62,6 @@ class AWS_RESILIENCEHUB_API ResilienceHubClient : public Aws::Client::AWSJsonCli const Aws::ResilienceHub::ResilienceHubClientConfiguration& clientConfiguration = Aws::ResilienceHub::ResilienceHubClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ResilienceHubClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ResilienceHubClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ResilienceHubClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ResilienceHubClient(); /** @@ -1971,7 +1950,6 @@ class AWS_RESILIENCEHUB_API ResilienceHubClient : public Aws::Client::AWSJsonCli return SubmitAsync(&ResilienceHubClient::UpdateResiliencyPolicy, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubClientConfiguration.h b/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubClientConfiguration.h new file mode 100644 index 000000000000..fac03788264d --- /dev/null +++ b/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ResilienceHub { +struct AWS_RESILIENCEHUB_API ResilienceHubClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ResilienceHubClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ResilienceHubClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ResilienceHubClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ResilienceHubClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadResilienceHubSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RESILIENCEHUB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ResilienceHubClientConfiguration& config); +} // namespace ResilienceHub +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubEndpointProvider.h b/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubEndpointProvider.h index 94db7df2e073..531bf127b3b1 100644 --- a/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ResilienceHub { namespace Endpoint { +using ResilienceHubClientConfiguration = Aws::ResilienceHub::ResilienceHubClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ResilienceHubClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ResilienceHubClientConfiguration = Aws::Client::GenericClientConfiguration; -using ResilienceHubBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RESILIENCEHUB_API ResilienceHubBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ResilienceHubBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ResilienceHubClientConfiguration& config); + virtual void SetFromClientConfiguration(const ResilienceHubClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ResilienceHubClientConfiguration& config); +}; /** * The type for the ResilienceHub Client Endpoint Provider. @@ -34,6 +43,24 @@ using ResilienceHubEndpointProviderBase = using ResilienceHubDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ResilienceHub + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RESILIENCEHUB_EXTERN template class AWS_RESILIENCEHUB_API Aws::Endpoint::EndpointProviderBase< + ResilienceHub::Endpoint::ResilienceHubClientConfiguration, ResilienceHub::Endpoint::ResilienceHubBuiltInParameters, + ResilienceHub::Endpoint::ResilienceHubClientContextParameters>; + +AWS_RESILIENCEHUB_EXTERN template class AWS_RESILIENCEHUB_API Aws::Endpoint::BDDEndpointProvider< + ResilienceHub::Endpoint::ResilienceHubClientConfiguration, ResilienceHub::Endpoint::ResilienceHubBuiltInParameters, + ResilienceHub::Endpoint::ResilienceHubClientContextParameters>; +} // namespace Endpoint + +namespace ResilienceHub { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubServiceClientModel.h b/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubServiceClientModel.h index a720346b56d1..3a88523ea53d 100644 --- a/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubServiceClientModel.h @@ -117,7 +117,6 @@ class RetryStrategy; } // namespace Client namespace ResilienceHub { -using ResilienceHubClientConfiguration = Aws::Client::GenericClientConfiguration; using ResilienceHubEndpointProviderBase = Aws::ResilienceHub::Endpoint::ResilienceHubEndpointProviderBase; using ResilienceHubEndpointProvider = Aws::ResilienceHub::Endpoint::ResilienceHubEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubClient.cpp b/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubClient.cpp index c8475f3746fa..6083afe05d5d 100644 --- a/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubClient.cpp +++ b/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubClient.cpp @@ -141,41 +141,6 @@ ResilienceHubClient::ResilienceHubClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ResilienceHubClient::ResilienceHubClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ResilienceHubClient::ResilienceHubClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ResilienceHubClient::~ResilienceHubClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ResilienceHubClient::accessEndpointProvider() { return m_endpointProvider; } @@ -193,12 +158,7 @@ void ResilienceHubClient::init(const ResilienceHub::ResilienceHubClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "resiliencehub"); -} - -void ResilienceHubClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ResilienceHubClient::InvokeOperationOutcome ResilienceHubClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubClientConfiguration.cpp b/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubClientConfiguration.cpp new file mode 100644 index 000000000000..a5bfdd3a9137 --- /dev/null +++ b/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ResilienceHub { + +void ResilienceHubClientConfiguration::LoadResilienceHubSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ResilienceHubClientConfiguration::ResilienceHubClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadResilienceHubSpecificConfig(this->profileName); +} + +ResilienceHubClientConfiguration::ResilienceHubClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadResilienceHubSpecificConfig(Aws::String(inputProfileName)); +} + +ResilienceHubClientConfiguration::ResilienceHubClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadResilienceHubSpecificConfig(this->profileName); +} + +ResilienceHubClientConfiguration::ResilienceHubClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadResilienceHubSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ResilienceHubClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ResilienceHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubEndpointProvider.cpp b/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubEndpointProvider.cpp index 5a19afb24bcc..91a32f955c48 100644 --- a/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_RESILIENCEHUB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ResilienceHub { namespace Endpoint { ResilienceHubEndpointProvider::ResilienceHubEndpointProvider() : ResilienceHubDefaultEpProviderBase(Aws::ResilienceHub::ResilienceHubEndpointRules::GetRulesBlob(), Aws::ResilienceHub::ResilienceHubEndpointRules::RulesBlobSize) {} +void ResilienceHubBuiltInParameters::SetFromClientConfiguration(const ResilienceHubClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ResilienceHubBuiltInParameters::SetFromClientConfiguration(const ResilienceHubClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ResilienceHubBuiltInParameters::SetServiceSpecificParameters(const ResilienceHubClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ResilienceHub } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2Client.h b/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2Client.h index 5eb6dd5ce977..e19857bc6c6e 100644 --- a/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2Client.h +++ b/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2Client.h @@ -60,27 +60,6 @@ class AWS_RESILIENCEHUBV2_API Resiliencehubv2Client : public Aws::Client::AWSJso const Aws::resiliencehubv2::Resiliencehubv2ClientConfiguration& clientConfiguration = Aws::resiliencehubv2::Resiliencehubv2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Resiliencehubv2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Resiliencehubv2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Resiliencehubv2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Resiliencehubv2Client(); /** @@ -2006,7 +1985,6 @@ class AWS_RESILIENCEHUBV2_API Resiliencehubv2Client : public Aws::Client::AWSJso return SubmitAsync(&Resiliencehubv2Client::UpdateUserJourney, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2ClientConfiguration.h b/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2ClientConfiguration.h new file mode 100644 index 000000000000..3a7c60272eef --- /dev/null +++ b/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace resiliencehubv2 { +struct AWS_RESILIENCEHUBV2_API Resiliencehubv2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Resiliencehubv2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Resiliencehubv2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Resiliencehubv2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Resiliencehubv2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void Loadresiliencehubv2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RESILIENCEHUBV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Resiliencehubv2ClientConfiguration& config); +} // namespace resiliencehubv2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2EndpointProvider.h b/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2EndpointProvider.h index 714b0d7b5d8f..4f3d05763cdc 100644 --- a/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace resiliencehubv2 { namespace Endpoint { +using Resiliencehubv2ClientConfiguration = Aws::resiliencehubv2::Resiliencehubv2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Resiliencehubv2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Resiliencehubv2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using Resiliencehubv2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RESILIENCEHUBV2_API Resiliencehubv2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Resiliencehubv2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Resiliencehubv2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const Resiliencehubv2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Resiliencehubv2ClientConfiguration& config); +}; /** * The type for the resiliencehubv2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using Resiliencehubv2EndpointProviderBase = using Resiliencehubv2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace resiliencehubv2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RESILIENCEHUBV2_EXTERN template class AWS_RESILIENCEHUBV2_API Aws::Endpoint::EndpointProviderBase< + resiliencehubv2::Endpoint::Resiliencehubv2ClientConfiguration, resiliencehubv2::Endpoint::Resiliencehubv2BuiltInParameters, + resiliencehubv2::Endpoint::Resiliencehubv2ClientContextParameters>; + +AWS_RESILIENCEHUBV2_EXTERN template class AWS_RESILIENCEHUBV2_API Aws::Endpoint::BDDEndpointProvider< + resiliencehubv2::Endpoint::Resiliencehubv2ClientConfiguration, resiliencehubv2::Endpoint::Resiliencehubv2BuiltInParameters, + resiliencehubv2::Endpoint::Resiliencehubv2ClientContextParameters>; +} // namespace Endpoint + +namespace resiliencehubv2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2ServiceClientModel.h b/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2ServiceClientModel.h index fbdfb892d105..ebfa7a7e86cb 100644 --- a/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2ServiceClientModel.h @@ -125,7 +125,6 @@ class RetryStrategy; } // namespace Client namespace resiliencehubv2 { -using Resiliencehubv2ClientConfiguration = Aws::Client::GenericClientConfiguration; using Resiliencehubv2EndpointProviderBase = Aws::resiliencehubv2::Endpoint::Resiliencehubv2EndpointProviderBase; using Resiliencehubv2EndpointProvider = Aws::resiliencehubv2::Endpoint::Resiliencehubv2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2Client.cpp b/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2Client.cpp index 6d52c800b6ef..008b4a48d2a6 100644 --- a/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2Client.cpp +++ b/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2Client.cpp @@ -154,41 +154,6 @@ Resiliencehubv2Client::Resiliencehubv2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Resiliencehubv2Client::Resiliencehubv2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Resiliencehubv2Client::Resiliencehubv2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Resiliencehubv2Client::~Resiliencehubv2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& Resiliencehubv2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -206,12 +171,7 @@ void Resiliencehubv2Client::init(const resiliencehubv2::Resiliencehubv2ClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "resiliencehub"); -} - -void Resiliencehubv2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Resiliencehubv2Client::InvokeOperationOutcome Resiliencehubv2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2ClientConfiguration.cpp new file mode 100644 index 000000000000..1d7ebdc71554 --- /dev/null +++ b/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2ClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace resiliencehubv2 { + +void Resiliencehubv2ClientConfiguration::Loadresiliencehubv2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Resiliencehubv2ClientConfiguration::Resiliencehubv2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + Loadresiliencehubv2SpecificConfig(this->profileName); +} + +Resiliencehubv2ClientConfiguration::Resiliencehubv2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + Loadresiliencehubv2SpecificConfig(Aws::String(inputProfileName)); +} + +Resiliencehubv2ClientConfiguration::Resiliencehubv2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + Loadresiliencehubv2SpecificConfig(this->profileName); +} + +Resiliencehubv2ClientConfiguration::Resiliencehubv2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + Loadresiliencehubv2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Resiliencehubv2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace resiliencehubv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2EndpointProvider.cpp index 62cb824f6bfa..ca2e7bf476de 100644 --- a/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_RESILIENCEHUBV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace resiliencehubv2 { namespace Endpoint { Resiliencehubv2EndpointProvider::Resiliencehubv2EndpointProvider() : Resiliencehubv2DefaultEpProviderBase(Aws::resiliencehubv2::Resiliencehubv2EndpointRules::GetRulesBlob(), Aws::resiliencehubv2::Resiliencehubv2EndpointRules::RulesBlobSize) {} +void Resiliencehubv2BuiltInParameters::SetFromClientConfiguration(const Resiliencehubv2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Resiliencehubv2BuiltInParameters::SetFromClientConfiguration(const Resiliencehubv2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Resiliencehubv2BuiltInParameters::SetServiceSpecificParameters(const Resiliencehubv2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace resiliencehubv2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2Client.h b/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2Client.h index 408d5494e126..a8ee34899966 100644 --- a/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2Client.h +++ b/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2Client.h @@ -84,27 +84,6 @@ class AWS_RESOURCEEXPLORER2_API ResourceExplorer2Client : public Aws::Client::AW const Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration& clientConfiguration = Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ResourceExplorer2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ResourceExplorer2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ResourceExplorer2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ResourceExplorer2Client(); /** @@ -1135,7 +1114,6 @@ class AWS_RESOURCEEXPLORER2_API ResourceExplorer2Client : public Aws::Client::AW return SubmitAsync(&ResourceExplorer2Client::UpdateView, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2ClientConfiguration.h b/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2ClientConfiguration.h new file mode 100644 index 000000000000..008f8d3ef913 --- /dev/null +++ b/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ResourceExplorer2 { +struct AWS_RESOURCEEXPLORER2_API ResourceExplorer2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ResourceExplorer2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ResourceExplorer2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ResourceExplorer2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ResourceExplorer2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadResourceExplorer2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RESOURCEEXPLORER2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ResourceExplorer2ClientConfiguration& config); +} // namespace ResourceExplorer2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2EndpointProvider.h b/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2EndpointProvider.h index ec244d808ff8..8677752e120d 100644 --- a/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ResourceExplorer2 { namespace Endpoint { +using ResourceExplorer2ClientConfiguration = Aws::ResourceExplorer2::ResourceExplorer2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ResourceExplorer2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ResourceExplorer2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using ResourceExplorer2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RESOURCEEXPLORER2_API ResourceExplorer2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ResourceExplorer2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ResourceExplorer2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const ResourceExplorer2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ResourceExplorer2ClientConfiguration& config); +}; /** * The type for the ResourceExplorer2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using ResourceExplorer2EndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace ResourceExplorer2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RESOURCEEXPLORER2_EXTERN template class AWS_RESOURCEEXPLORER2_API Aws::Endpoint::EndpointProviderBase< + ResourceExplorer2::Endpoint::ResourceExplorer2ClientConfiguration, ResourceExplorer2::Endpoint::ResourceExplorer2BuiltInParameters, + ResourceExplorer2::Endpoint::ResourceExplorer2ClientContextParameters>; + +AWS_RESOURCEEXPLORER2_EXTERN template class AWS_RESOURCEEXPLORER2_API Aws::Endpoint::BDDEndpointProvider< + ResourceExplorer2::Endpoint::ResourceExplorer2ClientConfiguration, ResourceExplorer2::Endpoint::ResourceExplorer2BuiltInParameters, + ResourceExplorer2::Endpoint::ResourceExplorer2ClientContextParameters>; +} // namespace Endpoint + +namespace ResourceExplorer2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2ServiceClientModel.h b/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2ServiceClientModel.h index e3ee2814b75d..3785b4d3c5c0 100644 --- a/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2ServiceClientModel.h @@ -94,7 +94,6 @@ class RetryStrategy; } // namespace Client namespace ResourceExplorer2 { -using ResourceExplorer2ClientConfiguration = Aws::Client::GenericClientConfiguration; using ResourceExplorer2EndpointProviderBase = Aws::ResourceExplorer2::Endpoint::ResourceExplorer2EndpointProviderBase; using ResourceExplorer2EndpointProvider = Aws::ResourceExplorer2::Endpoint::ResourceExplorer2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2Client.cpp b/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2Client.cpp index 127e36724989..bfb459b55e8d 100644 --- a/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2Client.cpp +++ b/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2Client.cpp @@ -113,42 +113,6 @@ ResourceExplorer2Client::ResourceExplorer2Client(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ResourceExplorer2Client::ResourceExplorer2Client(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ResourceExplorer2Client::ResourceExplorer2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ResourceExplorer2Client::~ResourceExplorer2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& ResourceExplorer2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -166,12 +130,7 @@ void ResourceExplorer2Client::init(const ResourceExplorer2::ResourceExplorer2Cli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "resource-explorer-2"); -} - -void ResourceExplorer2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ResourceExplorer2Client::InvokeOperationOutcome ResourceExplorer2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2ClientConfiguration.cpp new file mode 100644 index 000000000000..00d7039765b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2ClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ResourceExplorer2 { + +void ResourceExplorer2ClientConfiguration::LoadResourceExplorer2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ResourceExplorer2ClientConfiguration::ResourceExplorer2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadResourceExplorer2SpecificConfig(this->profileName); +} + +ResourceExplorer2ClientConfiguration::ResourceExplorer2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadResourceExplorer2SpecificConfig(Aws::String(inputProfileName)); +} + +ResourceExplorer2ClientConfiguration::ResourceExplorer2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadResourceExplorer2SpecificConfig(this->profileName); +} + +ResourceExplorer2ClientConfiguration::ResourceExplorer2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadResourceExplorer2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ResourceExplorer2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ResourceExplorer2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2EndpointProvider.cpp index ce1c864450b5..31b4f33e68c5 100644 --- a/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_RESOURCEEXPLORER2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ResourceExplorer2 { namespace Endpoint { ResourceExplorer2EndpointProvider::ResourceExplorer2EndpointProvider() : ResourceExplorer2DefaultEpProviderBase(Aws::ResourceExplorer2::ResourceExplorer2EndpointRules::GetRulesBlob(), Aws::ResourceExplorer2::ResourceExplorer2EndpointRules::RulesBlobSize) {} +void ResourceExplorer2BuiltInParameters::SetFromClientConfiguration(const ResourceExplorer2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ResourceExplorer2BuiltInParameters::SetFromClientConfiguration(const ResourceExplorer2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ResourceExplorer2BuiltInParameters::SetServiceSpecificParameters(const ResourceExplorer2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ResourceExplorer2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsClient.h b/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsClient.h index d54a0f1aa3fa..73ba37b03cc9 100644 --- a/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsClient.h +++ b/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsClient.h @@ -80,27 +80,6 @@ class AWS_RESOURCEGROUPS_API ResourceGroupsClient : public Aws::Client::AWSJsonC const Aws::ResourceGroups::ResourceGroupsClientConfiguration& clientConfiguration = Aws::ResourceGroups::ResourceGroupsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ResourceGroupsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ResourceGroupsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ResourceGroupsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ResourceGroupsClient(); /** @@ -823,7 +802,6 @@ class AWS_RESOURCEGROUPS_API ResourceGroupsClient : public Aws::Client::AWSJsonC return SubmitAsync(&ResourceGroupsClient::UpdateGroupQuery, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsClientConfiguration.h b/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsClientConfiguration.h new file mode 100644 index 000000000000..edc0a17b3d69 --- /dev/null +++ b/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ResourceGroups { +struct AWS_RESOURCEGROUPS_API ResourceGroupsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ResourceGroupsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ResourceGroupsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ResourceGroupsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ResourceGroupsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadResourceGroupsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RESOURCEGROUPS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ResourceGroupsClientConfiguration& config); +} // namespace ResourceGroups +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsEndpointProvider.h b/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsEndpointProvider.h index 2f144c2494a8..317a8d77a350 100644 --- a/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ResourceGroups { namespace Endpoint { +using ResourceGroupsClientConfiguration = Aws::ResourceGroups::ResourceGroupsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ResourceGroupsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ResourceGroupsClientConfiguration = Aws::Client::GenericClientConfiguration; -using ResourceGroupsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RESOURCEGROUPS_API ResourceGroupsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ResourceGroupsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ResourceGroupsClientConfiguration& config); + virtual void SetFromClientConfiguration(const ResourceGroupsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ResourceGroupsClientConfiguration& config); +}; /** * The type for the ResourceGroups Client Endpoint Provider. @@ -34,6 +43,24 @@ using ResourceGroupsEndpointProviderBase = using ResourceGroupsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ResourceGroups + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RESOURCEGROUPS_EXTERN template class AWS_RESOURCEGROUPS_API Aws::Endpoint::EndpointProviderBase< + ResourceGroups::Endpoint::ResourceGroupsClientConfiguration, ResourceGroups::Endpoint::ResourceGroupsBuiltInParameters, + ResourceGroups::Endpoint::ResourceGroupsClientContextParameters>; + +AWS_RESOURCEGROUPS_EXTERN template class AWS_RESOURCEGROUPS_API Aws::Endpoint::BDDEndpointProvider< + ResourceGroups::Endpoint::ResourceGroupsClientConfiguration, ResourceGroups::Endpoint::ResourceGroupsBuiltInParameters, + ResourceGroups::Endpoint::ResourceGroupsClientContextParameters>; +} // namespace Endpoint + +namespace ResourceGroups { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsServiceClientModel.h b/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsServiceClientModel.h index b129f0f2b06e..bfd71e52a057 100644 --- a/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace ResourceGroups { -using ResourceGroupsClientConfiguration = Aws::Client::GenericClientConfiguration; using ResourceGroupsEndpointProviderBase = Aws::ResourceGroups::Endpoint::ResourceGroupsEndpointProviderBase; using ResourceGroupsEndpointProvider = Aws::ResourceGroups::Endpoint::ResourceGroupsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsClient.cpp b/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsClient.cpp index 2d598ff5cc92..0f3251d34416 100644 --- a/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsClient.cpp +++ b/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsClient.cpp @@ -101,41 +101,6 @@ ResourceGroupsClient::ResourceGroupsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ResourceGroupsClient::ResourceGroupsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ResourceGroupsClient::ResourceGroupsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ResourceGroupsClient::~ResourceGroupsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ResourceGroupsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -153,12 +118,7 @@ void ResourceGroupsClient::init(const ResourceGroups::ResourceGroupsClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "resource-groups"); -} - -void ResourceGroupsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ResourceGroupsClient::InvokeOperationOutcome ResourceGroupsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsClientConfiguration.cpp new file mode 100644 index 000000000000..fa479bcf017d --- /dev/null +++ b/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ResourceGroups { + +void ResourceGroupsClientConfiguration::LoadResourceGroupsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ResourceGroupsClientConfiguration::ResourceGroupsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadResourceGroupsSpecificConfig(this->profileName); +} + +ResourceGroupsClientConfiguration::ResourceGroupsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadResourceGroupsSpecificConfig(Aws::String(inputProfileName)); +} + +ResourceGroupsClientConfiguration::ResourceGroupsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadResourceGroupsSpecificConfig(this->profileName); +} + +ResourceGroupsClientConfiguration::ResourceGroupsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadResourceGroupsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ResourceGroupsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ResourceGroups +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsEndpointProvider.cpp index 25aa2d6f89a4..7e1a9ca5debb 100644 --- a/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_RESOURCEGROUPS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ResourceGroups { namespace Endpoint { ResourceGroupsEndpointProvider::ResourceGroupsEndpointProvider() : ResourceGroupsDefaultEpProviderBase(Aws::ResourceGroups::ResourceGroupsEndpointRules::GetRulesBlob(), Aws::ResourceGroups::ResourceGroupsEndpointRules::RulesBlobSize) {} +void ResourceGroupsBuiltInParameters::SetFromClientConfiguration(const ResourceGroupsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ResourceGroupsBuiltInParameters::SetFromClientConfiguration(const ResourceGroupsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ResourceGroupsBuiltInParameters::SetServiceSpecificParameters(const ResourceGroupsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ResourceGroups } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIClient.h b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIClient.h index 1df2d36cacc4..a44e2ff21f21 100644 --- a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIClient.h +++ b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIClient.h @@ -57,27 +57,6 @@ class AWS_RESOURCEGROUPSTAGGINGAPI_API ResourceGroupsTaggingAPIClient const Aws::ResourceGroupsTaggingAPI::ResourceGroupsTaggingAPIClientConfiguration& clientConfiguration = Aws::ResourceGroupsTaggingAPI::ResourceGroupsTaggingAPIClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ResourceGroupsTaggingAPIClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ResourceGroupsTaggingAPIClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ResourceGroupsTaggingAPIClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ResourceGroupsTaggingAPIClient(); /** @@ -444,7 +423,6 @@ class AWS_RESOURCEGROUPSTAGGINGAPI_API ResourceGroupsTaggingAPIClient return SubmitAsync(&ResourceGroupsTaggingAPIClient::UntagResources, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIClientConfiguration.h b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIClientConfiguration.h new file mode 100644 index 000000000000..b0f862efddcf --- /dev/null +++ b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ResourceGroupsTaggingAPI { +struct AWS_RESOURCEGROUPSTAGGINGAPI_API ResourceGroupsTaggingAPIClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ResourceGroupsTaggingAPIClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ResourceGroupsTaggingAPIClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ResourceGroupsTaggingAPIClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ResourceGroupsTaggingAPIClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadResourceGroupsTaggingAPISpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RESOURCEGROUPSTAGGINGAPI_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ResourceGroupsTaggingAPIClientConfiguration& config); +} // namespace ResourceGroupsTaggingAPI +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIEndpointProvider.h b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIEndpointProvider.h index bf9e7cd2e619..93fc4e2b7669 100644 --- a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ResourceGroupsTaggingAPI { namespace Endpoint { +using ResourceGroupsTaggingAPIClientConfiguration = Aws::ResourceGroupsTaggingAPI::ResourceGroupsTaggingAPIClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ResourceGroupsTaggingAPIClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ResourceGroupsTaggingAPIClientConfiguration = Aws::Client::GenericClientConfiguration; -using ResourceGroupsTaggingAPIBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RESOURCEGROUPSTAGGINGAPI_API ResourceGroupsTaggingAPIBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ResourceGroupsTaggingAPIBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ResourceGroupsTaggingAPIClientConfiguration& config); + virtual void SetFromClientConfiguration(const ResourceGroupsTaggingAPIClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ResourceGroupsTaggingAPIClientConfiguration& config); +}; /** * The type for the ResourceGroupsTaggingAPI Client Endpoint Provider. @@ -36,6 +45,26 @@ using ResourceGroupsTaggingAPIDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ResourceGroupsTaggingAPI + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RESOURCEGROUPSTAGGINGAPI_EXTERN template class AWS_RESOURCEGROUPSTAGGINGAPI_API + Aws::Endpoint::EndpointProviderBase; + +AWS_RESOURCEGROUPSTAGGINGAPI_EXTERN template class AWS_RESOURCEGROUPSTAGGINGAPI_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ResourceGroupsTaggingAPI { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIServiceClientModel.h b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIServiceClientModel.h index 9e9e5683ae67..d49ae6105212 100644 --- a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace ResourceGroupsTaggingAPI { -using ResourceGroupsTaggingAPIClientConfiguration = Aws::Client::GenericClientConfiguration; using ResourceGroupsTaggingAPIEndpointProviderBase = Aws::ResourceGroupsTaggingAPI::Endpoint::ResourceGroupsTaggingAPIEndpointProviderBase; using ResourceGroupsTaggingAPIEndpointProvider = Aws::ResourceGroupsTaggingAPI::Endpoint::ResourceGroupsTaggingAPIEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIClient.cpp b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIClient.cpp index a924fd4b8d2e..65fa681f4cd2 100644 --- a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIClient.cpp +++ b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIClient.cpp @@ -92,42 +92,6 @@ ResourceGroupsTaggingAPIClient::ResourceGroupsTaggingAPIClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ResourceGroupsTaggingAPIClient::ResourceGroupsTaggingAPIClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ResourceGroupsTaggingAPIClient::ResourceGroupsTaggingAPIClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ResourceGroupsTaggingAPIClient::ResourceGroupsTaggingAPIClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ResourceGroupsTaggingAPIClient::~ResourceGroupsTaggingAPIClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ResourceGroupsTaggingAPIClient::accessEndpointProvider() { @@ -147,12 +111,7 @@ void ResourceGroupsTaggingAPIClient::init(const ResourceGroupsTaggingAPI::Resour AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "tagging"); -} - -void ResourceGroupsTaggingAPIClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ResourceGroupsTaggingAPIClient::InvokeOperationOutcome ResourceGroupsTaggingAPIClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIClientConfiguration.cpp b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIClientConfiguration.cpp new file mode 100644 index 000000000000..2c891bd120aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ResourceGroupsTaggingAPI { + +void ResourceGroupsTaggingAPIClientConfiguration::LoadResourceGroupsTaggingAPISpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ResourceGroupsTaggingAPIClientConfiguration::ResourceGroupsTaggingAPIClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadResourceGroupsTaggingAPISpecificConfig(this->profileName); +} + +ResourceGroupsTaggingAPIClientConfiguration::ResourceGroupsTaggingAPIClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadResourceGroupsTaggingAPISpecificConfig(Aws::String(inputProfileName)); +} + +ResourceGroupsTaggingAPIClientConfiguration::ResourceGroupsTaggingAPIClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadResourceGroupsTaggingAPISpecificConfig(this->profileName); +} + +ResourceGroupsTaggingAPIClientConfiguration::ResourceGroupsTaggingAPIClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadResourceGroupsTaggingAPISpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ResourceGroupsTaggingAPIClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ResourceGroupsTaggingAPI +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIEndpointProvider.cpp b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIEndpointProvider.cpp index 8226dc1469c3..528a7a9f173a 100644 --- a/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_RESOURCEGROUPSTAGGINGAPI_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ResourceGroupsTaggingAPI { namespace Endpoint { ResourceGroupsTaggingAPIEndpointProvider::ResourceGroupsTaggingAPIEndpointProvider() : ResourceGroupsTaggingAPIDefaultEpProviderBase(Aws::ResourceGroupsTaggingAPI::ResourceGroupsTaggingAPIEndpointRules::GetRulesBlob(), Aws::ResourceGroupsTaggingAPI::ResourceGroupsTaggingAPIEndpointRules::RulesBlobSize) {} +void ResourceGroupsTaggingAPIBuiltInParameters::SetFromClientConfiguration(const ResourceGroupsTaggingAPIClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ResourceGroupsTaggingAPIBuiltInParameters::SetFromClientConfiguration(const ResourceGroupsTaggingAPIClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ResourceGroupsTaggingAPIBuiltInParameters::SetServiceSpecificParameters(const ResourceGroupsTaggingAPIClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ResourceGroupsTaggingAPI } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereClient.h b/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereClient.h index d95eb55d06d3..d8c649afc374 100644 --- a/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereClient.h +++ b/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereClient.h @@ -71,27 +71,6 @@ class AWS_ROLESANYWHERE_API RolesAnywhereClient : public Aws::Client::AWSJsonCli const Aws::RolesAnywhere::RolesAnywhereClientConfiguration& clientConfiguration = Aws::RolesAnywhere::RolesAnywhereClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RolesAnywhereClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RolesAnywhereClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RolesAnywhereClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RolesAnywhereClient(); /** @@ -938,7 +917,6 @@ class AWS_ROLESANYWHERE_API RolesAnywhereClient : public Aws::Client::AWSJsonCli return SubmitAsync(&RolesAnywhereClient::UpdateTrustAnchor, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereClientConfiguration.h b/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereClientConfiguration.h new file mode 100644 index 000000000000..5e54945c2b2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RolesAnywhere { +struct AWS_ROLESANYWHERE_API RolesAnywhereClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RolesAnywhereClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RolesAnywhereClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RolesAnywhereClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RolesAnywhereClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRolesAnywhereSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROLESANYWHERE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RolesAnywhereClientConfiguration& config); +} // namespace RolesAnywhere +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereEndpointProvider.h b/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereEndpointProvider.h index 3bb2e00c0924..e23ca6311e78 100644 --- a/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RolesAnywhere { namespace Endpoint { +using RolesAnywhereClientConfiguration = Aws::RolesAnywhere::RolesAnywhereClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RolesAnywhereClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RolesAnywhereClientConfiguration = Aws::Client::GenericClientConfiguration; -using RolesAnywhereBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROLESANYWHERE_API RolesAnywhereBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RolesAnywhereBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RolesAnywhereClientConfiguration& config); + virtual void SetFromClientConfiguration(const RolesAnywhereClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RolesAnywhereClientConfiguration& config); +}; /** * The type for the RolesAnywhere Client Endpoint Provider. @@ -34,6 +43,24 @@ using RolesAnywhereEndpointProviderBase = using RolesAnywhereDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace RolesAnywhere + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROLESANYWHERE_EXTERN template class AWS_ROLESANYWHERE_API Aws::Endpoint::EndpointProviderBase< + RolesAnywhere::Endpoint::RolesAnywhereClientConfiguration, RolesAnywhere::Endpoint::RolesAnywhereBuiltInParameters, + RolesAnywhere::Endpoint::RolesAnywhereClientContextParameters>; + +AWS_ROLESANYWHERE_EXTERN template class AWS_ROLESANYWHERE_API Aws::Endpoint::BDDEndpointProvider< + RolesAnywhere::Endpoint::RolesAnywhereClientConfiguration, RolesAnywhere::Endpoint::RolesAnywhereBuiltInParameters, + RolesAnywhere::Endpoint::RolesAnywhereClientContextParameters>; +} // namespace Endpoint + +namespace RolesAnywhere { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereServiceClientModel.h b/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereServiceClientModel.h index 2f58f3bdfd66..d1b836868e6c 100644 --- a/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace RolesAnywhere { -using RolesAnywhereClientConfiguration = Aws::Client::GenericClientConfiguration; using RolesAnywhereEndpointProviderBase = Aws::RolesAnywhere::Endpoint::RolesAnywhereEndpointProviderBase; using RolesAnywhereEndpointProvider = Aws::RolesAnywhere::Endpoint::RolesAnywhereEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereClient.cpp b/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereClient.cpp index 95154623f47e..3b3710567357 100644 --- a/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereClient.cpp +++ b/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereClient.cpp @@ -108,41 +108,6 @@ RolesAnywhereClient::RolesAnywhereClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RolesAnywhereClient::RolesAnywhereClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RolesAnywhereClient::RolesAnywhereClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RolesAnywhereClient::~RolesAnywhereClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RolesAnywhereClient::accessEndpointProvider() { return m_endpointProvider; } @@ -160,12 +125,7 @@ void RolesAnywhereClient::init(const RolesAnywhere::RolesAnywhereClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rolesanywhere"); -} - -void RolesAnywhereClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RolesAnywhereClient::InvokeOperationOutcome RolesAnywhereClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereClientConfiguration.cpp b/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereClientConfiguration.cpp new file mode 100644 index 000000000000..0dfdf7d5c347 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RolesAnywhere { + +void RolesAnywhereClientConfiguration::LoadRolesAnywhereSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RolesAnywhereClientConfiguration::RolesAnywhereClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRolesAnywhereSpecificConfig(this->profileName); +} + +RolesAnywhereClientConfiguration::RolesAnywhereClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRolesAnywhereSpecificConfig(Aws::String(inputProfileName)); +} + +RolesAnywhereClientConfiguration::RolesAnywhereClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRolesAnywhereSpecificConfig(this->profileName); +} + +RolesAnywhereClientConfiguration::RolesAnywhereClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRolesAnywhereSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RolesAnywhereClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RolesAnywhere +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereEndpointProvider.cpp b/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereEndpointProvider.cpp index de669f301c1c..2eb1c2d6369a 100644 --- a/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ROLESANYWHERE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace RolesAnywhere { namespace Endpoint { RolesAnywhereEndpointProvider::RolesAnywhereEndpointProvider() : RolesAnywhereDefaultEpProviderBase(Aws::RolesAnywhere::RolesAnywhereEndpointRules::GetRulesBlob(), Aws::RolesAnywhere::RolesAnywhereEndpointRules::RulesBlobSize) {} +void RolesAnywhereBuiltInParameters::SetFromClientConfiguration(const RolesAnywhereClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RolesAnywhereBuiltInParameters::SetFromClientConfiguration(const RolesAnywhereClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RolesAnywhereBuiltInParameters::SetServiceSpecificParameters(const RolesAnywhereClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace RolesAnywhere } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterClient.h b/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterClient.h index 441fe404e665..03db32bfe14a 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterClient.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterClient.h @@ -99,27 +99,6 @@ class AWS_ROUTE53RECOVERYCLUSTER_API Route53RecoveryClusterClient const Aws::Route53RecoveryCluster::Route53RecoveryClusterClientConfiguration& clientConfiguration = Aws::Route53RecoveryCluster::Route53RecoveryClusterClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Route53RecoveryClusterClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Route53RecoveryClusterClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Route53RecoveryClusterClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Route53RecoveryClusterClient(); /** @@ -333,7 +312,6 @@ class AWS_ROUTE53RECOVERYCLUSTER_API Route53RecoveryClusterClient return SubmitAsync(&Route53RecoveryClusterClient::UpdateRoutingControlStates, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterClientConfiguration.h b/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterClientConfiguration.h new file mode 100644 index 000000000000..4c946b53f348 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Route53RecoveryCluster { +struct AWS_ROUTE53RECOVERYCLUSTER_API Route53RecoveryClusterClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Route53RecoveryClusterClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53RecoveryClusterClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53RecoveryClusterClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Route53RecoveryClusterClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRoute53RecoveryClusterSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROUTE53RECOVERYCLUSTER_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const Route53RecoveryClusterClientConfiguration& config); +} // namespace Route53RecoveryCluster +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterEndpointProvider.h b/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterEndpointProvider.h index a06fc4014dc9..4de4de352792 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Route53RecoveryCluster { namespace Endpoint { +using Route53RecoveryClusterClientConfiguration = Aws::Route53RecoveryCluster::Route53RecoveryClusterClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Route53RecoveryClusterClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Route53RecoveryClusterClientConfiguration = Aws::Client::GenericClientConfiguration; -using Route53RecoveryClusterBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROUTE53RECOVERYCLUSTER_API Route53RecoveryClusterBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Route53RecoveryClusterBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Route53RecoveryClusterClientConfiguration& config); + virtual void SetFromClientConfiguration(const Route53RecoveryClusterClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Route53RecoveryClusterClientConfiguration& config); +}; /** * The type for the Route53RecoveryCluster Client Endpoint Provider. @@ -36,6 +45,26 @@ using Route53RecoveryClusterDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Route53RecoveryCluster + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROUTE53RECOVERYCLUSTER_EXTERN template class AWS_ROUTE53RECOVERYCLUSTER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ROUTE53RECOVERYCLUSTER_EXTERN template class AWS_ROUTE53RECOVERYCLUSTER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Route53RecoveryCluster { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterServiceClientModel.h b/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterServiceClientModel.h index 9d82acbbef31..83ad4fa6ead1 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace Route53RecoveryCluster { -using Route53RecoveryClusterClientConfiguration = Aws::Client::GenericClientConfiguration; using Route53RecoveryClusterEndpointProviderBase = Aws::Route53RecoveryCluster::Endpoint::Route53RecoveryClusterEndpointProviderBase; using Route53RecoveryClusterEndpointProvider = Aws::Route53RecoveryCluster::Endpoint::Route53RecoveryClusterEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterClient.cpp b/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterClient.cpp index 0e37c82ea1b0..e98cb18a346b 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterClient.cpp +++ b/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterClient.cpp @@ -87,42 +87,6 @@ Route53RecoveryClusterClient::Route53RecoveryClusterClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -Route53RecoveryClusterClient::Route53RecoveryClusterClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53RecoveryClusterClient::Route53RecoveryClusterClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53RecoveryClusterClient::Route53RecoveryClusterClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Route53RecoveryClusterClient::~Route53RecoveryClusterClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& Route53RecoveryClusterClient::accessEndpointProvider() { @@ -142,12 +106,7 @@ void Route53RecoveryClusterClient::init(const Route53RecoveryCluster::Route53Rec AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "route53-recovery-cluster"); -} - -void Route53RecoveryClusterClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Route53RecoveryClusterClient::InvokeOperationOutcome Route53RecoveryClusterClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterClientConfiguration.cpp b/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterClientConfiguration.cpp new file mode 100644 index 000000000000..9e4fb35e1c2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Route53RecoveryCluster { + +void Route53RecoveryClusterClientConfiguration::LoadRoute53RecoveryClusterSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Route53RecoveryClusterClientConfiguration::Route53RecoveryClusterClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRoute53RecoveryClusterSpecificConfig(this->profileName); +} + +Route53RecoveryClusterClientConfiguration::Route53RecoveryClusterClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRoute53RecoveryClusterSpecificConfig(Aws::String(inputProfileName)); +} + +Route53RecoveryClusterClientConfiguration::Route53RecoveryClusterClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRoute53RecoveryClusterSpecificConfig(this->profileName); +} + +Route53RecoveryClusterClientConfiguration::Route53RecoveryClusterClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRoute53RecoveryClusterSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53RecoveryClusterClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Route53RecoveryCluster +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterEndpointProvider.cpp b/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterEndpointProvider.cpp index 383149e90434..909b381e4f5a 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ROUTE53RECOVERYCLUSTER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Route53RecoveryCluster { namespace Endpoint { Route53RecoveryClusterEndpointProvider::Route53RecoveryClusterEndpointProvider() : Route53RecoveryClusterDefaultEpProviderBase(Aws::Route53RecoveryCluster::Route53RecoveryClusterEndpointRules::GetRulesBlob(), Aws::Route53RecoveryCluster::Route53RecoveryClusterEndpointRules::RulesBlobSize) {} +void Route53RecoveryClusterBuiltInParameters::SetFromClientConfiguration(const Route53RecoveryClusterClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Route53RecoveryClusterBuiltInParameters::SetFromClientConfiguration(const Route53RecoveryClusterClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Route53RecoveryClusterBuiltInParameters::SetServiceSpecificParameters(const Route53RecoveryClusterClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Route53RecoveryCluster } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClient.h b/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClient.h index 0698ae20086f..cc334f81662c 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClient.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClient.h @@ -61,28 +61,6 @@ class AWS_ROUTE53RECOVERYCONTROLCONFIG_API Route53RecoveryControlConfigClient const Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration& clientConfiguration = Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Route53RecoveryControlConfigClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Route53RecoveryControlConfigClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Route53RecoveryControlConfigClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Route53RecoveryControlConfigClient(); /** @@ -788,7 +766,6 @@ class AWS_ROUTE53RECOVERYCONTROLCONFIG_API Route53RecoveryControlConfigClient return SubmitAsync(&Route53RecoveryControlConfigClient::UpdateSafetyRule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClientConfiguration.h b/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClientConfiguration.h new file mode 100644 index 000000000000..8d6a1e14d89f --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Route53RecoveryControlConfig { +struct AWS_ROUTE53RECOVERYCONTROLCONFIG_API Route53RecoveryControlConfigClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Route53RecoveryControlConfigClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53RecoveryControlConfigClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53RecoveryControlConfigClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Route53RecoveryControlConfigClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRoute53RecoveryControlConfigSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROUTE53RECOVERYCONTROLCONFIG_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const Route53RecoveryControlConfigClientConfiguration& config); +} // namespace Route53RecoveryControlConfig +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigEndpointProvider.h b/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigEndpointProvider.h index 4d4888b55f7d..8ec9f9a04b31 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Route53RecoveryControlConfig { namespace Endpoint { +using Route53RecoveryControlConfigClientConfiguration = Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Route53RecoveryControlConfigClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Route53RecoveryControlConfigClientConfiguration = Aws::Client::GenericClientConfiguration; -using Route53RecoveryControlConfigBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROUTE53RECOVERYCONTROLCONFIG_API Route53RecoveryControlConfigBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Route53RecoveryControlConfigBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Route53RecoveryControlConfigClientConfiguration& config); + virtual void SetFromClientConfiguration(const Route53RecoveryControlConfigClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Route53RecoveryControlConfigClientConfiguration& config); +}; /** * The type for the Route53RecoveryControlConfig Client Endpoint Provider. @@ -36,6 +45,26 @@ using Route53RecoveryControlConfigDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Route53RecoveryControlConfig + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROUTE53RECOVERYCONTROLCONFIG_EXTERN template class AWS_ROUTE53RECOVERYCONTROLCONFIG_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ROUTE53RECOVERYCONTROLCONFIG_EXTERN template class AWS_ROUTE53RECOVERYCONTROLCONFIG_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Route53RecoveryControlConfig { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigServiceClientModel.h b/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigServiceClientModel.h index 434b626bcf37..067be23b769f 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigServiceClientModel.h @@ -75,7 +75,6 @@ class RetryStrategy; } // namespace Client namespace Route53RecoveryControlConfig { -using Route53RecoveryControlConfigClientConfiguration = Aws::Client::GenericClientConfiguration; using Route53RecoveryControlConfigEndpointProviderBase = Aws::Route53RecoveryControlConfig::Endpoint::Route53RecoveryControlConfigEndpointProviderBase; using Route53RecoveryControlConfigEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigClient.cpp b/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigClient.cpp index a2b43776422b..c2002d259a67 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigClient.cpp +++ b/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigClient.cpp @@ -108,42 +108,6 @@ Route53RecoveryControlConfigClient::Route53RecoveryControlConfigClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -Route53RecoveryControlConfigClient::Route53RecoveryControlConfigClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53RecoveryControlConfigClient::Route53RecoveryControlConfigClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53RecoveryControlConfigClient::Route53RecoveryControlConfigClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Route53RecoveryControlConfigClient::~Route53RecoveryControlConfigClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& Route53RecoveryControlConfigClient::accessEndpointProvider() { @@ -163,12 +127,7 @@ void Route53RecoveryControlConfigClient::init(const Route53RecoveryControlConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "route53-recovery-control-config"); -} - -void Route53RecoveryControlConfigClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Route53RecoveryControlConfigClient::InvokeOperationOutcome Route53RecoveryControlConfigClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigClientConfiguration.cpp b/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigClientConfiguration.cpp new file mode 100644 index 000000000000..f2a1379cfd8d --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigClientConfiguration.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Route53RecoveryControlConfig { + +void Route53RecoveryControlConfigClientConfiguration::LoadRoute53RecoveryControlConfigSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Route53RecoveryControlConfigClientConfiguration::Route53RecoveryControlConfigClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRoute53RecoveryControlConfigSpecificConfig(this->profileName); +} + +Route53RecoveryControlConfigClientConfiguration::Route53RecoveryControlConfigClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRoute53RecoveryControlConfigSpecificConfig(Aws::String(inputProfileName)); +} + +Route53RecoveryControlConfigClientConfiguration::Route53RecoveryControlConfigClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRoute53RecoveryControlConfigSpecificConfig(this->profileName); +} + +Route53RecoveryControlConfigClientConfiguration::Route53RecoveryControlConfigClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRoute53RecoveryControlConfigSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53RecoveryControlConfigClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Route53RecoveryControlConfig +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigEndpointProvider.cpp b/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigEndpointProvider.cpp index 1d9a759fde10..1c5168741ef8 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_ROUTE53RECOVERYCONTROLCONFIG_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + Route53RecoveryControlConfig::Endpoint::Route53RecoveryControlConfigClientConfiguration, + Route53RecoveryControlConfig::Endpoint::Route53RecoveryControlConfigBuiltInParameters, + Route53RecoveryControlConfig::Endpoint::Route53RecoveryControlConfigClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + Route53RecoveryControlConfig::Endpoint::Route53RecoveryControlConfigClientConfiguration, + Route53RecoveryControlConfig::Endpoint::Route53RecoveryControlConfigBuiltInParameters, + Route53RecoveryControlConfig::Endpoint::Route53RecoveryControlConfigClientContextParameters>; +} // namespace Endpoint +#endif + namespace Route53RecoveryControlConfig { namespace Endpoint { Route53RecoveryControlConfigEndpointProvider::Route53RecoveryControlConfigEndpointProvider() @@ -14,6 +31,28 @@ Route53RecoveryControlConfigEndpointProvider::Route53RecoveryControlConfigEndpoi Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigEndpointRules::GetRulesBlob(), Aws::Route53RecoveryControlConfig::Route53RecoveryControlConfigEndpointRules::RulesBlobSize) {} +void Route53RecoveryControlConfigBuiltInParameters::SetFromClientConfiguration( + const Route53RecoveryControlConfigClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Route53RecoveryControlConfigBuiltInParameters::SetFromClientConfiguration( + const Route53RecoveryControlConfigClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void Route53RecoveryControlConfigBuiltInParameters::SetServiceSpecificParameters( + const Route53RecoveryControlConfigClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Route53RecoveryControlConfig } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessClient.h b/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessClient.h index 6cb3a0f42ac4..a2e2a0363c90 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessClient.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessClient.h @@ -57,27 +57,6 @@ class AWS_ROUTE53RECOVERYREADINESS_API Route53RecoveryReadinessClient const Aws::Route53RecoveryReadiness::Route53RecoveryReadinessClientConfiguration& clientConfiguration = Aws::Route53RecoveryReadiness::Route53RecoveryReadinessClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Route53RecoveryReadinessClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Route53RecoveryReadinessClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Route53RecoveryReadinessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Route53RecoveryReadinessClient(); /** @@ -957,7 +936,6 @@ class AWS_ROUTE53RECOVERYREADINESS_API Route53RecoveryReadinessClient return SubmitAsync(&Route53RecoveryReadinessClient::UpdateResourceSet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessClientConfiguration.h b/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessClientConfiguration.h new file mode 100644 index 000000000000..06473347361a --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Route53RecoveryReadiness { +struct AWS_ROUTE53RECOVERYREADINESS_API Route53RecoveryReadinessClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Route53RecoveryReadinessClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53RecoveryReadinessClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53RecoveryReadinessClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Route53RecoveryReadinessClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRoute53RecoveryReadinessSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROUTE53RECOVERYREADINESS_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const Route53RecoveryReadinessClientConfiguration& config); +} // namespace Route53RecoveryReadiness +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessEndpointProvider.h b/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessEndpointProvider.h index c4e0f9a93577..9e78ab4bebb7 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Route53RecoveryReadiness { namespace Endpoint { +using Route53RecoveryReadinessClientConfiguration = Aws::Route53RecoveryReadiness::Route53RecoveryReadinessClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Route53RecoveryReadinessClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Route53RecoveryReadinessClientConfiguration = Aws::Client::GenericClientConfiguration; -using Route53RecoveryReadinessBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROUTE53RECOVERYREADINESS_API Route53RecoveryReadinessBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Route53RecoveryReadinessBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Route53RecoveryReadinessClientConfiguration& config); + virtual void SetFromClientConfiguration(const Route53RecoveryReadinessClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Route53RecoveryReadinessClientConfiguration& config); +}; /** * The type for the Route53RecoveryReadiness Client Endpoint Provider. @@ -36,6 +45,26 @@ using Route53RecoveryReadinessDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Route53RecoveryReadiness + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROUTE53RECOVERYREADINESS_EXTERN template class AWS_ROUTE53RECOVERYREADINESS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ROUTE53RECOVERYREADINESS_EXTERN template class AWS_ROUTE53RECOVERYREADINESS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Route53RecoveryReadiness { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessServiceClientModel.h b/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessServiceClientModel.h index b71f2da4d9bf..0f6a4e26ee94 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace Route53RecoveryReadiness { -using Route53RecoveryReadinessClientConfiguration = Aws::Client::GenericClientConfiguration; using Route53RecoveryReadinessEndpointProviderBase = Aws::Route53RecoveryReadiness::Endpoint::Route53RecoveryReadinessEndpointProviderBase; using Route53RecoveryReadinessEndpointProvider = Aws::Route53RecoveryReadiness::Endpoint::Route53RecoveryReadinessEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessClient.cpp b/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessClient.cpp index 1641d1f227e8..af9ff024fdaa 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessClient.cpp +++ b/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessClient.cpp @@ -115,42 +115,6 @@ Route53RecoveryReadinessClient::Route53RecoveryReadinessClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -Route53RecoveryReadinessClient::Route53RecoveryReadinessClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53RecoveryReadinessClient::Route53RecoveryReadinessClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53RecoveryReadinessClient::Route53RecoveryReadinessClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Route53RecoveryReadinessClient::~Route53RecoveryReadinessClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& Route53RecoveryReadinessClient::accessEndpointProvider() { @@ -170,12 +134,7 @@ void Route53RecoveryReadinessClient::init(const Route53RecoveryReadiness::Route5 AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "route53-recovery-readiness"); -} - -void Route53RecoveryReadinessClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Route53RecoveryReadinessClient::InvokeOperationOutcome Route53RecoveryReadinessClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessClientConfiguration.cpp b/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessClientConfiguration.cpp new file mode 100644 index 000000000000..574c7269ebd7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Route53RecoveryReadiness { + +void Route53RecoveryReadinessClientConfiguration::LoadRoute53RecoveryReadinessSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Route53RecoveryReadinessClientConfiguration::Route53RecoveryReadinessClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRoute53RecoveryReadinessSpecificConfig(this->profileName); +} + +Route53RecoveryReadinessClientConfiguration::Route53RecoveryReadinessClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRoute53RecoveryReadinessSpecificConfig(Aws::String(inputProfileName)); +} + +Route53RecoveryReadinessClientConfiguration::Route53RecoveryReadinessClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRoute53RecoveryReadinessSpecificConfig(this->profileName); +} + +Route53RecoveryReadinessClientConfiguration::Route53RecoveryReadinessClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRoute53RecoveryReadinessSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53RecoveryReadinessClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Route53RecoveryReadiness +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessEndpointProvider.cpp b/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessEndpointProvider.cpp index 73cb2efc7d1b..87d398c1f06d 100644 --- a/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ROUTE53RECOVERYREADINESS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Route53RecoveryReadiness { namespace Endpoint { Route53RecoveryReadinessEndpointProvider::Route53RecoveryReadinessEndpointProvider() : Route53RecoveryReadinessDefaultEpProviderBase(Aws::Route53RecoveryReadiness::Route53RecoveryReadinessEndpointRules::GetRulesBlob(), Aws::Route53RecoveryReadiness::Route53RecoveryReadinessEndpointRules::RulesBlobSize) {} +void Route53RecoveryReadinessBuiltInParameters::SetFromClientConfiguration(const Route53RecoveryReadinessClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Route53RecoveryReadinessBuiltInParameters::SetFromClientConfiguration(const Route53RecoveryReadinessClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Route53RecoveryReadinessBuiltInParameters::SetServiceSpecificParameters(const Route53RecoveryReadinessClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Route53RecoveryReadiness } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53Client.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53Client.h index 5c71fa5efdd1..ab38903a9d13 100644 --- a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53Client.h +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53Client.h @@ -63,27 +63,6 @@ class AWS_ROUTE53_API Route53Client : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::Route53::Route53ClientConfiguration& clientConfiguration = Aws::Route53::Route53ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Route53Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Route53Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Route53Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Route53Client(); /** @@ -2730,7 +2709,6 @@ class AWS_ROUTE53_API Route53Client : public Aws::Client::AWSXMLClient, return SubmitAsync(&Route53Client::UpdateTrafficPolicyInstance, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53ClientConfiguration.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53ClientConfiguration.h new file mode 100644 index 000000000000..535392058367 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Route53 { +struct AWS_ROUTE53_API Route53ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Route53ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Route53ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRoute53SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROUTE53_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53ClientConfiguration& config); +} // namespace Route53 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53EndpointProvider.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53EndpointProvider.h index e77f6edcd912..e0a012a1e810 100644 --- a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Route53 { namespace Endpoint { +using Route53ClientConfiguration = Aws::Route53::Route53ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Route53ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Route53ClientConfiguration = Aws::Client::GenericClientConfiguration; -using Route53BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROUTE53_API Route53BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Route53BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Route53ClientConfiguration& config); + virtual void SetFromClientConfiguration(const Route53ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Route53ClientConfiguration& config); +}; /** * The type for the Route53 Client Endpoint Provider. @@ -34,6 +43,24 @@ using Route53EndpointProviderBase = using Route53DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Route53 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROUTE53_EXTERN template class AWS_ROUTE53_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ROUTE53_EXTERN template class AWS_ROUTE53_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Route53 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53ServiceClientModel.h b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53ServiceClientModel.h index 072eb89edc2f..c0faec0b52cd 100644 --- a/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53ServiceClientModel.h @@ -131,7 +131,6 @@ class RetryStrategy; } // namespace Client namespace Route53 { -using Route53ClientConfiguration = Aws::Client::GenericClientConfiguration; using Route53EndpointProviderBase = Aws::Route53::Endpoint::Route53EndpointProviderBase; using Route53EndpointProvider = Aws::Route53::Endpoint::Route53EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-route53/source/Route53Client.cpp b/generated/src/aws-cpp-sdk-route53/source/Route53Client.cpp index 0cffd80be917..bbfcaf5b2854 100644 --- a/generated/src/aws-cpp-sdk-route53/source/Route53Client.cpp +++ b/generated/src/aws-cpp-sdk-route53/source/Route53Client.cpp @@ -148,41 +148,6 @@ Route53Client::Route53Client(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -Route53Client::Route53Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53Client::Route53Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53Client::Route53Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Route53Client::~Route53Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& Route53Client::accessEndpointProvider() { return m_endpointProvider; } @@ -200,12 +165,7 @@ void Route53Client::init(const Route53::Route53ClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "route53"); -} - -void Route53Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Route53Client::InvokeOperationOutcome Route53Client::InvokeServiceOperation( diff --git a/generated/src/aws-cpp-sdk-route53/source/Route53ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-route53/source/Route53ClientConfiguration.cpp new file mode 100644 index 000000000000..c2ca31be39d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53/source/Route53ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Route53 { + +void Route53ClientConfiguration::LoadRoute53SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Route53ClientConfiguration::Route53ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRoute53SpecificConfig(this->profileName); +} + +Route53ClientConfiguration::Route53ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRoute53SpecificConfig(Aws::String(inputProfileName)); +} + +Route53ClientConfiguration::Route53ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRoute53SpecificConfig(this->profileName); +} + +Route53ClientConfiguration::Route53ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRoute53SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Route53 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53/source/Route53EndpointProvider.cpp b/generated/src/aws-cpp-sdk-route53/source/Route53EndpointProvider.cpp index 55c51c95a61f..1c6699f6be8b 100644 --- a/generated/src/aws-cpp-sdk-route53/source/Route53EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-route53/source/Route53EndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_ROUTE53_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Route53 { namespace Endpoint { Route53EndpointProvider::Route53EndpointProvider() : Route53DefaultEpProviderBase(Aws::Route53::Route53EndpointRules::GetRulesBlob(), Aws::Route53::Route53EndpointRules::RulesBlobSize) {} +void Route53BuiltInParameters::SetFromClientConfiguration(const Route53ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Route53BuiltInParameters::SetFromClientConfiguration(const Route53ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Route53BuiltInParameters::SetServiceSpecificParameters(const Route53ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Route53 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsClient.h b/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsClient.h index fd19e9c888ce..5125db682bbd 100644 --- a/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsClient.h +++ b/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsClient.h @@ -57,27 +57,6 @@ class AWS_ROUTE53DOMAINS_API Route53DomainsClient : public Aws::Client::AWSJsonC const Aws::Route53Domains::Route53DomainsClientConfiguration& clientConfiguration = Aws::Route53Domains::Route53DomainsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Route53DomainsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Route53DomainsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Route53DomainsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Route53DomainsClient(); /** @@ -1273,7 +1252,6 @@ class AWS_ROUTE53DOMAINS_API Route53DomainsClient : public Aws::Client::AWSJsonC return SubmitAsync(&Route53DomainsClient::ViewBilling, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsClientConfiguration.h b/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsClientConfiguration.h new file mode 100644 index 000000000000..af189227490e --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Route53Domains { +struct AWS_ROUTE53DOMAINS_API Route53DomainsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Route53DomainsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53DomainsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53DomainsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Route53DomainsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRoute53DomainsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROUTE53DOMAINS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53DomainsClientConfiguration& config); +} // namespace Route53Domains +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsEndpointProvider.h b/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsEndpointProvider.h index 0089e5b5b5f2..97ce65079b41 100644 --- a/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Route53Domains { namespace Endpoint { +using Route53DomainsClientConfiguration = Aws::Route53Domains::Route53DomainsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Route53DomainsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Route53DomainsClientConfiguration = Aws::Client::GenericClientConfiguration; -using Route53DomainsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROUTE53DOMAINS_API Route53DomainsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Route53DomainsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Route53DomainsClientConfiguration& config); + virtual void SetFromClientConfiguration(const Route53DomainsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Route53DomainsClientConfiguration& config); +}; /** * The type for the Route53Domains Client Endpoint Provider. @@ -34,6 +43,24 @@ using Route53DomainsEndpointProviderBase = using Route53DomainsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Route53Domains + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROUTE53DOMAINS_EXTERN template class AWS_ROUTE53DOMAINS_API Aws::Endpoint::EndpointProviderBase< + Route53Domains::Endpoint::Route53DomainsClientConfiguration, Route53Domains::Endpoint::Route53DomainsBuiltInParameters, + Route53Domains::Endpoint::Route53DomainsClientContextParameters>; + +AWS_ROUTE53DOMAINS_EXTERN template class AWS_ROUTE53DOMAINS_API Aws::Endpoint::BDDEndpointProvider< + Route53Domains::Endpoint::Route53DomainsClientConfiguration, Route53Domains::Endpoint::Route53DomainsBuiltInParameters, + Route53Domains::Endpoint::Route53DomainsClientContextParameters>; +} // namespace Endpoint + +namespace Route53Domains { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsServiceClientModel.h b/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsServiceClientModel.h index c7ef8ed2bc84..57b9d0e9d692 100644 --- a/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsServiceClientModel.h @@ -86,7 +86,6 @@ class RetryStrategy; } // namespace Client namespace Route53Domains { -using Route53DomainsClientConfiguration = Aws::Client::GenericClientConfiguration; using Route53DomainsEndpointProviderBase = Aws::Route53Domains::Endpoint::Route53DomainsEndpointProviderBase; using Route53DomainsEndpointProvider = Aws::Route53Domains::Endpoint::Route53DomainsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsClient.cpp b/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsClient.cpp index eb0bf66ab185..6b89fd0494b5 100644 --- a/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsClient.cpp +++ b/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsClient.cpp @@ -113,41 +113,6 @@ Route53DomainsClient::Route53DomainsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53DomainsClient::Route53DomainsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53DomainsClient::Route53DomainsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Route53DomainsClient::~Route53DomainsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& Route53DomainsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -165,12 +130,7 @@ void Route53DomainsClient::init(const Route53Domains::Route53DomainsClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "route53domains"); -} - -void Route53DomainsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Route53DomainsClient::InvokeOperationOutcome Route53DomainsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsClientConfiguration.cpp new file mode 100644 index 000000000000..b926ed1bbd6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Route53Domains { + +void Route53DomainsClientConfiguration::LoadRoute53DomainsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Route53DomainsClientConfiguration::Route53DomainsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRoute53DomainsSpecificConfig(this->profileName); +} + +Route53DomainsClientConfiguration::Route53DomainsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRoute53DomainsSpecificConfig(Aws::String(inputProfileName)); +} + +Route53DomainsClientConfiguration::Route53DomainsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRoute53DomainsSpecificConfig(this->profileName); +} + +Route53DomainsClientConfiguration::Route53DomainsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRoute53DomainsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53DomainsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Route53Domains +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsEndpointProvider.cpp index 9e24cdf1ab1e..f6bfa95106ed 100644 --- a/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ROUTE53DOMAINS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Route53Domains { namespace Endpoint { Route53DomainsEndpointProvider::Route53DomainsEndpointProvider() : Route53DomainsDefaultEpProviderBase(Aws::Route53Domains::Route53DomainsEndpointRules::GetRulesBlob(), Aws::Route53Domains::Route53DomainsEndpointRules::RulesBlobSize) {} +void Route53DomainsBuiltInParameters::SetFromClientConfiguration(const Route53DomainsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Route53DomainsBuiltInParameters::SetFromClientConfiguration(const Route53DomainsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Route53DomainsBuiltInParameters::SetServiceSpecificParameters(const Route53DomainsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Route53Domains } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverClient.h b/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverClient.h index f317d48751c7..2fad246f5f41 100644 --- a/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverClient.h +++ b/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverClient.h @@ -66,27 +66,6 @@ class AWS_ROUTE53GLOBALRESOLVER_API Route53GlobalResolverClient const Aws::Route53GlobalResolver::Route53GlobalResolverClientConfiguration& clientConfiguration = Aws::Route53GlobalResolver::Route53GlobalResolverClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Route53GlobalResolverClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Route53GlobalResolverClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Route53GlobalResolverClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Route53GlobalResolverClient(); /** @@ -1635,7 +1614,6 @@ class AWS_ROUTE53GLOBALRESOLVER_API Route53GlobalResolverClient return SubmitAsync(&Route53GlobalResolverClient::UpdateHostedZoneAssociation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverClientConfiguration.h b/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverClientConfiguration.h new file mode 100644 index 000000000000..81aa2e4de4b4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverClientConfiguration.h @@ -0,0 +1,56 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Route53GlobalResolver { +struct AWS_ROUTE53GLOBALRESOLVER_API Route53GlobalResolverClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Route53GlobalResolverClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53GlobalResolverClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53GlobalResolverClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Route53GlobalResolverClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadRoute53GlobalResolverSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROUTE53GLOBALRESOLVER_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const Route53GlobalResolverClientConfiguration& config); +} // namespace Route53GlobalResolver +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverEndpointProvider.h b/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverEndpointProvider.h index d6d042544aaf..518244e88b54 100644 --- a/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Route53GlobalResolver { namespace Endpoint { +using Route53GlobalResolverClientConfiguration = Aws::Route53GlobalResolver::Route53GlobalResolverClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Route53GlobalResolverClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Route53GlobalResolverClientConfiguration = Aws::Client::GenericClientConfiguration; -using Route53GlobalResolverBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROUTE53GLOBALRESOLVER_API Route53GlobalResolverBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Route53GlobalResolverBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Route53GlobalResolverClientConfiguration& config); + virtual void SetFromClientConfiguration(const Route53GlobalResolverClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Route53GlobalResolverClientConfiguration& config); +}; /** * The type for the Route53GlobalResolver Client Endpoint Provider. @@ -36,6 +45,26 @@ using Route53GlobalResolverDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Route53GlobalResolver + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROUTE53GLOBALRESOLVER_EXTERN template class AWS_ROUTE53GLOBALRESOLVER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_ROUTE53GLOBALRESOLVER_EXTERN template class AWS_ROUTE53GLOBALRESOLVER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Route53GlobalResolver { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverServiceClientModel.h b/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverServiceClientModel.h index 939a3ccbe17b..4ed37d2c71dc 100644 --- a/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverServiceClientModel.h @@ -99,7 +99,6 @@ class RetryStrategy; } // namespace Client namespace Route53GlobalResolver { -using Route53GlobalResolverClientConfiguration = Aws::Client::GenericClientConfiguration; using Route53GlobalResolverEndpointProviderBase = Aws::Route53GlobalResolver::Endpoint::Route53GlobalResolverEndpointProviderBase; using Route53GlobalResolverEndpointProvider = Aws::Route53GlobalResolver::Endpoint::Route53GlobalResolverEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverClient.cpp b/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverClient.cpp index bf0231375624..5ee06a215fe5 100644 --- a/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverClient.cpp +++ b/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverClient.cpp @@ -131,42 +131,6 @@ Route53GlobalResolverClient::Route53GlobalResolverClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -Route53GlobalResolverClient::Route53GlobalResolverClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53GlobalResolverClient::Route53GlobalResolverClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53GlobalResolverClient::Route53GlobalResolverClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Route53GlobalResolverClient::~Route53GlobalResolverClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& Route53GlobalResolverClient::accessEndpointProvider() { @@ -186,12 +150,7 @@ void Route53GlobalResolverClient::init(const Route53GlobalResolver::Route53Globa AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "route53globalresolver"); -} - -void Route53GlobalResolverClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Route53GlobalResolverClient::InvokeOperationOutcome Route53GlobalResolverClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverClientConfiguration.cpp b/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverClientConfiguration.cpp new file mode 100644 index 000000000000..787497234a46 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Route53GlobalResolver { + +void Route53GlobalResolverClientConfiguration::LoadRoute53GlobalResolverSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Route53GlobalResolverClientConfiguration::Route53GlobalResolverClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRoute53GlobalResolverSpecificConfig(this->profileName); +} + +Route53GlobalResolverClientConfiguration::Route53GlobalResolverClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRoute53GlobalResolverSpecificConfig(Aws::String(inputProfileName)); +} + +Route53GlobalResolverClientConfiguration::Route53GlobalResolverClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRoute53GlobalResolverSpecificConfig(this->profileName); +} + +Route53GlobalResolverClientConfiguration::Route53GlobalResolverClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRoute53GlobalResolverSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53GlobalResolverClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Route53GlobalResolver +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverEndpointProvider.cpp b/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverEndpointProvider.cpp index b9ee88293d92..e679c21d83e8 100644 --- a/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_ROUTE53GLOBALRESOLVER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Route53GlobalResolver { namespace Endpoint { Route53GlobalResolverEndpointProvider::Route53GlobalResolverEndpointProvider() : Route53GlobalResolverDefaultEpProviderBase(Aws::Route53GlobalResolver::Route53GlobalResolverEndpointRules::GetRulesBlob(), Aws::Route53GlobalResolver::Route53GlobalResolverEndpointRules::RulesBlobSize) {} +void Route53GlobalResolverBuiltInParameters::SetFromClientConfiguration(const Route53GlobalResolverClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Route53GlobalResolverBuiltInParameters::SetFromClientConfiguration(const Route53GlobalResolverClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Route53GlobalResolverBuiltInParameters::SetServiceSpecificParameters(const Route53GlobalResolverClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace Route53GlobalResolver } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesClient.h b/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesClient.h index e0dc19e44cd0..aad1d2c5142d 100644 --- a/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesClient.h +++ b/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesClient.h @@ -57,27 +57,6 @@ class AWS_ROUTE53PROFILES_API Route53ProfilesClient : public Aws::Client::AWSJso const Aws::Route53Profiles::Route53ProfilesClientConfiguration& clientConfiguration = Aws::Route53Profiles::Route53ProfilesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Route53ProfilesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Route53ProfilesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Route53ProfilesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Route53ProfilesClient(); /** @@ -527,7 +506,6 @@ class AWS_ROUTE53PROFILES_API Route53ProfilesClient : public Aws::Client::AWSJso return SubmitAsync(&Route53ProfilesClient::UpdateProfileResourceAssociation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesClientConfiguration.h b/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesClientConfiguration.h new file mode 100644 index 000000000000..7ee548f4ff40 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Route53Profiles { +struct AWS_ROUTE53PROFILES_API Route53ProfilesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Route53ProfilesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53ProfilesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53ProfilesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Route53ProfilesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRoute53ProfilesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROUTE53PROFILES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53ProfilesClientConfiguration& config); +} // namespace Route53Profiles +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesEndpointProvider.h b/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesEndpointProvider.h index ecee2b220584..ffd2db827c2d 100644 --- a/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Route53Profiles { namespace Endpoint { +using Route53ProfilesClientConfiguration = Aws::Route53Profiles::Route53ProfilesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Route53ProfilesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Route53ProfilesClientConfiguration = Aws::Client::GenericClientConfiguration; -using Route53ProfilesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROUTE53PROFILES_API Route53ProfilesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Route53ProfilesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Route53ProfilesClientConfiguration& config); + virtual void SetFromClientConfiguration(const Route53ProfilesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Route53ProfilesClientConfiguration& config); +}; /** * The type for the Route53Profiles Client Endpoint Provider. @@ -34,6 +43,24 @@ using Route53ProfilesEndpointProviderBase = using Route53ProfilesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Route53Profiles + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROUTE53PROFILES_EXTERN template class AWS_ROUTE53PROFILES_API Aws::Endpoint::EndpointProviderBase< + Route53Profiles::Endpoint::Route53ProfilesClientConfiguration, Route53Profiles::Endpoint::Route53ProfilesBuiltInParameters, + Route53Profiles::Endpoint::Route53ProfilesClientContextParameters>; + +AWS_ROUTE53PROFILES_EXTERN template class AWS_ROUTE53PROFILES_API Aws::Endpoint::BDDEndpointProvider< + Route53Profiles::Endpoint::Route53ProfilesClientConfiguration, Route53Profiles::Endpoint::Route53ProfilesBuiltInParameters, + Route53Profiles::Endpoint::Route53ProfilesClientContextParameters>; +} // namespace Endpoint + +namespace Route53Profiles { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesServiceClientModel.h b/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesServiceClientModel.h index 6982ae78fe32..567aaa6b424b 100644 --- a/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesServiceClientModel.h @@ -64,7 +64,6 @@ class RetryStrategy; } // namespace Client namespace Route53Profiles { -using Route53ProfilesClientConfiguration = Aws::Client::GenericClientConfiguration; using Route53ProfilesEndpointProviderBase = Aws::Route53Profiles::Endpoint::Route53ProfilesEndpointProviderBase; using Route53ProfilesEndpointProvider = Aws::Route53Profiles::Endpoint::Route53ProfilesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesClient.cpp b/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesClient.cpp index b6230d047df4..794358d4c34b 100644 --- a/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesClient.cpp +++ b/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesClient.cpp @@ -97,41 +97,6 @@ Route53ProfilesClient::Route53ProfilesClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53ProfilesClient::Route53ProfilesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53ProfilesClient::Route53ProfilesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Route53ProfilesClient::~Route53ProfilesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& Route53ProfilesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void Route53ProfilesClient::init(const Route53Profiles::Route53ProfilesClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "route53profiles"); -} - -void Route53ProfilesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Route53ProfilesClient::InvokeOperationOutcome Route53ProfilesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesClientConfiguration.cpp new file mode 100644 index 000000000000..71265d213549 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Route53Profiles { + +void Route53ProfilesClientConfiguration::LoadRoute53ProfilesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Route53ProfilesClientConfiguration::Route53ProfilesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRoute53ProfilesSpecificConfig(this->profileName); +} + +Route53ProfilesClientConfiguration::Route53ProfilesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRoute53ProfilesSpecificConfig(Aws::String(inputProfileName)); +} + +Route53ProfilesClientConfiguration::Route53ProfilesClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRoute53ProfilesSpecificConfig(this->profileName); +} + +Route53ProfilesClientConfiguration::Route53ProfilesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRoute53ProfilesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53ProfilesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Route53Profiles +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesEndpointProvider.cpp index c3fc869d8f70..c56a35f12dfa 100644 --- a/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ROUTE53PROFILES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Route53Profiles { namespace Endpoint { Route53ProfilesEndpointProvider::Route53ProfilesEndpointProvider() : Route53ProfilesDefaultEpProviderBase(Aws::Route53Profiles::Route53ProfilesEndpointRules::GetRulesBlob(), Aws::Route53Profiles::Route53ProfilesEndpointRules::RulesBlobSize) {} +void Route53ProfilesBuiltInParameters::SetFromClientConfiguration(const Route53ProfilesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Route53ProfilesBuiltInParameters::SetFromClientConfiguration(const Route53ProfilesClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Route53ProfilesBuiltInParameters::SetServiceSpecificParameters(const Route53ProfilesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Route53Profiles } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClient.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClient.h index 097215fdfb4d..15a2e8c31917 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClient.h +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClient.h @@ -84,27 +84,6 @@ class AWS_ROUTE53RESOLVER_API Route53ResolverClient : public Aws::Client::AWSJso const Aws::Route53Resolver::Route53ResolverClientConfiguration& clientConfiguration = Aws::Route53Resolver::Route53ResolverClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - Route53ResolverClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - Route53ResolverClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - Route53ResolverClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~Route53ResolverClient(); /** @@ -2305,7 +2284,6 @@ class AWS_ROUTE53RESOLVER_API Route53ResolverClient : public Aws::Client::AWSJso return SubmitAsync(&Route53ResolverClient::UpdateResolverRule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClientConfiguration.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClientConfiguration.h new file mode 100644 index 000000000000..55bec59aa385 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Route53Resolver { +struct AWS_ROUTE53RESOLVER_API Route53ResolverClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + Route53ResolverClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53ResolverClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + Route53ResolverClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit Route53ResolverClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRoute53ResolverSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_ROUTE53RESOLVER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53ResolverClientConfiguration& config); +} // namespace Route53Resolver +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverEndpointProvider.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverEndpointProvider.h index c07f9b38ccbd..f509ea804d6e 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Route53Resolver { namespace Endpoint { +using Route53ResolverClientConfiguration = Aws::Route53Resolver::Route53ResolverClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using Route53ResolverClientContextParameters = Aws::Endpoint::ClientContextParameters; -using Route53ResolverClientConfiguration = Aws::Client::GenericClientConfiguration; -using Route53ResolverBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_ROUTE53RESOLVER_API Route53ResolverBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~Route53ResolverBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const Route53ResolverClientConfiguration& config); + virtual void SetFromClientConfiguration(const Route53ResolverClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const Route53ResolverClientConfiguration& config); +}; /** * The type for the Route53Resolver Client Endpoint Provider. @@ -34,6 +43,24 @@ using Route53ResolverEndpointProviderBase = using Route53ResolverDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Route53Resolver + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_ROUTE53RESOLVER_EXTERN template class AWS_ROUTE53RESOLVER_API Aws::Endpoint::EndpointProviderBase< + Route53Resolver::Endpoint::Route53ResolverClientConfiguration, Route53Resolver::Endpoint::Route53ResolverBuiltInParameters, + Route53Resolver::Endpoint::Route53ResolverClientContextParameters>; + +AWS_ROUTE53RESOLVER_EXTERN template class AWS_ROUTE53RESOLVER_API Aws::Endpoint::BDDEndpointProvider< + Route53Resolver::Endpoint::Route53ResolverClientConfiguration, Route53Resolver::Endpoint::Route53ResolverBuiltInParameters, + Route53Resolver::Endpoint::Route53ResolverClientContextParameters>; +} // namespace Endpoint + +namespace Route53Resolver { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverServiceClientModel.h b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverServiceClientModel.h index fd6aff0376fb..0c9c0bf092ff 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverServiceClientModel.h @@ -131,7 +131,6 @@ class RetryStrategy; } // namespace Client namespace Route53Resolver { -using Route53ResolverClientConfiguration = Aws::Client::GenericClientConfiguration; using Route53ResolverEndpointProviderBase = Aws::Route53Resolver::Endpoint::Route53ResolverEndpointProviderBase; using Route53ResolverEndpointProvider = Aws::Route53Resolver::Endpoint::Route53ResolverEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClient.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClient.cpp index 7bcb10c266b9..7277d2b02752 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClient.cpp +++ b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClient.cpp @@ -153,41 +153,6 @@ Route53ResolverClient::Route53ResolverClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53ResolverClient::Route53ResolverClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -Route53ResolverClient::Route53ResolverClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ Route53ResolverClient::~Route53ResolverClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& Route53ResolverClient::accessEndpointProvider() { return m_endpointProvider; } @@ -205,12 +170,7 @@ void Route53ResolverClient::init(const Route53Resolver::Route53ResolverClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "route53resolver"); -} - -void Route53ResolverClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Route53ResolverClient::InvokeOperationOutcome Route53ResolverClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClientConfiguration.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClientConfiguration.cpp new file mode 100644 index 000000000000..50ec347abe52 --- /dev/null +++ b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Route53Resolver { + +void Route53ResolverClientConfiguration::LoadRoute53ResolverSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +Route53ResolverClientConfiguration::Route53ResolverClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRoute53ResolverSpecificConfig(this->profileName); +} + +Route53ResolverClientConfiguration::Route53ResolverClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRoute53ResolverSpecificConfig(Aws::String(inputProfileName)); +} + +Route53ResolverClientConfiguration::Route53ResolverClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRoute53ResolverSpecificConfig(this->profileName); +} + +Route53ResolverClientConfiguration::Route53ResolverClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRoute53ResolverSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const Route53ResolverClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Route53Resolver +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverEndpointProvider.cpp b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverEndpointProvider.cpp index 34cef9009056..422de85c0f05 100644 --- a/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_ROUTE53RESOLVER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Route53Resolver { namespace Endpoint { Route53ResolverEndpointProvider::Route53ResolverEndpointProvider() : Route53ResolverDefaultEpProviderBase(Aws::Route53Resolver::Route53ResolverEndpointRules::GetRulesBlob(), Aws::Route53Resolver::Route53ResolverEndpointRules::RulesBlobSize) {} +void Route53ResolverBuiltInParameters::SetFromClientConfiguration(const Route53ResolverClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void Route53ResolverBuiltInParameters::SetFromClientConfiguration(const Route53ResolverClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void Route53ResolverBuiltInParameters::SetServiceSpecificParameters(const Route53ResolverClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Route53Resolver } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricClient.h b/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricClient.h index e8de154d5737..69bf2d142e27 100644 --- a/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricClient.h +++ b/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricClient.h @@ -63,27 +63,6 @@ class AWS_RTBFABRIC_API RTBFabricClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::RTBFabric::RTBFabricClientConfiguration& clientConfiguration = Aws::RTBFabric::RTBFabricClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - RTBFabricClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - RTBFabricClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - RTBFabricClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~RTBFabricClient(); /** @@ -1073,7 +1052,6 @@ class AWS_RTBFABRIC_API RTBFabricClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&RTBFabricClient::UpdateResponderGateway, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricClientConfiguration.h b/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricClientConfiguration.h new file mode 100644 index 000000000000..12f57a3b5248 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace RTBFabric { +struct AWS_RTBFABRIC_API RTBFabricClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + RTBFabricClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RTBFabricClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + RTBFabricClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit RTBFabricClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadRTBFabricSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_RTBFABRIC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const RTBFabricClientConfiguration& config); +} // namespace RTBFabric +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricEndpointProvider.h b/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricEndpointProvider.h index 8b9272b3ca96..c440fbea5b72 100644 --- a/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace RTBFabric { namespace Endpoint { +using RTBFabricClientConfiguration = Aws::RTBFabric::RTBFabricClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using RTBFabricClientContextParameters = Aws::Endpoint::ClientContextParameters; -using RTBFabricClientConfiguration = Aws::Client::GenericClientConfiguration; -using RTBFabricBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_RTBFABRIC_API RTBFabricBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~RTBFabricBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const RTBFabricClientConfiguration& config); + virtual void SetFromClientConfiguration(const RTBFabricClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const RTBFabricClientConfiguration& config); +}; /** * The type for the RTBFabric Client Endpoint Provider. @@ -34,6 +43,24 @@ using RTBFabricEndpointProviderBase = using RTBFabricDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace RTBFabric + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_RTBFABRIC_EXTERN template class AWS_RTBFABRIC_API + Aws::Endpoint::EndpointProviderBase; + +AWS_RTBFABRIC_EXTERN template class AWS_RTBFABRIC_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace RTBFabric { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricServiceClientModel.h b/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricServiceClientModel.h index 1091a8506a7a..a2efe7453bd1 100644 --- a/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricServiceClientModel.h @@ -84,7 +84,6 @@ class RetryStrategy; } // namespace Client namespace RTBFabric { -using RTBFabricClientConfiguration = Aws::Client::GenericClientConfiguration; using RTBFabricEndpointProviderBase = Aws::RTBFabric::Endpoint::RTBFabricEndpointProviderBase; using RTBFabricEndpointProvider = Aws::RTBFabric::Endpoint::RTBFabricEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricClient.cpp b/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricClient.cpp index b83f6ea25e37..584e4ff5f741 100644 --- a/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricClient.cpp +++ b/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricClient.cpp @@ -113,41 +113,6 @@ RTBFabricClient::RTBFabricClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -RTBFabricClient::RTBFabricClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RTBFabricClient::RTBFabricClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -RTBFabricClient::RTBFabricClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ RTBFabricClient::~RTBFabricClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& RTBFabricClient::accessEndpointProvider() { return m_endpointProvider; } @@ -165,12 +130,7 @@ void RTBFabricClient::init(const RTBFabric::RTBFabricClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rtbfabric"); -} - -void RTBFabricClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } RTBFabricClient::InvokeOperationOutcome RTBFabricClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricClientConfiguration.cpp b/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricClientConfiguration.cpp new file mode 100644 index 000000000000..f1a8a7e449f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace RTBFabric { + +void RTBFabricClientConfiguration::LoadRTBFabricSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +RTBFabricClientConfiguration::RTBFabricClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadRTBFabricSpecificConfig(this->profileName); +} + +RTBFabricClientConfiguration::RTBFabricClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadRTBFabricSpecificConfig(Aws::String(inputProfileName)); +} + +RTBFabricClientConfiguration::RTBFabricClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadRTBFabricSpecificConfig(this->profileName); +} + +RTBFabricClientConfiguration::RTBFabricClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadRTBFabricSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const RTBFabricClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace RTBFabric +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricEndpointProvider.cpp b/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricEndpointProvider.cpp index 9aff1eae22bb..bffe3413304f 100644 --- a/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_RTBFABRIC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace RTBFabric { namespace Endpoint { RTBFabricEndpointProvider::RTBFabricEndpointProvider() : RTBFabricDefaultEpProviderBase(Aws::RTBFabric::RTBFabricEndpointRules::GetRulesBlob(), Aws::RTBFabric::RTBFabricEndpointRules::RulesBlobSize) {} +void RTBFabricBuiltInParameters::SetFromClientConfiguration(const RTBFabricClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void RTBFabricBuiltInParameters::SetFromClientConfiguration(const RTBFabricClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void RTBFabricBuiltInParameters::SetServiceSpecificParameters(const RTBFabricClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace RTBFabric } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMClient.h b/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMClient.h index 1c487f7aee65..b2db45b34c7b 100644 --- a/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMClient.h +++ b/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMClient.h @@ -66,27 +66,6 @@ class AWS_CLOUDWATCHRUM_API CloudWatchRUMClient : public Aws::Client::AWSJsonCli const Aws::CloudWatchRUM::CloudWatchRUMClientConfiguration& clientConfiguration = Aws::CloudWatchRUM::CloudWatchRUMClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - CloudWatchRUMClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - CloudWatchRUMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - CloudWatchRUMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~CloudWatchRUMClient(); /** @@ -737,7 +716,6 @@ class AWS_CLOUDWATCHRUM_API CloudWatchRUMClient : public Aws::Client::AWSJsonCli return SubmitAsync(&CloudWatchRUMClient::UpdateRumMetricDefinition, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMClientConfiguration.h b/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMClientConfiguration.h new file mode 100644 index 000000000000..fd0a71e749a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace CloudWatchRUM { +struct AWS_CLOUDWATCHRUM_API CloudWatchRUMClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + CloudWatchRUMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchRUMClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + CloudWatchRUMClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit CloudWatchRUMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadCloudWatchRUMSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CLOUDWATCHRUM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchRUMClientConfiguration& config); +} // namespace CloudWatchRUM +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMEndpointProvider.h b/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMEndpointProvider.h index 3afb859bec2b..576fe58ee7ba 100644 --- a/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace CloudWatchRUM { namespace Endpoint { +using CloudWatchRUMClientConfiguration = Aws::CloudWatchRUM::CloudWatchRUMClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using CloudWatchRUMClientContextParameters = Aws::Endpoint::ClientContextParameters; -using CloudWatchRUMClientConfiguration = Aws::Client::GenericClientConfiguration; -using CloudWatchRUMBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CLOUDWATCHRUM_API CloudWatchRUMBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~CloudWatchRUMBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const CloudWatchRUMClientConfiguration& config); + virtual void SetFromClientConfiguration(const CloudWatchRUMClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const CloudWatchRUMClientConfiguration& config); +}; /** * The type for the CloudWatchRUM Client Endpoint Provider. @@ -34,6 +43,24 @@ using CloudWatchRUMEndpointProviderBase = using CloudWatchRUMDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace CloudWatchRUM + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CLOUDWATCHRUM_EXTERN template class AWS_CLOUDWATCHRUM_API Aws::Endpoint::EndpointProviderBase< + CloudWatchRUM::Endpoint::CloudWatchRUMClientConfiguration, CloudWatchRUM::Endpoint::CloudWatchRUMBuiltInParameters, + CloudWatchRUM::Endpoint::CloudWatchRUMClientContextParameters>; + +AWS_CLOUDWATCHRUM_EXTERN template class AWS_CLOUDWATCHRUM_API Aws::Endpoint::BDDEndpointProvider< + CloudWatchRUM::Endpoint::CloudWatchRUMClientConfiguration, CloudWatchRUM::Endpoint::CloudWatchRUMBuiltInParameters, + CloudWatchRUM::Endpoint::CloudWatchRUMClientContextParameters>; +} // namespace Endpoint + +namespace CloudWatchRUM { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMServiceClientModel.h b/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMServiceClientModel.h index 2141dc649e03..e8dc8c6a1b32 100644 --- a/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMServiceClientModel.h @@ -67,7 +67,6 @@ class RetryStrategy; } // namespace Client namespace CloudWatchRUM { -using CloudWatchRUMClientConfiguration = Aws::Client::GenericClientConfiguration; using CloudWatchRUMEndpointProviderBase = Aws::CloudWatchRUM::Endpoint::CloudWatchRUMEndpointProviderBase; using CloudWatchRUMEndpointProvider = Aws::CloudWatchRUM::Endpoint::CloudWatchRUMEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMClient.cpp b/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMClient.cpp index 1a51b2f0d677..5c5c19bab852 100644 --- a/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMClient.cpp +++ b/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMClient.cpp @@ -98,41 +98,6 @@ CloudWatchRUMClient::CloudWatchRUMClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchRUMClient::CloudWatchRUMClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -CloudWatchRUMClient::CloudWatchRUMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ CloudWatchRUMClient::~CloudWatchRUMClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& CloudWatchRUMClient::accessEndpointProvider() { return m_endpointProvider; } @@ -150,12 +115,7 @@ void CloudWatchRUMClient::init(const CloudWatchRUM::CloudWatchRUMClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "rum"); -} - -void CloudWatchRUMClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } CloudWatchRUMClient::InvokeOperationOutcome CloudWatchRUMClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMClientConfiguration.cpp b/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMClientConfiguration.cpp new file mode 100644 index 000000000000..cd9bf29ed3a7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace CloudWatchRUM { + +void CloudWatchRUMClientConfiguration::LoadCloudWatchRUMSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +CloudWatchRUMClientConfiguration::CloudWatchRUMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadCloudWatchRUMSpecificConfig(this->profileName); +} + +CloudWatchRUMClientConfiguration::CloudWatchRUMClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadCloudWatchRUMSpecificConfig(Aws::String(inputProfileName)); +} + +CloudWatchRUMClientConfiguration::CloudWatchRUMClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadCloudWatchRUMSpecificConfig(this->profileName); +} + +CloudWatchRUMClientConfiguration::CloudWatchRUMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadCloudWatchRUMSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const CloudWatchRUMClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace CloudWatchRUM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMEndpointProvider.cpp b/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMEndpointProvider.cpp index 5ab1dec71d75..ec30229a7e90 100644 --- a/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CLOUDWATCHRUM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace CloudWatchRUM { namespace Endpoint { CloudWatchRUMEndpointProvider::CloudWatchRUMEndpointProvider() : CloudWatchRUMDefaultEpProviderBase(Aws::CloudWatchRUM::CloudWatchRUMEndpointRules::GetRulesBlob(), Aws::CloudWatchRUM::CloudWatchRUMEndpointRules::RulesBlobSize) {} +void CloudWatchRUMBuiltInParameters::SetFromClientConfiguration(const CloudWatchRUMClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void CloudWatchRUMBuiltInParameters::SetFromClientConfiguration(const CloudWatchRUMClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void CloudWatchRUMBuiltInParameters::SetServiceSpecificParameters(const CloudWatchRUMClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace CloudWatchRUM } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClientConfiguration.h b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClientConfiguration.h index d917779729da..44d126929529 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClientConfiguration.h @@ -43,13 +43,11 @@ struct AWS_S3CRT_API S3CrtClientConfiguration : public Aws::Client::GenericClien S3CrtClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - S3CrtClientConfiguration( - const Aws::Client::ClientConfiguration& config, - Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy = Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, - bool iUseVirtualAddressing = true, - US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption = US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + explicit S3CrtClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); bool useVirtualAddressing = true; US_EAST_1_REGIONAL_ENDPOINT_OPTION useUSEast1RegionalEndPointOption = US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET; @@ -62,6 +60,66 @@ struct AWS_S3CRT_API S3CrtClientConfiguration : public Aws::Client::GenericClien return Aws::MakeShared("S3CrtClientConfiguration", client); }; + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * Request checksum calculation and response checksum validation settings. + */ + Aws::Client::ChecksumConfig checksumConfig; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + /* S3 CRT specifics */ S3CrtClientConfiguration(const S3CrtClientConfiguration&) = default; S3CrtClientConfiguration& operator=(const S3CrtClientConfiguration&) = default; @@ -166,5 +224,10 @@ struct AWS_S3CRT_API S3CrtClientConfiguration : public Aws::Client::GenericClien private: void LoadS3CrtSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_S3CRT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3CrtClientConfiguration& config); } // namespace S3Crt } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClientConfiguration.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClientConfiguration.cpp index e8839c6d0fff..c92ceee1dd22 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtClientConfiguration.cpp @@ -49,6 +49,10 @@ void S3CrtClientConfiguration::LoadS3CrtSpecificConfig(const Aws::String& inputP if (useArnRegionCfg == "true") { useArnRegion = true; } + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + checksumConfig = Aws::Client::LoadChecksumConfigFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); } S3CrtClientConfiguration::S3CrtClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) @@ -66,17 +70,21 @@ S3CrtClientConfiguration::S3CrtClientConfiguration(bool useSmartDefaults, const LoadS3CrtSpecificConfig(this->profileName); } -S3CrtClientConfiguration::S3CrtClientConfiguration(const Aws::Client::ClientConfiguration& config, - Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy, - bool iUseVirtualAddressing, - US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption) - : BaseClientConfigClass(config), - useVirtualAddressing(iUseVirtualAddressing), - useUSEast1RegionalEndPointOption(iUseUSEast1RegionalEndPointOption), - payloadSigningPolicy(iPayloadSigningPolicy) { +S3CrtClientConfiguration::S3CrtClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadS3CrtSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3CrtClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.checksumConfig = config.checksumConfig; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + /* S3 CRT specifics */ S3CrtClientConfiguration::S3CrtConfigFactories S3CrtClientConfiguration::S3CrtConfigFactories::defaultFactories = []() { S3CrtConfigFactories factories; diff --git a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointProvider.cpp b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointProvider.cpp index 41690b40b1e5..c10884b4eefc 100644 --- a/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-s3-crt/source/S3CrtEndpointProvider.cpp @@ -62,6 +62,12 @@ void S3CrtBuiltInParameters::SetFromClientConfiguration(const S3CrtClientConfigu } void S3CrtBuiltInParameters::SetServiceSpecificParameters(const S3CrtClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } static const char* AWS_S3_USE_GLOBAL_ENDPOINT = "UseGlobalEndpoint"; if (config.useUSEast1RegionalEndPointOption == US_EAST_1_REGIONAL_ENDPOINT_OPTION::LEGACY) { SetBooleanParameter(AWS_S3_USE_GLOBAL_ENDPOINT, true); diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h index 4c5ba32791d0..2ab3b7250458 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3Client.h @@ -120,36 +120,6 @@ class AWS_S3_API S3Client : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - S3Client( - const Aws::Client::ClientConfiguration& clientConfiguration, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, - bool useVirtualAddressing, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - S3Client( - const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration, - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, bool useVirtualAddressing, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - S3Client( - const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads, - bool useVirtualAddressing, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); - - /* End of legacy constructors due deprecation */ virtual ~S3Client(); /** @@ -8749,7 +8719,6 @@ class AWS_S3_API S3Client : public Aws::Client::AWSXMLClient, virtual bool MultipartUploadSupported() const; - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ClientConfiguration.h b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ClientConfiguration.h index 1dfb89378ab8..d5c6f2861bc5 100644 --- a/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-s3/include/aws/s3/S3ClientConfiguration.h @@ -40,13 +40,11 @@ struct AWS_S3_API S3ClientConfiguration : public Aws::Client::GenericClientConfi S3ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - S3ClientConfiguration( - const Aws::Client::ClientConfiguration& config, - Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy = Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, - bool iUseVirtualAddressing = true, - US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption = US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); + explicit S3ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); bool useVirtualAddressing = true; US_EAST_1_REGIONAL_ENDPOINT_OPTION useUSEast1RegionalEndPointOption = US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET; @@ -59,8 +57,73 @@ struct AWS_S3_API S3ClientConfiguration : public Aws::Client::GenericClientConfi return Aws::MakeShared("S3ClientConfiguration", client); }; + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + /** + * Request checksum calculation and response checksum validation settings. + */ + Aws::Client::ChecksumConfig checksumConfig; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + private: void LoadS3SpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_S3_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3ClientConfiguration& config); } // namespace S3 } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp b/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp index dc12e2b411b5..46df5b1555c1 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3Client.cpp @@ -251,55 +251,6 @@ S3Client::S3Client(const std::shared_ptr& credentialsPro init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -S3Client::S3Client(const Aws::Client::ClientConfiguration& clientConfiguration, - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, bool useVirtualAddressing /*= true*/, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - Aws::MakeShared(ALLOCATION_TAG, *this), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, - /*doubleEncodeValue*/ false), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3Client::S3Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration, - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, bool useVirtualAddressing /*= true*/, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - Aws::MakeShared(ALLOCATION_TAG, *this), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, - /*doubleEncodeValue*/ false), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3Client::S3Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration, - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, bool useVirtualAddressing /*= true*/, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, credentialsProvider, Aws::MakeShared(ALLOCATION_TAG, *this), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, - /*doubleEncodeValue*/ false), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ S3Client::~S3Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& S3Client::accessEndpointProvider() { return m_endpointProvider; } @@ -317,12 +268,7 @@ void S3Client::init(const S3::S3ClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "s3"); -} - -void S3Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } S3Client::InvokeOperationOutcome S3Client::InvokeServiceOperation( diff --git a/generated/src/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp index 6e87d8bcc2fc..6efcec0acb8f 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3ClientConfiguration.cpp @@ -47,6 +47,10 @@ void S3ClientConfiguration::LoadS3SpecificConfig(const Aws::String& inputProfile if (useArnRegionCfg == "true") { useArnRegion = true; } + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + checksumConfig = Aws::Client::LoadChecksumConfigFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); } S3ClientConfiguration::S3ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) @@ -64,16 +68,19 @@ S3ClientConfiguration::S3ClientConfiguration(bool useSmartDefaults, const char* LoadS3SpecificConfig(this->profileName); } -S3ClientConfiguration::S3ClientConfiguration(const Aws::Client::ClientConfiguration& config, - Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy, - bool iUseVirtualAddressing, - US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption) - : BaseClientConfigClass(config), - useVirtualAddressing(iUseVirtualAddressing), - useUSEast1RegionalEndPointOption(iUseUSEast1RegionalEndPointOption), - payloadSigningPolicy(iPayloadSigningPolicy) { +S3ClientConfiguration::S3ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { LoadS3SpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.checksumConfig = config.checksumConfig; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + } // namespace S3 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp b/generated/src/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp index c2abebea3622..076e0c411a2c 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3EndpointProvider.cpp @@ -62,6 +62,12 @@ void S3BuiltInParameters::SetFromClientConfiguration(const S3ClientConfiguration } void S3BuiltInParameters::SetServiceSpecificParameters(const S3ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } static const char* AWS_S3_USE_GLOBAL_ENDPOINT = "UseGlobalEndpoint"; if (config.useUSEast1RegionalEndPointOption == US_EAST_1_REGIONAL_ENDPOINT_OPTION::LEGACY) { SetBooleanParameter(AWS_S3_USE_GLOBAL_ENDPOINT, true); diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h index 327469ec5dfd..73b56b5f5bfe 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClient.h @@ -52,27 +52,6 @@ class AWS_S3CONTROL_API S3ControlClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::S3Control::S3ControlClientConfiguration& clientConfiguration = Aws::S3Control::S3ControlClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - S3ControlClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - S3ControlClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - S3ControlClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~S3ControlClient(); /** @@ -4248,7 +4227,6 @@ class AWS_S3CONTROL_API S3ControlClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&S3ControlClient::UpdateStorageLensGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClientConfiguration.h b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClientConfiguration.h index c0d65e318623..bacd418e0d0f 100644 --- a/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-s3control/include/aws/s3control/S3ControlClientConfiguration.h @@ -33,14 +33,48 @@ struct AWS_S3CONTROL_API S3ControlClientConfiguration : public Aws::Client::Gene S3ControlClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ - S3ControlClientConfiguration(const Aws::Client::ClientConfiguration& config); + explicit S3ControlClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + bool useArnRegion = false; Client::AWSAuthV4Signer::PayloadSigningPolicy payloadSigningPolicy = Client::AWSAuthV4Signer::PayloadSigningPolicy::RequestDependent; + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * The AWS account ID. Used for account-based endpoint routing. An AWS account ID has a format like 111122223333. + * Account-based endpoint routing provides better request performance for some services. + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountId; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + private: void LoadS3ControlSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_S3CONTROL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3ControlClientConfiguration& config); } // namespace S3Control } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-s3control/source/S3ControlClient.cpp b/generated/src/aws-cpp-sdk-s3control/source/S3ControlClient.cpp index c9867ed230b2..77536d4f76fc 100644 --- a/generated/src/aws-cpp-sdk-s3control/source/S3ControlClient.cpp +++ b/generated/src/aws-cpp-sdk-s3control/source/S3ControlClient.cpp @@ -181,47 +181,6 @@ S3ControlClient::S3ControlClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -S3ControlClient::S3ControlClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region), - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::RequestDependent, - /*doubleEncodeValue*/ false), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3ControlClient::S3ControlClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region), - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::RequestDependent, - /*doubleEncodeValue*/ false), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3ControlClient::S3ControlClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region), - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::RequestDependent, - /*doubleEncodeValue*/ false), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ S3ControlClient::~S3ControlClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& S3ControlClient::accessEndpointProvider() { return m_endpointProvider; } @@ -239,12 +198,7 @@ void S3ControlClient::init(const S3Control::S3ControlClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "s3"); -} - -void S3ControlClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } S3ControlClient::InvokeOperationOutcome S3ControlClient::InvokeServiceOperation( diff --git a/generated/src/aws-cpp-sdk-s3control/source/S3ControlClientConfiguration.cpp b/generated/src/aws-cpp-sdk-s3control/source/S3ControlClientConfiguration.cpp index 76daea26ee8c..508687f177be 100644 --- a/generated/src/aws-cpp-sdk-s3control/source/S3ControlClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-s3control/source/S3ControlClientConfiguration.cpp @@ -17,6 +17,8 @@ void S3ControlClientConfiguration::LoadS3ControlSpecificConfig(const Aws::String if (useArnRegionCfg == "true") { useArnRegion = true; } + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); } S3ControlClientConfiguration::S3ControlClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) @@ -34,9 +36,16 @@ S3ControlClientConfiguration::S3ControlClientConfiguration(bool useSmartDefaults LoadS3ControlSpecificConfig(this->profileName); } -S3ControlClientConfiguration::S3ControlClientConfiguration(const Aws::Client::ClientConfiguration& config) : BaseClientConfigClass(config) { +S3ControlClientConfiguration::S3ControlClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadS3ControlSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3ControlClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.accountId = config.accountId; + return options; +} + } // namespace S3Control } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3control/source/S3ControlEndpointProvider.cpp b/generated/src/aws-cpp-sdk-s3control/source/S3ControlEndpointProvider.cpp index b2969767dbbb..b51fd32ea626 100644 --- a/generated/src/aws-cpp-sdk-s3control/source/S3ControlEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-s3control/source/S3ControlEndpointProvider.cpp @@ -46,6 +46,12 @@ void S3ControlBuiltInParameters::SetFromClientConfiguration(const S3ControlClien void S3ControlBuiltInParameters::SetServiceSpecificParameters(const S3ControlClientConfiguration& config) { static const char* AWS_S3_USE_ARN_REGION = "UseArnRegion"; SetBooleanParameter(AWS_S3_USE_ARN_REGION, config.useArnRegion); + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } if (!config.accountId.empty()) { SetStringParameter("AccountId", config.accountId); } diff --git a/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesClient.h b/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesClient.h index 137023b748ea..b42a47ca1428 100644 --- a/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesClient.h +++ b/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesClient.h @@ -56,27 +56,6 @@ class AWS_S3FILES_API S3FilesClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::S3Files::S3FilesClientConfiguration& clientConfiguration = Aws::S3Files::S3FilesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - S3FilesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - S3FilesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - S3FilesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~S3FilesClient(); /** @@ -654,7 +633,6 @@ class AWS_S3FILES_API S3FilesClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&S3FilesClient::UpdateMountTarget, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesClientConfiguration.h b/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesClientConfiguration.h new file mode 100644 index 000000000000..22b0e119a1b3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace S3Files { +struct AWS_S3FILES_API S3FilesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + S3FilesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3FilesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3FilesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit S3FilesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadS3FilesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_S3FILES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3FilesClientConfiguration& config); +} // namespace S3Files +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesEndpointProvider.h b/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesEndpointProvider.h index 5de35a8e85b8..38a9fd007e2f 100644 --- a/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace S3Files { namespace Endpoint { +using S3FilesClientConfiguration = Aws::S3Files::S3FilesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using S3FilesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using S3FilesClientConfiguration = Aws::Client::GenericClientConfiguration; -using S3FilesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_S3FILES_API S3FilesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~S3FilesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const S3FilesClientConfiguration& config); + virtual void SetFromClientConfiguration(const S3FilesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const S3FilesClientConfiguration& config); +}; /** * The type for the S3Files Client Endpoint Provider. @@ -34,6 +43,24 @@ using S3FilesEndpointProviderBase = using S3FilesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace S3Files + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_S3FILES_EXTERN template class AWS_S3FILES_API + Aws::Endpoint::EndpointProviderBase; + +AWS_S3FILES_EXTERN template class AWS_S3FILES_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace S3Files { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesServiceClientModel.h b/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesServiceClientModel.h index 732d151a704e..273f1b4ca4bf 100644 --- a/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesServiceClientModel.h @@ -64,7 +64,6 @@ class RetryStrategy; } // namespace Client namespace S3Files { -using S3FilesClientConfiguration = Aws::Client::GenericClientConfiguration; using S3FilesEndpointProviderBase = Aws::S3Files::Endpoint::S3FilesEndpointProviderBase; using S3FilesEndpointProvider = Aws::S3Files::Endpoint::S3FilesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-s3files/source/S3FilesClient.cpp b/generated/src/aws-cpp-sdk-s3files/source/S3FilesClient.cpp index 7bdfca552b02..34736ae12a2e 100644 --- a/generated/src/aws-cpp-sdk-s3files/source/S3FilesClient.cpp +++ b/generated/src/aws-cpp-sdk-s3files/source/S3FilesClient.cpp @@ -98,41 +98,6 @@ S3FilesClient::S3FilesClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -S3FilesClient::S3FilesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3FilesClient::S3FilesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3FilesClient::S3FilesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ S3FilesClient::~S3FilesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& S3FilesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -150,12 +115,7 @@ void S3FilesClient::init(const S3Files::S3FilesClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "s3files"); -} - -void S3FilesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } S3FilesClient::InvokeOperationOutcome S3FilesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-s3files/source/S3FilesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-s3files/source/S3FilesClientConfiguration.cpp new file mode 100644 index 000000000000..10d505b3db50 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3files/source/S3FilesClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace S3Files { + +void S3FilesClientConfiguration::LoadS3FilesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +S3FilesClientConfiguration::S3FilesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadS3FilesSpecificConfig(this->profileName); +} + +S3FilesClientConfiguration::S3FilesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadS3FilesSpecificConfig(Aws::String(inputProfileName)); +} + +S3FilesClientConfiguration::S3FilesClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadS3FilesSpecificConfig(this->profileName); +} + +S3FilesClientConfiguration::S3FilesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadS3FilesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3FilesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace S3Files +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3files/source/S3FilesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-s3files/source/S3FilesEndpointProvider.cpp index 0ed3dca28902..84d7096fa504 100644 --- a/generated/src/aws-cpp-sdk-s3files/source/S3FilesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-s3files/source/S3FilesEndpointProvider.cpp @@ -7,11 +7,41 @@ #include namespace Aws { +#ifndef AWS_S3FILES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace S3Files { namespace Endpoint { S3FilesEndpointProvider::S3FilesEndpointProvider() : S3FilesDefaultEpProviderBase(Aws::S3Files::S3FilesEndpointRules::GetRulesBlob(), Aws::S3Files::S3FilesEndpointRules::RulesBlobSize) {} +void S3FilesBuiltInParameters::SetFromClientConfiguration(const S3FilesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void S3FilesBuiltInParameters::SetFromClientConfiguration(const S3FilesClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void S3FilesBuiltInParameters::SetServiceSpecificParameters(const S3FilesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace S3Files } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsClient.h b/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsClient.h index ef98f3778c72..a5598aee9ced 100644 --- a/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsClient.h +++ b/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsClient.h @@ -55,27 +55,6 @@ class AWS_S3OUTPOSTS_API S3OutpostsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::S3Outposts::S3OutpostsClientConfiguration& clientConfiguration = Aws::S3Outposts::S3OutpostsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - S3OutpostsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - S3OutpostsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - S3OutpostsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~S3OutpostsClient(); /** @@ -233,7 +212,6 @@ class AWS_S3OUTPOSTS_API S3OutpostsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&S3OutpostsClient::ListSharedEndpoints, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsClientConfiguration.h b/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsClientConfiguration.h new file mode 100644 index 000000000000..225293e3bafc --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace S3Outposts { +struct AWS_S3OUTPOSTS_API S3OutpostsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + S3OutpostsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3OutpostsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3OutpostsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit S3OutpostsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadS3OutpostsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_S3OUTPOSTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3OutpostsClientConfiguration& config); +} // namespace S3Outposts +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsEndpointProvider.h b/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsEndpointProvider.h index 358ba15d2c19..9631a433cc29 100644 --- a/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace S3Outposts { namespace Endpoint { +using S3OutpostsClientConfiguration = Aws::S3Outposts::S3OutpostsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using S3OutpostsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using S3OutpostsClientConfiguration = Aws::Client::GenericClientConfiguration; -using S3OutpostsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_S3OUTPOSTS_API S3OutpostsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~S3OutpostsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const S3OutpostsClientConfiguration& config); + virtual void SetFromClientConfiguration(const S3OutpostsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const S3OutpostsClientConfiguration& config); +}; /** * The type for the S3Outposts Client Endpoint Provider. @@ -34,6 +43,24 @@ using S3OutpostsEndpointProviderBase = using S3OutpostsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace S3Outposts + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_S3OUTPOSTS_EXTERN template class AWS_S3OUTPOSTS_API Aws::Endpoint::EndpointProviderBase< + S3Outposts::Endpoint::S3OutpostsClientConfiguration, S3Outposts::Endpoint::S3OutpostsBuiltInParameters, + S3Outposts::Endpoint::S3OutpostsClientContextParameters>; + +AWS_S3OUTPOSTS_EXTERN template class AWS_S3OUTPOSTS_API Aws::Endpoint::BDDEndpointProvider< + S3Outposts::Endpoint::S3OutpostsClientConfiguration, S3Outposts::Endpoint::S3OutpostsBuiltInParameters, + S3Outposts::Endpoint::S3OutpostsClientContextParameters>; +} // namespace Endpoint + +namespace S3Outposts { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsServiceClientModel.h b/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsServiceClientModel.h index 4c8328502460..fdfab5605344 100644 --- a/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsServiceClientModel.h @@ -53,7 +53,6 @@ class RetryStrategy; } // namespace Client namespace S3Outposts { -using S3OutpostsClientConfiguration = Aws::Client::GenericClientConfiguration; using S3OutpostsEndpointProviderBase = Aws::S3Outposts::Endpoint::S3OutpostsEndpointProviderBase; using S3OutpostsEndpointProvider = Aws::S3Outposts::Endpoint::S3OutpostsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsClient.cpp b/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsClient.cpp index 18495e8f3449..6853848bd341 100644 --- a/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsClient.cpp +++ b/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsClient.cpp @@ -82,41 +82,6 @@ S3OutpostsClient::S3OutpostsClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -S3OutpostsClient::S3OutpostsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3OutpostsClient::S3OutpostsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3OutpostsClient::S3OutpostsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ S3OutpostsClient::~S3OutpostsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& S3OutpostsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -134,12 +99,7 @@ void S3OutpostsClient::init(const S3Outposts::S3OutpostsClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "s3-outposts"); -} - -void S3OutpostsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } S3OutpostsClient::InvokeOperationOutcome S3OutpostsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsClientConfiguration.cpp new file mode 100644 index 000000000000..42a7122c89fd --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace S3Outposts { + +void S3OutpostsClientConfiguration::LoadS3OutpostsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +S3OutpostsClientConfiguration::S3OutpostsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadS3OutpostsSpecificConfig(this->profileName); +} + +S3OutpostsClientConfiguration::S3OutpostsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadS3OutpostsSpecificConfig(Aws::String(inputProfileName)); +} + +S3OutpostsClientConfiguration::S3OutpostsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadS3OutpostsSpecificConfig(this->profileName); +} + +S3OutpostsClientConfiguration::S3OutpostsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadS3OutpostsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3OutpostsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace S3Outposts +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsEndpointProvider.cpp index 87e7baeb8ca5..d5e0fd2242b5 100644 --- a/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_S3OUTPOSTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace S3Outposts { namespace Endpoint { S3OutpostsEndpointProvider::S3OutpostsEndpointProvider() : S3OutpostsDefaultEpProviderBase(Aws::S3Outposts::S3OutpostsEndpointRules::GetRulesBlob(), Aws::S3Outposts::S3OutpostsEndpointRules::RulesBlobSize) {} +void S3OutpostsBuiltInParameters::SetFromClientConfiguration(const S3OutpostsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void S3OutpostsBuiltInParameters::SetFromClientConfiguration(const S3OutpostsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void S3OutpostsBuiltInParameters::SetServiceSpecificParameters(const S3OutpostsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace S3Outposts } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h index 6a47cb6f0cad..8c748a6feaae 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClient.h @@ -67,27 +67,6 @@ class AWS_S3TABLES_API S3TablesClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::S3Tables::S3TablesClientConfiguration& clientConfiguration = Aws::S3Tables::S3TablesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - S3TablesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - S3TablesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - S3TablesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~S3TablesClient(); /** @@ -1709,7 +1688,6 @@ class AWS_S3TABLES_API S3TablesClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&S3TablesClient::UpdateTableMetadataLocation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClientConfiguration.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClientConfiguration.h new file mode 100644 index 000000000000..cab397ca5f2b --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace S3Tables { +struct AWS_S3TABLES_API S3TablesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + S3TablesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3TablesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3TablesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit S3TablesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadS3TablesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_S3TABLES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3TablesClientConfiguration& config); +} // namespace S3Tables +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesEndpointProvider.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesEndpointProvider.h index dae9a0982ab0..1685250fab3c 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace S3Tables { namespace Endpoint { +using S3TablesClientConfiguration = Aws::S3Tables::S3TablesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using S3TablesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using S3TablesClientConfiguration = Aws::Client::GenericClientConfiguration; -using S3TablesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_S3TABLES_API S3TablesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~S3TablesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const S3TablesClientConfiguration& config); + virtual void SetFromClientConfiguration(const S3TablesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const S3TablesClientConfiguration& config); +}; /** * The type for the S3Tables Client Endpoint Provider. @@ -34,6 +43,24 @@ using S3TablesEndpointProviderBase = using S3TablesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace S3Tables + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_S3TABLES_EXTERN template class AWS_S3TABLES_API + Aws::Endpoint::EndpointProviderBase; + +AWS_S3TABLES_EXTERN template class AWS_S3TABLES_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace S3Tables { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesServiceClientModel.h b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesServiceClientModel.h index 5894c05ada9e..eb7ee922b866 100644 --- a/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace S3Tables { -using S3TablesClientConfiguration = Aws::Client::GenericClientConfiguration; using S3TablesEndpointProviderBase = Aws::S3Tables::Endpoint::S3TablesEndpointProviderBase; using S3TablesEndpointProvider = Aws::S3Tables::Endpoint::S3TablesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-s3tables/source/S3TablesClient.cpp b/generated/src/aws-cpp-sdk-s3tables/source/S3TablesClient.cpp index f1d127e928ea..9f97efd8e0d4 100644 --- a/generated/src/aws-cpp-sdk-s3tables/source/S3TablesClient.cpp +++ b/generated/src/aws-cpp-sdk-s3tables/source/S3TablesClient.cpp @@ -126,41 +126,6 @@ S3TablesClient::S3TablesClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -S3TablesClient::S3TablesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3TablesClient::S3TablesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3TablesClient::S3TablesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ S3TablesClient::~S3TablesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& S3TablesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -178,12 +143,7 @@ void S3TablesClient::init(const S3Tables::S3TablesClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "s3tables"); -} - -void S3TablesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } S3TablesClient::InvokeOperationOutcome S3TablesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-s3tables/source/S3TablesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-s3tables/source/S3TablesClientConfiguration.cpp new file mode 100644 index 000000000000..de35f09bcf2d --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3tables/source/S3TablesClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace S3Tables { + +void S3TablesClientConfiguration::LoadS3TablesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +S3TablesClientConfiguration::S3TablesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadS3TablesSpecificConfig(this->profileName); +} + +S3TablesClientConfiguration::S3TablesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadS3TablesSpecificConfig(Aws::String(inputProfileName)); +} + +S3TablesClientConfiguration::S3TablesClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadS3TablesSpecificConfig(this->profileName); +} + +S3TablesClientConfiguration::S3TablesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadS3TablesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3TablesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace S3Tables +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3tables/source/S3TablesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-s3tables/source/S3TablesEndpointProvider.cpp index 584a622f1c30..d520a7171e1f 100644 --- a/generated/src/aws-cpp-sdk-s3tables/source/S3TablesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-s3tables/source/S3TablesEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_S3TABLES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace S3Tables { namespace Endpoint { S3TablesEndpointProvider::S3TablesEndpointProvider() : S3TablesDefaultEpProviderBase(Aws::S3Tables::S3TablesEndpointRules::GetRulesBlob(), Aws::S3Tables::S3TablesEndpointRules::RulesBlobSize) {} +void S3TablesBuiltInParameters::SetFromClientConfiguration(const S3TablesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void S3TablesBuiltInParameters::SetFromClientConfiguration(const S3TablesClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void S3TablesBuiltInParameters::SetServiceSpecificParameters(const S3TablesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace S3Tables } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsClient.h b/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsClient.h index c48373ed729b..1206b9911b00 100644 --- a/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsClient.h +++ b/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsClient.h @@ -59,27 +59,6 @@ class AWS_S3VECTORS_API S3VectorsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::S3Vectors::S3VectorsClientConfiguration& clientConfiguration = Aws::S3Vectors::S3VectorsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - S3VectorsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - S3VectorsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - S3VectorsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~S3VectorsClient(); /** @@ -775,7 +754,6 @@ class AWS_S3VECTORS_API S3VectorsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&S3VectorsClient::UpdateIndexMode, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsClientConfiguration.h b/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsClientConfiguration.h new file mode 100644 index 000000000000..825f00798e6e --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace S3Vectors { +struct AWS_S3VECTORS_API S3VectorsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + S3VectorsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3VectorsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + S3VectorsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit S3VectorsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadS3VectorsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_S3VECTORS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3VectorsClientConfiguration& config); +} // namespace S3Vectors +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsEndpointProvider.h b/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsEndpointProvider.h index f5e8cd1231f0..93f0a68e9ecd 100644 --- a/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace S3Vectors { namespace Endpoint { +using S3VectorsClientConfiguration = Aws::S3Vectors::S3VectorsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using S3VectorsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using S3VectorsClientConfiguration = Aws::Client::GenericClientConfiguration; -using S3VectorsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_S3VECTORS_API S3VectorsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~S3VectorsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const S3VectorsClientConfiguration& config); + virtual void SetFromClientConfiguration(const S3VectorsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const S3VectorsClientConfiguration& config); +}; /** * The type for the S3Vectors Client Endpoint Provider. @@ -34,6 +43,24 @@ using S3VectorsEndpointProviderBase = using S3VectorsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace S3Vectors + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_S3VECTORS_EXTERN template class AWS_S3VECTORS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_S3VECTORS_EXTERN template class AWS_S3VECTORS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace S3Vectors { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsServiceClientModel.h b/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsServiceClientModel.h index 9bca32cfe7c4..710630e645c7 100644 --- a/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsServiceClientModel.h @@ -76,7 +76,6 @@ class RetryStrategy; } // namespace Client namespace S3Vectors { -using S3VectorsClientConfiguration = Aws::Client::GenericClientConfiguration; using S3VectorsEndpointProviderBase = Aws::S3Vectors::Endpoint::S3VectorsEndpointProviderBase; using S3VectorsEndpointProvider = Aws::S3Vectors::Endpoint::S3VectorsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsClient.cpp b/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsClient.cpp index b0feff23a484..c8c3d7d9ba63 100644 --- a/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsClient.cpp +++ b/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsClient.cpp @@ -98,41 +98,6 @@ S3VectorsClient::S3VectorsClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -S3VectorsClient::S3VectorsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3VectorsClient::S3VectorsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -S3VectorsClient::S3VectorsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ S3VectorsClient::~S3VectorsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& S3VectorsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -150,12 +115,7 @@ void S3VectorsClient::init(const S3Vectors::S3VectorsClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "s3vectors"); -} - -void S3VectorsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } S3VectorsClient::InvokeOperationOutcome S3VectorsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsClientConfiguration.cpp new file mode 100644 index 000000000000..75c86e5332d5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace S3Vectors { + +void S3VectorsClientConfiguration::LoadS3VectorsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +S3VectorsClientConfiguration::S3VectorsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadS3VectorsSpecificConfig(this->profileName); +} + +S3VectorsClientConfiguration::S3VectorsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadS3VectorsSpecificConfig(Aws::String(inputProfileName)); +} + +S3VectorsClientConfiguration::S3VectorsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadS3VectorsSpecificConfig(this->profileName); +} + +S3VectorsClientConfiguration::S3VectorsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadS3VectorsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const S3VectorsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace S3Vectors +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsEndpointProvider.cpp index 7cb4d538ce77..3ea0ae76b5cd 100644 --- a/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsEndpointProvider.cpp @@ -7,12 +7,42 @@ #include namespace Aws { +#ifndef AWS_S3VECTORS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace S3Vectors { namespace Endpoint { S3VectorsEndpointProvider::S3VectorsEndpointProvider() : S3VectorsDefaultEpProviderBase(Aws::S3Vectors::S3VectorsEndpointRules::GetRulesBlob(), Aws::S3Vectors::S3VectorsEndpointRules::RulesBlobSize) {} +void S3VectorsBuiltInParameters::SetFromClientConfiguration(const S3VectorsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void S3VectorsBuiltInParameters::SetFromClientConfiguration(const S3VectorsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void S3VectorsBuiltInParameters::SetServiceSpecificParameters(const S3VectorsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace S3Vectors } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeClient.h b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeClient.h index 5fe040076916..6e3f2f89f10f 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeClient.h @@ -84,27 +84,6 @@ class AWS_AUGMENTEDAIRUNTIME_API AugmentedAIRuntimeClient : public Aws::Client:: const Aws::AugmentedAIRuntime::AugmentedAIRuntimeClientConfiguration& clientConfiguration = Aws::AugmentedAIRuntime::AugmentedAIRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AugmentedAIRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AugmentedAIRuntimeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AugmentedAIRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AugmentedAIRuntimeClient(); /** @@ -239,7 +218,6 @@ class AWS_AUGMENTEDAIRUNTIME_API AugmentedAIRuntimeClient : public Aws::Client:: return SubmitAsync(&AugmentedAIRuntimeClient::StopHumanLoop, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeClientConfiguration.h new file mode 100644 index 000000000000..59da4823fc6a --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AugmentedAIRuntime { +struct AWS_AUGMENTEDAIRUNTIME_API AugmentedAIRuntimeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AugmentedAIRuntimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AugmentedAIRuntimeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AugmentedAIRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AugmentedAIRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAugmentedAIRuntimeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_AUGMENTEDAIRUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AugmentedAIRuntimeClientConfiguration& config); +} // namespace AugmentedAIRuntime +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeEndpointProvider.h index 0c51a9ad4e5f..180859ad9790 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace AugmentedAIRuntime { namespace Endpoint { +using AugmentedAIRuntimeClientConfiguration = Aws::AugmentedAIRuntime::AugmentedAIRuntimeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AugmentedAIRuntimeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AugmentedAIRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; -using AugmentedAIRuntimeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_AUGMENTEDAIRUNTIME_API AugmentedAIRuntimeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AugmentedAIRuntimeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AugmentedAIRuntimeClientConfiguration& config); + virtual void SetFromClientConfiguration(const AugmentedAIRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AugmentedAIRuntimeClientConfiguration& config); +}; /** * The type for the AugmentedAIRuntime Client Endpoint Provider. @@ -36,6 +45,24 @@ using AugmentedAIRuntimeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AugmentedAIRuntime + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_AUGMENTEDAIRUNTIME_EXTERN template class AWS_AUGMENTEDAIRUNTIME_API Aws::Endpoint::EndpointProviderBase< + AugmentedAIRuntime::Endpoint::AugmentedAIRuntimeClientConfiguration, AugmentedAIRuntime::Endpoint::AugmentedAIRuntimeBuiltInParameters, + AugmentedAIRuntime::Endpoint::AugmentedAIRuntimeClientContextParameters>; + +AWS_AUGMENTEDAIRUNTIME_EXTERN template class AWS_AUGMENTEDAIRUNTIME_API Aws::Endpoint::BDDEndpointProvider< + AugmentedAIRuntime::Endpoint::AugmentedAIRuntimeClientConfiguration, AugmentedAIRuntime::Endpoint::AugmentedAIRuntimeBuiltInParameters, + AugmentedAIRuntime::Endpoint::AugmentedAIRuntimeClientContextParameters>; +} // namespace Endpoint + +namespace AugmentedAIRuntime { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeServiceClientModel.h index 9d503b55df28..d3b3987b9e37 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace AugmentedAIRuntime { -using AugmentedAIRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; using AugmentedAIRuntimeEndpointProviderBase = Aws::AugmentedAIRuntime::Endpoint::AugmentedAIRuntimeEndpointProviderBase; using AugmentedAIRuntimeEndpointProvider = Aws::AugmentedAIRuntime::Endpoint::AugmentedAIRuntimeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeClient.cpp b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeClient.cpp index a86919a41d1a..e8bd84251a0b 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeClient.cpp @@ -86,42 +86,6 @@ AugmentedAIRuntimeClient::AugmentedAIRuntimeClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AugmentedAIRuntimeClient::AugmentedAIRuntimeClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AugmentedAIRuntimeClient::AugmentedAIRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AugmentedAIRuntimeClient::~AugmentedAIRuntimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AugmentedAIRuntimeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +103,7 @@ void AugmentedAIRuntimeClient::init(const AugmentedAIRuntime::AugmentedAIRuntime AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void AugmentedAIRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AugmentedAIRuntimeClient::InvokeOperationOutcome AugmentedAIRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeClientConfiguration.cpp new file mode 100644 index 000000000000..fe82137b0cee --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AugmentedAIRuntime { + +void AugmentedAIRuntimeClientConfiguration::LoadAugmentedAIRuntimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AugmentedAIRuntimeClientConfiguration::AugmentedAIRuntimeClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAugmentedAIRuntimeSpecificConfig(this->profileName); +} + +AugmentedAIRuntimeClientConfiguration::AugmentedAIRuntimeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAugmentedAIRuntimeSpecificConfig(Aws::String(inputProfileName)); +} + +AugmentedAIRuntimeClientConfiguration::AugmentedAIRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAugmentedAIRuntimeSpecificConfig(this->profileName); +} + +AugmentedAIRuntimeClientConfiguration::AugmentedAIRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAugmentedAIRuntimeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AugmentedAIRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AugmentedAIRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeEndpointProvider.cpp index 1bf315eed5f4..6ede7669a213 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_AUGMENTEDAIRUNTIME_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AugmentedAIRuntime { namespace Endpoint { AugmentedAIRuntimeEndpointProvider::AugmentedAIRuntimeEndpointProvider() : AugmentedAIRuntimeDefaultEpProviderBase(Aws::AugmentedAIRuntime::AugmentedAIRuntimeEndpointRules::GetRulesBlob(), Aws::AugmentedAIRuntime::AugmentedAIRuntimeEndpointRules::RulesBlobSize) {} +void AugmentedAIRuntimeBuiltInParameters::SetFromClientConfiguration(const AugmentedAIRuntimeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AugmentedAIRuntimeBuiltInParameters::SetFromClientConfiguration(const AugmentedAIRuntimeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AugmentedAIRuntimeBuiltInParameters::SetServiceSpecificParameters(const AugmentedAIRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AugmentedAIRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerClient.h b/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerClient.h index 652c6f18f340..adaa1fd92e92 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerClient.h @@ -58,27 +58,6 @@ class AWS_SAGEMAKEREDGEMANAGER_API SagemakerEdgeManagerClient const Aws::SagemakerEdgeManager::SagemakerEdgeManagerClientConfiguration& clientConfiguration = Aws::SagemakerEdgeManager::SagemakerEdgeManagerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SagemakerEdgeManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SagemakerEdgeManagerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SagemakerEdgeManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SagemakerEdgeManagerClient(); /** @@ -160,7 +139,6 @@ class AWS_SAGEMAKEREDGEMANAGER_API SagemakerEdgeManagerClient return SubmitAsync(&SagemakerEdgeManagerClient::SendHeartbeat, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerClientConfiguration.h new file mode 100644 index 000000000000..2584a1185276 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SagemakerEdgeManager { +struct AWS_SAGEMAKEREDGEMANAGER_API SagemakerEdgeManagerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SagemakerEdgeManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SagemakerEdgeManagerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SagemakerEdgeManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SagemakerEdgeManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSagemakerEdgeManagerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKEREDGEMANAGER_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const SagemakerEdgeManagerClientConfiguration& config); +} // namespace SagemakerEdgeManager +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerEndpointProvider.h index 40a13cce624b..d84dd8473374 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SagemakerEdgeManager { namespace Endpoint { +using SagemakerEdgeManagerClientConfiguration = Aws::SagemakerEdgeManager::SagemakerEdgeManagerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SagemakerEdgeManagerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SagemakerEdgeManagerClientConfiguration = Aws::Client::GenericClientConfiguration; -using SagemakerEdgeManagerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKEREDGEMANAGER_API SagemakerEdgeManagerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SagemakerEdgeManagerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SagemakerEdgeManagerClientConfiguration& config); + virtual void SetFromClientConfiguration(const SagemakerEdgeManagerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SagemakerEdgeManagerClientConfiguration& config); +}; /** * The type for the SagemakerEdgeManager Client Endpoint Provider. @@ -36,6 +45,26 @@ using SagemakerEdgeManagerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SagemakerEdgeManager + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKEREDGEMANAGER_EXTERN template class AWS_SAGEMAKEREDGEMANAGER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SAGEMAKEREDGEMANAGER_EXTERN template class AWS_SAGEMAKEREDGEMANAGER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SagemakerEdgeManager { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerServiceClientModel.h index 76ef3a10c7b6..092a896d4971 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerServiceClientModel.h @@ -49,7 +49,6 @@ class RetryStrategy; } // namespace Client namespace SagemakerEdgeManager { -using SagemakerEdgeManagerClientConfiguration = Aws::Client::GenericClientConfiguration; using SagemakerEdgeManagerEndpointProviderBase = Aws::SagemakerEdgeManager::Endpoint::SagemakerEdgeManagerEndpointProviderBase; using SagemakerEdgeManagerEndpointProvider = Aws::SagemakerEdgeManager::Endpoint::SagemakerEdgeManagerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerClient.cpp b/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerClient.cpp index f5c214394359..064e52296112 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerClient.cpp @@ -86,42 +86,6 @@ SagemakerEdgeManagerClient::SagemakerEdgeManagerClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SagemakerEdgeManagerClient::SagemakerEdgeManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SagemakerEdgeManagerClient::SagemakerEdgeManagerClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SagemakerEdgeManagerClient::SagemakerEdgeManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SagemakerEdgeManagerClient::~SagemakerEdgeManagerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SagemakerEdgeManagerClient::accessEndpointProvider() { @@ -141,12 +105,7 @@ void SagemakerEdgeManagerClient::init(const SagemakerEdgeManager::SagemakerEdgeM AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void SagemakerEdgeManagerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SagemakerEdgeManagerClient::InvokeOperationOutcome SagemakerEdgeManagerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerClientConfiguration.cpp new file mode 100644 index 000000000000..fb395f333ba6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SagemakerEdgeManager { + +void SagemakerEdgeManagerClientConfiguration::LoadSagemakerEdgeManagerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SagemakerEdgeManagerClientConfiguration::SagemakerEdgeManagerClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSagemakerEdgeManagerSpecificConfig(this->profileName); +} + +SagemakerEdgeManagerClientConfiguration::SagemakerEdgeManagerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSagemakerEdgeManagerSpecificConfig(Aws::String(inputProfileName)); +} + +SagemakerEdgeManagerClientConfiguration::SagemakerEdgeManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSagemakerEdgeManagerSpecificConfig(this->profileName); +} + +SagemakerEdgeManagerClientConfiguration::SagemakerEdgeManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSagemakerEdgeManagerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SagemakerEdgeManagerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SagemakerEdgeManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerEndpointProvider.cpp index eef6985429cd..015decb92788 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKEREDGEMANAGER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SagemakerEdgeManager { namespace Endpoint { SagemakerEdgeManagerEndpointProvider::SagemakerEdgeManagerEndpointProvider() : SagemakerEdgeManagerDefaultEpProviderBase(Aws::SagemakerEdgeManager::SagemakerEdgeManagerEndpointRules::GetRulesBlob(), Aws::SagemakerEdgeManager::SagemakerEdgeManagerEndpointRules::RulesBlobSize) {} +void SagemakerEdgeManagerBuiltInParameters::SetFromClientConfiguration(const SagemakerEdgeManagerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SagemakerEdgeManagerBuiltInParameters::SetFromClientConfiguration(const SagemakerEdgeManagerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SagemakerEdgeManagerBuiltInParameters::SetServiceSpecificParameters(const SagemakerEdgeManagerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SagemakerEdgeManager } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClient.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClient.h index 30dfc82c3d34..b4c22fabdde1 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClient.h @@ -72,28 +72,6 @@ class AWS_SAGEMAKERFEATURESTORERUNTIME_API SageMakerFeatureStoreRuntimeClient const Aws::SageMakerFeatureStoreRuntime::SageMakerFeatureStoreRuntimeClientConfiguration& clientConfiguration = Aws::SageMakerFeatureStoreRuntime::SageMakerFeatureStoreRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SageMakerFeatureStoreRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SageMakerFeatureStoreRuntimeClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SageMakerFeatureStoreRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SageMakerFeatureStoreRuntimeClient(); /** @@ -344,7 +322,6 @@ class AWS_SAGEMAKERFEATURESTORERUNTIME_API SageMakerFeatureStoreRuntimeClient return SubmitAsync(&SageMakerFeatureStoreRuntimeClient::UpdateRecord, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClientConfiguration.h new file mode 100644 index 000000000000..3a662a20ec47 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SageMakerFeatureStoreRuntime { +struct AWS_SAGEMAKERFEATURESTORERUNTIME_API SageMakerFeatureStoreRuntimeClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SageMakerFeatureStoreRuntimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerFeatureStoreRuntimeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerFeatureStoreRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SageMakerFeatureStoreRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSageMakerFeatureStoreRuntimeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKERFEATURESTORERUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const SageMakerFeatureStoreRuntimeClientConfiguration& config); +} // namespace SageMakerFeatureStoreRuntime +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeEndpointProvider.h index 23287b07a195..6ce33a7c823d 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SageMakerFeatureStoreRuntime { namespace Endpoint { +using SageMakerFeatureStoreRuntimeClientConfiguration = Aws::SageMakerFeatureStoreRuntime::SageMakerFeatureStoreRuntimeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SageMakerFeatureStoreRuntimeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SageMakerFeatureStoreRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; -using SageMakerFeatureStoreRuntimeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKERFEATURESTORERUNTIME_API SageMakerFeatureStoreRuntimeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SageMakerFeatureStoreRuntimeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SageMakerFeatureStoreRuntimeClientConfiguration& config); + virtual void SetFromClientConfiguration(const SageMakerFeatureStoreRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SageMakerFeatureStoreRuntimeClientConfiguration& config); +}; /** * The type for the SageMakerFeatureStoreRuntime Client Endpoint Provider. @@ -36,6 +45,26 @@ using SageMakerFeatureStoreRuntimeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SageMakerFeatureStoreRuntime + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKERFEATURESTORERUNTIME_EXTERN template class AWS_SAGEMAKERFEATURESTORERUNTIME_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SAGEMAKERFEATURESTORERUNTIME_EXTERN template class AWS_SAGEMAKERFEATURESTORERUNTIME_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SageMakerFeatureStoreRuntime { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeServiceClientModel.h index 4624404dd9c8..bf8ced29c828 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace SageMakerFeatureStoreRuntime { -using SageMakerFeatureStoreRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; using SageMakerFeatureStoreRuntimeEndpointProviderBase = Aws::SageMakerFeatureStoreRuntime::Endpoint::SageMakerFeatureStoreRuntimeEndpointProviderBase; using SageMakerFeatureStoreRuntimeEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeClient.cpp b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeClient.cpp index d8ef20ad4d8d..5baac01d102b 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeClient.cpp @@ -90,42 +90,6 @@ SageMakerFeatureStoreRuntimeClient::SageMakerFeatureStoreRuntimeClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SageMakerFeatureStoreRuntimeClient::SageMakerFeatureStoreRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerFeatureStoreRuntimeClient::SageMakerFeatureStoreRuntimeClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerFeatureStoreRuntimeClient::SageMakerFeatureStoreRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SageMakerFeatureStoreRuntimeClient::~SageMakerFeatureStoreRuntimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SageMakerFeatureStoreRuntimeClient::accessEndpointProvider() { @@ -145,12 +109,7 @@ void SageMakerFeatureStoreRuntimeClient::init(const SageMakerFeatureStoreRuntime AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void SageMakerFeatureStoreRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SageMakerFeatureStoreRuntimeClient::InvokeOperationOutcome SageMakerFeatureStoreRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeClientConfiguration.cpp new file mode 100644 index 000000000000..986f90c9ec1c --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeClientConfiguration.cpp @@ -0,0 +1,53 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SageMakerFeatureStoreRuntime { + +void SageMakerFeatureStoreRuntimeClientConfiguration::LoadSageMakerFeatureStoreRuntimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SageMakerFeatureStoreRuntimeClientConfiguration::SageMakerFeatureStoreRuntimeClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSageMakerFeatureStoreRuntimeSpecificConfig(this->profileName); +} + +SageMakerFeatureStoreRuntimeClientConfiguration::SageMakerFeatureStoreRuntimeClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSageMakerFeatureStoreRuntimeSpecificConfig(Aws::String(inputProfileName)); +} + +SageMakerFeatureStoreRuntimeClientConfiguration::SageMakerFeatureStoreRuntimeClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSageMakerFeatureStoreRuntimeSpecificConfig(this->profileName); +} + +SageMakerFeatureStoreRuntimeClientConfiguration::SageMakerFeatureStoreRuntimeClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSageMakerFeatureStoreRuntimeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerFeatureStoreRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SageMakerFeatureStoreRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeEndpointProvider.cpp index b20672d5c808..b4844f1c946b 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKERFEATURESTORERUNTIME_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + SageMakerFeatureStoreRuntime::Endpoint::SageMakerFeatureStoreRuntimeClientConfiguration, + SageMakerFeatureStoreRuntime::Endpoint::SageMakerFeatureStoreRuntimeBuiltInParameters, + SageMakerFeatureStoreRuntime::Endpoint::SageMakerFeatureStoreRuntimeClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + SageMakerFeatureStoreRuntime::Endpoint::SageMakerFeatureStoreRuntimeClientConfiguration, + SageMakerFeatureStoreRuntime::Endpoint::SageMakerFeatureStoreRuntimeBuiltInParameters, + SageMakerFeatureStoreRuntime::Endpoint::SageMakerFeatureStoreRuntimeClientContextParameters>; +} // namespace Endpoint +#endif + namespace SageMakerFeatureStoreRuntime { namespace Endpoint { SageMakerFeatureStoreRuntimeEndpointProvider::SageMakerFeatureStoreRuntimeEndpointProvider() @@ -14,6 +31,28 @@ SageMakerFeatureStoreRuntimeEndpointProvider::SageMakerFeatureStoreRuntimeEndpoi Aws::SageMakerFeatureStoreRuntime::SageMakerFeatureStoreRuntimeEndpointRules::GetRulesBlob(), Aws::SageMakerFeatureStoreRuntime::SageMakerFeatureStoreRuntimeEndpointRules::RulesBlobSize) {} +void SageMakerFeatureStoreRuntimeBuiltInParameters::SetFromClientConfiguration( + const SageMakerFeatureStoreRuntimeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SageMakerFeatureStoreRuntimeBuiltInParameters::SetFromClientConfiguration( + const SageMakerFeatureStoreRuntimeClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void SageMakerFeatureStoreRuntimeBuiltInParameters::SetServiceSpecificParameters( + const SageMakerFeatureStoreRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SageMakerFeatureStoreRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialClient.h b/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialClient.h index d8e1d9734a32..ccf9bfbd76ac 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialClient.h @@ -56,27 +56,6 @@ class AWS_SAGEMAKERGEOSPATIAL_API SageMakerGeospatialClient : public Aws::Client const Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration& clientConfiguration = Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SageMakerGeospatialClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SageMakerGeospatialClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SageMakerGeospatialClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SageMakerGeospatialClient(); /** @@ -613,7 +592,6 @@ class AWS_SAGEMAKERGEOSPATIAL_API SageMakerGeospatialClient : public Aws::Client return SubmitAsync(&SageMakerGeospatialClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialClientConfiguration.h new file mode 100644 index 000000000000..12ca450fe39b --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SageMakerGeospatial { +struct AWS_SAGEMAKERGEOSPATIAL_API SageMakerGeospatialClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SageMakerGeospatialClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerGeospatialClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerGeospatialClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SageMakerGeospatialClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSageMakerGeospatialSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKERGEOSPATIAL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerGeospatialClientConfiguration& config); +} // namespace SageMakerGeospatial +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialEndpointProvider.h index 1613a6411bce..ce9dce715b0f 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SageMakerGeospatial { namespace Endpoint { +using SageMakerGeospatialClientConfiguration = Aws::SageMakerGeospatial::SageMakerGeospatialClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SageMakerGeospatialClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SageMakerGeospatialClientConfiguration = Aws::Client::GenericClientConfiguration; -using SageMakerGeospatialBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKERGEOSPATIAL_API SageMakerGeospatialBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SageMakerGeospatialBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SageMakerGeospatialClientConfiguration& config); + virtual void SetFromClientConfiguration(const SageMakerGeospatialClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SageMakerGeospatialClientConfiguration& config); +}; /** * The type for the SageMakerGeospatial Client Endpoint Provider. @@ -36,6 +45,26 @@ using SageMakerGeospatialDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SageMakerGeospatial + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKERGEOSPATIAL_EXTERN template class AWS_SAGEMAKERGEOSPATIAL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SAGEMAKERGEOSPATIAL_EXTERN template class AWS_SAGEMAKERGEOSPATIAL_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SageMakerGeospatial { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialServiceClientModel.h index 486429e3207f..a2b6de72aeb4 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialServiceClientModel.h @@ -68,7 +68,6 @@ class RetryStrategy; } // namespace Client namespace SageMakerGeospatial { -using SageMakerGeospatialClientConfiguration = Aws::Client::GenericClientConfiguration; using SageMakerGeospatialEndpointProviderBase = Aws::SageMakerGeospatial::Endpoint::SageMakerGeospatialEndpointProviderBase; using SageMakerGeospatialEndpointProvider = Aws::SageMakerGeospatial::Endpoint::SageMakerGeospatialEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialClient.cpp b/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialClient.cpp index 747747da9fb1..cb30c2b812b4 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialClient.cpp @@ -100,42 +100,6 @@ SageMakerGeospatialClient::SageMakerGeospatialClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerGeospatialClient::SageMakerGeospatialClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerGeospatialClient::SageMakerGeospatialClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SageMakerGeospatialClient::~SageMakerGeospatialClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SageMakerGeospatialClient::accessEndpointProvider() { return m_endpointProvider; } @@ -153,12 +117,7 @@ void SageMakerGeospatialClient::init(const SageMakerGeospatial::SageMakerGeospat AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker-geospatial"); -} - -void SageMakerGeospatialClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SageMakerGeospatialClient::InvokeOperationOutcome SageMakerGeospatialClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialClientConfiguration.cpp new file mode 100644 index 000000000000..e0a79a329d09 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SageMakerGeospatial { + +void SageMakerGeospatialClientConfiguration::LoadSageMakerGeospatialSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SageMakerGeospatialClientConfiguration::SageMakerGeospatialClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSageMakerGeospatialSpecificConfig(this->profileName); +} + +SageMakerGeospatialClientConfiguration::SageMakerGeospatialClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSageMakerGeospatialSpecificConfig(Aws::String(inputProfileName)); +} + +SageMakerGeospatialClientConfiguration::SageMakerGeospatialClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSageMakerGeospatialSpecificConfig(this->profileName); +} + +SageMakerGeospatialClientConfiguration::SageMakerGeospatialClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSageMakerGeospatialSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerGeospatialClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SageMakerGeospatial +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialEndpointProvider.cpp index 56fd6167948d..09e59fb3d4c7 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKERGEOSPATIAL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SageMakerGeospatial { namespace Endpoint { SageMakerGeospatialEndpointProvider::SageMakerGeospatialEndpointProvider() : SageMakerGeospatialDefaultEpProviderBase(Aws::SageMakerGeospatial::SageMakerGeospatialEndpointRules::GetRulesBlob(), Aws::SageMakerGeospatial::SageMakerGeospatialEndpointRules::RulesBlobSize) {} +void SageMakerGeospatialBuiltInParameters::SetFromClientConfiguration(const SageMakerGeospatialClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SageMakerGeospatialBuiltInParameters::SetFromClientConfiguration(const SageMakerGeospatialClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SageMakerGeospatialBuiltInParameters::SetServiceSpecificParameters(const SageMakerGeospatialClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SageMakerGeospatial } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClient.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClient.h index 268e6c30511e..a5bf67b44153 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClient.h @@ -60,27 +60,6 @@ class AWS_SAGEMAKERMETRICS_API SageMakerMetricsClient : public Aws::Client::AWSJ const Aws::SageMakerMetrics::SageMakerMetricsClientConfiguration& clientConfiguration = Aws::SageMakerMetrics::SageMakerMetricsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SageMakerMetricsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SageMakerMetricsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SageMakerMetricsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SageMakerMetricsClient(); /** @@ -135,7 +114,6 @@ class AWS_SAGEMAKERMETRICS_API SageMakerMetricsClient : public Aws::Client::AWSJ return SubmitAsync(&SageMakerMetricsClient::BatchPutMetrics, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClientConfiguration.h new file mode 100644 index 000000000000..484289cc30bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SageMakerMetrics { +struct AWS_SAGEMAKERMETRICS_API SageMakerMetricsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SageMakerMetricsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerMetricsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerMetricsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SageMakerMetricsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSageMakerMetricsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKERMETRICS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerMetricsClientConfiguration& config); +} // namespace SageMakerMetrics +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsEndpointProvider.h index 8a2f649aeb6b..8ab091b2d4be 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SageMakerMetrics { namespace Endpoint { +using SageMakerMetricsClientConfiguration = Aws::SageMakerMetrics::SageMakerMetricsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SageMakerMetricsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SageMakerMetricsClientConfiguration = Aws::Client::GenericClientConfiguration; -using SageMakerMetricsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKERMETRICS_API SageMakerMetricsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SageMakerMetricsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SageMakerMetricsClientConfiguration& config); + virtual void SetFromClientConfiguration(const SageMakerMetricsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SageMakerMetricsClientConfiguration& config); +}; /** * The type for the SageMakerMetrics Client Endpoint Provider. @@ -34,6 +43,24 @@ using SageMakerMetricsEndpointProviderBase = using SageMakerMetricsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SageMakerMetrics + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKERMETRICS_EXTERN template class AWS_SAGEMAKERMETRICS_API Aws::Endpoint::EndpointProviderBase< + SageMakerMetrics::Endpoint::SageMakerMetricsClientConfiguration, SageMakerMetrics::Endpoint::SageMakerMetricsBuiltInParameters, + SageMakerMetrics::Endpoint::SageMakerMetricsClientContextParameters>; + +AWS_SAGEMAKERMETRICS_EXTERN template class AWS_SAGEMAKERMETRICS_API Aws::Endpoint::BDDEndpointProvider< + SageMakerMetrics::Endpoint::SageMakerMetricsClientConfiguration, SageMakerMetrics::Endpoint::SageMakerMetricsBuiltInParameters, + SageMakerMetrics::Endpoint::SageMakerMetricsClientContextParameters>; +} // namespace Endpoint + +namespace SageMakerMetrics { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsServiceClientModel.h index 56825a6833cc..86424e8f9537 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace SageMakerMetrics { -using SageMakerMetricsClientConfiguration = Aws::Client::GenericClientConfiguration; using SageMakerMetricsEndpointProviderBase = Aws::SageMakerMetrics::Endpoint::SageMakerMetricsEndpointProviderBase; using SageMakerMetricsEndpointProvider = Aws::SageMakerMetrics::Endpoint::SageMakerMetricsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClient.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClient.cpp index 32bc565da2d1..871582e12fda 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClient.cpp @@ -83,42 +83,6 @@ SageMakerMetricsClient::SageMakerMetricsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerMetricsClient::SageMakerMetricsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerMetricsClient::SageMakerMetricsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SageMakerMetricsClient::~SageMakerMetricsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SageMakerMetricsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -136,12 +100,7 @@ void SageMakerMetricsClient::init(const SageMakerMetrics::SageMakerMetricsClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void SageMakerMetricsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SageMakerMetricsClient::InvokeOperationOutcome SageMakerMetricsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClientConfiguration.cpp new file mode 100644 index 000000000000..9026d3bc1412 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SageMakerMetrics { + +void SageMakerMetricsClientConfiguration::LoadSageMakerMetricsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SageMakerMetricsClientConfiguration::SageMakerMetricsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSageMakerMetricsSpecificConfig(this->profileName); +} + +SageMakerMetricsClientConfiguration::SageMakerMetricsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSageMakerMetricsSpecificConfig(Aws::String(inputProfileName)); +} + +SageMakerMetricsClientConfiguration::SageMakerMetricsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSageMakerMetricsSpecificConfig(this->profileName); +} + +SageMakerMetricsClientConfiguration::SageMakerMetricsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSageMakerMetricsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerMetricsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SageMakerMetrics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsEndpointProvider.cpp index 6b37c253127e..0b93b23c4b7e 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKERMETRICS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SageMakerMetrics { namespace Endpoint { SageMakerMetricsEndpointProvider::SageMakerMetricsEndpointProvider() : SageMakerMetricsDefaultEpProviderBase(Aws::SageMakerMetrics::SageMakerMetricsEndpointRules::GetRulesBlob(), Aws::SageMakerMetrics::SageMakerMetricsEndpointRules::RulesBlobSize) {} +void SageMakerMetricsBuiltInParameters::SetFromClientConfiguration(const SageMakerMetricsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SageMakerMetricsBuiltInParameters::SetFromClientConfiguration(const SageMakerMetricsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SageMakerMetricsBuiltInParameters::SetServiceSpecificParameters(const SageMakerMetricsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SageMakerMetrics } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2Client.h b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2Client.h index 3c883e00a038..710501950240 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2Client.h +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2Client.h @@ -57,27 +57,6 @@ class AWS_SAGEMAKERRUNTIMEHTTP2_API SageMakerRuntimeHTTP2Client const Aws::SageMakerRuntimeHTTP2::SageMakerRuntimeHTTP2ClientConfiguration& clientConfiguration = Aws::SageMakerRuntimeHTTP2::SageMakerRuntimeHTTP2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SageMakerRuntimeHTTP2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SageMakerRuntimeHTTP2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SageMakerRuntimeHTTP2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SageMakerRuntimeHTTP2Client(); /** @@ -119,7 +98,6 @@ class AWS_SAGEMAKERRUNTIMEHTTP2_API SageMakerRuntimeHTTP2Client const InvokeEndpointWithBidirectionalStreamResponseReceivedHandler& handler, const std::shared_ptr& handlerContext = nullptr) const; - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2ClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2ClientConfiguration.h new file mode 100644 index 000000000000..dac4821c1e55 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2ClientConfiguration.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SageMakerRuntimeHTTP2 { +struct AWS_SAGEMAKERRUNTIMEHTTP2_API SageMakerRuntimeHTTP2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SageMakerRuntimeHTTP2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerRuntimeHTTP2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerRuntimeHTTP2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SageMakerRuntimeHTTP2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadSageMakerRuntimeHTTP2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKERRUNTIMEHTTP2_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const SageMakerRuntimeHTTP2ClientConfiguration& config); +} // namespace SageMakerRuntimeHTTP2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2EndpointProvider.h b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2EndpointProvider.h index 39eca1716035..bb249ce1d5ec 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SageMakerRuntimeHTTP2 { namespace Endpoint { +using SageMakerRuntimeHTTP2ClientConfiguration = Aws::SageMakerRuntimeHTTP2::SageMakerRuntimeHTTP2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SageMakerRuntimeHTTP2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SageMakerRuntimeHTTP2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using SageMakerRuntimeHTTP2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKERRUNTIMEHTTP2_API SageMakerRuntimeHTTP2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SageMakerRuntimeHTTP2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SageMakerRuntimeHTTP2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const SageMakerRuntimeHTTP2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SageMakerRuntimeHTTP2ClientConfiguration& config); +}; /** * The type for the SageMakerRuntimeHTTP2 Client Endpoint Provider. @@ -36,6 +45,26 @@ using SageMakerRuntimeHTTP2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SageMakerRuntimeHTTP2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKERRUNTIMEHTTP2_EXTERN template class AWS_SAGEMAKERRUNTIMEHTTP2_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SAGEMAKERRUNTIMEHTTP2_EXTERN template class AWS_SAGEMAKERRUNTIMEHTTP2_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SageMakerRuntimeHTTP2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2ServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2ServiceClientModel.h index 13e1dbbba66d..56e7727bec4e 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2ServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace SageMakerRuntimeHTTP2 { -using SageMakerRuntimeHTTP2ClientConfiguration = Aws::Client::GenericClientConfiguration; using SageMakerRuntimeHTTP2EndpointProviderBase = Aws::SageMakerRuntimeHTTP2::Endpoint::SageMakerRuntimeHTTP2EndpointProviderBase; using SageMakerRuntimeHTTP2EndpointProvider = Aws::SageMakerRuntimeHTTP2::Endpoint::SageMakerRuntimeHTTP2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2Client.cpp b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2Client.cpp index 713c26b77063..63d96b6e2b1d 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2Client.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2Client.cpp @@ -89,44 +89,6 @@ SageMakerRuntimeHTTP2Client::SageMakerRuntimeHTTP2Client( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SageMakerRuntimeHTTP2Client::SageMakerRuntimeHTTP2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerRuntimeHTTP2Client::SageMakerRuntimeHTTP2Client(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerRuntimeHTTP2Client::SageMakerRuntimeHTTP2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SageMakerRuntimeHTTP2Client::~SageMakerRuntimeHTTP2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& SageMakerRuntimeHTTP2Client::accessEndpointProvider() { @@ -146,12 +108,7 @@ void SageMakerRuntimeHTTP2Client::init(const SageMakerRuntimeHTTP2::SageMakerRun AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void SageMakerRuntimeHTTP2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SageMakerRuntimeHTTP2Client::InvokeOperationOutcome SageMakerRuntimeHTTP2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2ClientConfiguration.cpp new file mode 100644 index 000000000000..b7d10eb3e6c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2ClientConfiguration.cpp @@ -0,0 +1,52 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SageMakerRuntimeHTTP2 { + +void SageMakerRuntimeHTTP2ClientConfiguration::LoadSageMakerRuntimeHTTP2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SageMakerRuntimeHTTP2ClientConfiguration::SageMakerRuntimeHTTP2ClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSageMakerRuntimeHTTP2SpecificConfig(this->profileName); +} + +SageMakerRuntimeHTTP2ClientConfiguration::SageMakerRuntimeHTTP2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSageMakerRuntimeHTTP2SpecificConfig(Aws::String(inputProfileName)); +} + +SageMakerRuntimeHTTP2ClientConfiguration::SageMakerRuntimeHTTP2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSageMakerRuntimeHTTP2SpecificConfig(this->profileName); +} + +SageMakerRuntimeHTTP2ClientConfiguration::SageMakerRuntimeHTTP2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSageMakerRuntimeHTTP2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerRuntimeHTTP2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace SageMakerRuntimeHTTP2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2EndpointProvider.cpp index f2ca2ac325ca..de2388c7865c 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2EndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKERRUNTIMEHTTP2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SageMakerRuntimeHTTP2 { namespace Endpoint { SageMakerRuntimeHTTP2EndpointProvider::SageMakerRuntimeHTTP2EndpointProvider() : SageMakerRuntimeHTTP2DefaultEpProviderBase(Aws::SageMakerRuntimeHTTP2::SageMakerRuntimeHTTP2EndpointRules::GetRulesBlob(), Aws::SageMakerRuntimeHTTP2::SageMakerRuntimeHTTP2EndpointRules::RulesBlobSize) {} +void SageMakerRuntimeHTTP2BuiltInParameters::SetFromClientConfiguration(const SageMakerRuntimeHTTP2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SageMakerRuntimeHTTP2BuiltInParameters::SetFromClientConfiguration(const SageMakerRuntimeHTTP2ClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SageMakerRuntimeHTTP2BuiltInParameters::SetServiceSpecificParameters(const SageMakerRuntimeHTTP2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SageMakerRuntimeHTTP2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeClient.h b/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeClient.h index 7c63afc96418..20908978e3b8 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeClient.h @@ -56,27 +56,6 @@ class AWS_SAGEMAKERRUNTIME_API SageMakerRuntimeClient : public Aws::Client::AWSJ const Aws::SageMakerRuntime::SageMakerRuntimeClientConfiguration& clientConfiguration = Aws::SageMakerRuntime::SageMakerRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SageMakerRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SageMakerRuntimeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SageMakerRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SageMakerRuntimeClient(); /** @@ -218,7 +197,6 @@ class AWS_SAGEMAKERRUNTIME_API SageMakerRuntimeClient : public Aws::Client::AWSJ return SubmitAsync(&SageMakerRuntimeClient::InvokeEndpointWithResponseStream, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeClientConfiguration.h new file mode 100644 index 000000000000..e9a7a11da65b --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeClientConfiguration.h @@ -0,0 +1,93 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SageMakerRuntime { +struct AWS_SAGEMAKERRUNTIME_API SageMakerRuntimeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SageMakerRuntimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerRuntimeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SageMakerRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadSageMakerRuntimeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKERRUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerRuntimeClientConfiguration& config); +} // namespace SageMakerRuntime +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeEndpointProvider.h index 9c747f975464..1a9d453bc528 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SageMakerRuntime { namespace Endpoint { +using SageMakerRuntimeClientConfiguration = Aws::SageMakerRuntime::SageMakerRuntimeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SageMakerRuntimeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SageMakerRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; -using SageMakerRuntimeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKERRUNTIME_API SageMakerRuntimeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SageMakerRuntimeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SageMakerRuntimeClientConfiguration& config); + virtual void SetFromClientConfiguration(const SageMakerRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SageMakerRuntimeClientConfiguration& config); +}; /** * The type for the SageMakerRuntime Client Endpoint Provider. @@ -34,6 +43,24 @@ using SageMakerRuntimeEndpointProviderBase = using SageMakerRuntimeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SageMakerRuntime + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKERRUNTIME_EXTERN template class AWS_SAGEMAKERRUNTIME_API Aws::Endpoint::EndpointProviderBase< + SageMakerRuntime::Endpoint::SageMakerRuntimeClientConfiguration, SageMakerRuntime::Endpoint::SageMakerRuntimeBuiltInParameters, + SageMakerRuntime::Endpoint::SageMakerRuntimeClientContextParameters>; + +AWS_SAGEMAKERRUNTIME_EXTERN template class AWS_SAGEMAKERRUNTIME_API Aws::Endpoint::BDDEndpointProvider< + SageMakerRuntime::Endpoint::SageMakerRuntimeClientConfiguration, SageMakerRuntime::Endpoint::SageMakerRuntimeBuiltInParameters, + SageMakerRuntime::Endpoint::SageMakerRuntimeClientContextParameters>; +} // namespace Endpoint + +namespace SageMakerRuntime { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeServiceClientModel.h index a604be8fc941..f463ec9f3992 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeServiceClientModel.h @@ -49,7 +49,6 @@ class RetryStrategy; } // namespace Client namespace SageMakerRuntime { -using SageMakerRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; using SageMakerRuntimeEndpointProviderBase = Aws::SageMakerRuntime::Endpoint::SageMakerRuntimeEndpointProviderBase; using SageMakerRuntimeEndpointProvider = Aws::SageMakerRuntime::Endpoint::SageMakerRuntimeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeClient.cpp b/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeClient.cpp index ef954307eea4..d15d6fb18946 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeClient.cpp @@ -87,44 +87,6 @@ SageMakerRuntimeClient::SageMakerRuntimeClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerRuntimeClient::SageMakerRuntimeClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerRuntimeClient::SageMakerRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SageMakerRuntimeClient::~SageMakerRuntimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SageMakerRuntimeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +104,7 @@ void SageMakerRuntimeClient::init(const SageMakerRuntime::SageMakerRuntimeClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void SageMakerRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SageMakerRuntimeClient::InvokeOperationOutcome SageMakerRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeClientConfiguration.cpp new file mode 100644 index 000000000000..7007cc927cef --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SageMakerRuntime { + +void SageMakerRuntimeClientConfiguration::LoadSageMakerRuntimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SageMakerRuntimeClientConfiguration::SageMakerRuntimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSageMakerRuntimeSpecificConfig(this->profileName); +} + +SageMakerRuntimeClientConfiguration::SageMakerRuntimeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSageMakerRuntimeSpecificConfig(Aws::String(inputProfileName)); +} + +SageMakerRuntimeClientConfiguration::SageMakerRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSageMakerRuntimeSpecificConfig(this->profileName); +} + +SageMakerRuntimeClientConfiguration::SageMakerRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSageMakerRuntimeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace SageMakerRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeEndpointProvider.cpp index 18beb899ee03..d14fa8f67995 100644 --- a/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKERRUNTIME_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SageMakerRuntime { namespace Endpoint { SageMakerRuntimeEndpointProvider::SageMakerRuntimeEndpointProvider() : SageMakerRuntimeDefaultEpProviderBase(Aws::SageMakerRuntime::SageMakerRuntimeEndpointRules::GetRulesBlob(), Aws::SageMakerRuntime::SageMakerRuntimeEndpointRules::RulesBlobSize) {} +void SageMakerRuntimeBuiltInParameters::SetFromClientConfiguration(const SageMakerRuntimeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SageMakerRuntimeBuiltInParameters::SetFromClientConfiguration(const SageMakerRuntimeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SageMakerRuntimeBuiltInParameters::SetServiceSpecificParameters(const SageMakerRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SageMakerRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h index 7d1b0582bac0..697120e9aedf 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClient.h @@ -57,27 +57,6 @@ class AWS_SAGEMAKER_API SageMakerClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SageMaker::SageMakerClientConfiguration& clientConfiguration = Aws::SageMaker::SageMakerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SageMakerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SageMakerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SageMakerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SageMakerClient(); /** @@ -12490,7 +12469,6 @@ class AWS_SAGEMAKER_API SageMakerClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SageMakerClient::UpdateWorkteam, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClientConfiguration.h new file mode 100644 index 000000000000..cd4c70f41aaf --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SageMaker { +struct AWS_SAGEMAKER_API SageMakerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SageMakerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SageMakerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSageMakerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerClientConfiguration& config); +} // namespace SageMaker +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerEndpointProvider.h index 67e0e414d693..d0fba20d5d51 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SageMaker { namespace Endpoint { +using SageMakerClientConfiguration = Aws::SageMaker::SageMakerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SageMakerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SageMakerClientConfiguration = Aws::Client::GenericClientConfiguration; -using SageMakerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKER_API SageMakerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SageMakerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SageMakerClientConfiguration& config); + virtual void SetFromClientConfiguration(const SageMakerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SageMakerClientConfiguration& config); +}; /** * The type for the SageMaker Client Endpoint Provider. @@ -34,6 +43,24 @@ using SageMakerEndpointProviderBase = using SageMakerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SageMaker + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKER_EXTERN template class AWS_SAGEMAKER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SAGEMAKER_EXTERN template class AWS_SAGEMAKER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SageMaker { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerServiceClientModel.h index 6279524d92e4..6df1c7e48087 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerServiceClientModel.h @@ -471,7 +471,6 @@ class RetryStrategy; } // namespace Client namespace SageMaker { -using SageMakerClientConfiguration = Aws::Client::GenericClientConfiguration; using SageMakerEndpointProviderBase = Aws::SageMaker::Endpoint::SageMakerEndpointProviderBase; using SageMakerEndpointProvider = Aws::SageMaker::Endpoint::SageMakerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClient.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClient.cpp index 9f37d21bcf3c..eb965af48f8d 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClient.cpp @@ -177,41 +177,6 @@ SageMakerClient::SageMakerClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SageMakerClient::SageMakerClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerClient::SageMakerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerClient::SageMakerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SageMakerClient::~SageMakerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SageMakerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -229,12 +194,7 @@ void SageMakerClient::init(const SageMaker::SageMakerClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void SageMakerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SageMakerClient::InvokeOperationOutcome SageMakerClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClientConfiguration.cpp new file mode 100644 index 000000000000..ddb61620efb6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SageMaker { + +void SageMakerClientConfiguration::LoadSageMakerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SageMakerClientConfiguration::SageMakerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSageMakerSpecificConfig(this->profileName); +} + +SageMakerClientConfiguration::SageMakerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSageMakerSpecificConfig(Aws::String(inputProfileName)); +} + +SageMakerClientConfiguration::SageMakerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSageMakerSpecificConfig(this->profileName); +} + +SageMakerClientConfiguration::SageMakerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSageMakerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SageMaker +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerEndpointProvider.cpp index c01b79879267..642f742f057f 100644 --- a/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemaker/source/SageMakerEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SageMaker { namespace Endpoint { SageMakerEndpointProvider::SageMakerEndpointProvider() : SageMakerDefaultEpProviderBase(Aws::SageMaker::SageMakerEndpointRules::GetRulesBlob(), Aws::SageMaker::SageMakerEndpointRules::RulesBlobSize) {} +void SageMakerBuiltInParameters::SetFromClientConfiguration(const SageMakerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SageMakerBuiltInParameters::SetFromClientConfiguration(const SageMakerClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SageMakerBuiltInParameters::SetServiceSpecificParameters(const SageMakerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SageMaker } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeClient.h b/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeClient.h index 57499636a0bb..d58f9d2b68a3 100644 --- a/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeClient.h @@ -57,27 +57,6 @@ class AWS_SAGEMAKERJOBRUNTIME_API SagemakerJobRuntimeClient : public Aws::Client const Aws::SagemakerJobRuntime::SagemakerJobRuntimeClientConfiguration& clientConfiguration = Aws::SagemakerJobRuntime::SagemakerJobRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SagemakerJobRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SagemakerJobRuntimeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SagemakerJobRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SagemakerJobRuntimeClient(); /** @@ -193,7 +172,6 @@ class AWS_SAGEMAKERJOBRUNTIME_API SagemakerJobRuntimeClient : public Aws::Client return SubmitAsync(&SagemakerJobRuntimeClient::UpdateReward, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeClientConfiguration.h new file mode 100644 index 000000000000..564ac6fd975e --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeClientConfiguration.h @@ -0,0 +1,87 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SagemakerJobRuntime { +struct AWS_SAGEMAKERJOBRUNTIME_API SagemakerJobRuntimeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SagemakerJobRuntimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SagemakerJobRuntimeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SagemakerJobRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SagemakerJobRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadSagemakerJobRuntimeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKERJOBRUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SagemakerJobRuntimeClientConfiguration& config); +} // namespace SagemakerJobRuntime +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeEndpointProvider.h index c30e3bc2eb6d..919724acee80 100644 --- a/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SagemakerJobRuntime { namespace Endpoint { +using SagemakerJobRuntimeClientConfiguration = Aws::SagemakerJobRuntime::SagemakerJobRuntimeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SagemakerJobRuntimeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SagemakerJobRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; -using SagemakerJobRuntimeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKERJOBRUNTIME_API SagemakerJobRuntimeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SagemakerJobRuntimeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SagemakerJobRuntimeClientConfiguration& config); + virtual void SetFromClientConfiguration(const SagemakerJobRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SagemakerJobRuntimeClientConfiguration& config); +}; /** * The type for the SagemakerJobRuntime Client Endpoint Provider. @@ -36,6 +45,26 @@ using SagemakerJobRuntimeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SagemakerJobRuntime + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKERJOBRUNTIME_EXTERN template class AWS_SAGEMAKERJOBRUNTIME_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SAGEMAKERJOBRUNTIME_EXTERN template class AWS_SAGEMAKERJOBRUNTIME_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SagemakerJobRuntime { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeServiceClientModel.h index 18a9ad20e5f6..70cc3e5ea547 100644 --- a/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeServiceClientModel.h @@ -50,7 +50,6 @@ class RetryStrategy; } // namespace Client namespace SagemakerJobRuntime { -using SagemakerJobRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; using SagemakerJobRuntimeEndpointProviderBase = Aws::SagemakerJobRuntime::Endpoint::SagemakerJobRuntimeEndpointProviderBase; using SagemakerJobRuntimeEndpointProvider = Aws::SagemakerJobRuntime::Endpoint::SagemakerJobRuntimeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeClient.cpp b/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeClient.cpp index bb08123635db..99b9b6ce7567 100644 --- a/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeClient.cpp @@ -87,44 +87,6 @@ SagemakerJobRuntimeClient::SagemakerJobRuntimeClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SagemakerJobRuntimeClient::SagemakerJobRuntimeClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SagemakerJobRuntimeClient::SagemakerJobRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SagemakerJobRuntimeClient::~SagemakerJobRuntimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SagemakerJobRuntimeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +104,7 @@ void SagemakerJobRuntimeClient::init(const SagemakerJobRuntime::SagemakerJobRunt AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void SagemakerJobRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SagemakerJobRuntimeClient::InvokeOperationOutcome SagemakerJobRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeClientConfiguration.cpp new file mode 100644 index 000000000000..a36030c15c16 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeClientConfiguration.cpp @@ -0,0 +1,51 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SagemakerJobRuntime { + +void SagemakerJobRuntimeClientConfiguration::LoadSagemakerJobRuntimeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SagemakerJobRuntimeClientConfiguration::SagemakerJobRuntimeClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSagemakerJobRuntimeSpecificConfig(this->profileName); +} + +SagemakerJobRuntimeClientConfiguration::SagemakerJobRuntimeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSagemakerJobRuntimeSpecificConfig(Aws::String(inputProfileName)); +} + +SagemakerJobRuntimeClientConfiguration::SagemakerJobRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSagemakerJobRuntimeSpecificConfig(this->profileName); +} + +SagemakerJobRuntimeClientConfiguration::SagemakerJobRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSagemakerJobRuntimeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SagemakerJobRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace SagemakerJobRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeEndpointProvider.cpp index 802275ad935a..a3163569ad2e 100644 --- a/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKERJOBRUNTIME_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SagemakerJobRuntime { namespace Endpoint { SagemakerJobRuntimeEndpointProvider::SagemakerJobRuntimeEndpointProvider() : SagemakerJobRuntimeDefaultEpProviderBase(Aws::SagemakerJobRuntime::SagemakerJobRuntimeEndpointRules::GetRulesBlob(), Aws::SagemakerJobRuntime::SagemakerJobRuntimeEndpointRules::RulesBlobSize) {} +void SagemakerJobRuntimeBuiltInParameters::SetFromClientConfiguration(const SagemakerJobRuntimeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SagemakerJobRuntimeBuiltInParameters::SetFromClientConfiguration(const SagemakerJobRuntimeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SagemakerJobRuntimeBuiltInParameters::SetServiceSpecificParameters(const SagemakerJobRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace SagemakerJobRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeClient.h b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeClient.h index 668f8735e933..5aacfe67b3d6 100644 --- a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeClient.h +++ b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeClient.h @@ -64,28 +64,6 @@ class AWS_SAGEMAKERTRAININGSESSIONRUNTIME_API SageMakerTrainingSessionRuntimeCli const Aws::SageMakerTrainingSessionRuntime::SageMakerTrainingSessionRuntimeClientConfiguration& clientConfiguration = Aws::SageMakerTrainingSessionRuntime::SageMakerTrainingSessionRuntimeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SageMakerTrainingSessionRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SageMakerTrainingSessionRuntimeClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SageMakerTrainingSessionRuntimeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SageMakerTrainingSessionRuntimeClient(); /** @@ -275,7 +253,6 @@ class AWS_SAGEMAKERTRAININGSESSIONRUNTIME_API SageMakerTrainingSessionRuntimeCli return SubmitAsync(&SageMakerTrainingSessionRuntimeClient::SampleTrainingSessionWithResponseStream, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeClientConfiguration.h b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeClientConfiguration.h new file mode 100644 index 000000000000..212dd5b55a6f --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeClientConfiguration.h @@ -0,0 +1,90 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SageMakerTrainingSessionRuntime { +struct AWS_SAGEMAKERTRAININGSESSIONRUNTIME_API SageMakerTrainingSessionRuntimeClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SageMakerTrainingSessionRuntimeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerTrainingSessionRuntimeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SageMakerTrainingSessionRuntimeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SageMakerTrainingSessionRuntimeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadSageMakerTrainingSessionRuntimeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAGEMAKERTRAININGSESSIONRUNTIME_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const SageMakerTrainingSessionRuntimeClientConfiguration& config); +} // namespace SageMakerTrainingSessionRuntime +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeEndpointProvider.h b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeEndpointProvider.h index 9208ddaf1a87..2163b8328238 100644 --- a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeEndpointProvider.h @@ -4,24 +4,34 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SageMakerTrainingSessionRuntime { namespace Endpoint { +using SageMakerTrainingSessionRuntimeClientConfiguration = + Aws::SageMakerTrainingSessionRuntime::SageMakerTrainingSessionRuntimeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SageMakerTrainingSessionRuntimeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SageMakerTrainingSessionRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; -using SageMakerTrainingSessionRuntimeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAGEMAKERTRAININGSESSIONRUNTIME_API SageMakerTrainingSessionRuntimeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SageMakerTrainingSessionRuntimeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SageMakerTrainingSessionRuntimeClientConfiguration& config); + virtual void SetFromClientConfiguration(const SageMakerTrainingSessionRuntimeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SageMakerTrainingSessionRuntimeClientConfiguration& config); +}; /** * The type for the SageMakerTrainingSessionRuntime Client Endpoint Provider. @@ -36,6 +46,26 @@ using SageMakerTrainingSessionRuntimeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SageMakerTrainingSessionRuntime + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAGEMAKERTRAININGSESSIONRUNTIME_EXTERN template class AWS_SAGEMAKERTRAININGSESSIONRUNTIME_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SAGEMAKERTRAININGSESSIONRUNTIME_EXTERN template class AWS_SAGEMAKERTRAININGSESSIONRUNTIME_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SageMakerTrainingSessionRuntime { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeServiceClientModel.h b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeServiceClientModel.h index e08eca7d787c..a357847ac9ca 100644 --- a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace SageMakerTrainingSessionRuntime { -using SageMakerTrainingSessionRuntimeClientConfiguration = Aws::Client::GenericClientConfiguration; using SageMakerTrainingSessionRuntimeEndpointProviderBase = Aws::SageMakerTrainingSessionRuntime::Endpoint::SageMakerTrainingSessionRuntimeEndpointProviderBase; using SageMakerTrainingSessionRuntimeEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeClient.cpp b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeClient.cpp index 84afefdeada2..fd82776a14d2 100644 --- a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeClient.cpp +++ b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeClient.cpp @@ -91,44 +91,6 @@ SageMakerTrainingSessionRuntimeClient::SageMakerTrainingSessionRuntimeClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SageMakerTrainingSessionRuntimeClient::SageMakerTrainingSessionRuntimeClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerTrainingSessionRuntimeClient::SageMakerTrainingSessionRuntimeClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SageMakerTrainingSessionRuntimeClient::SageMakerTrainingSessionRuntimeClient( - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SageMakerTrainingSessionRuntimeClient::~SageMakerTrainingSessionRuntimeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SageMakerTrainingSessionRuntimeClient::accessEndpointProvider() { @@ -149,12 +111,7 @@ void SageMakerTrainingSessionRuntimeClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sagemaker"); -} - -void SageMakerTrainingSessionRuntimeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SageMakerTrainingSessionRuntimeClient::InvokeOperationOutcome SageMakerTrainingSessionRuntimeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeClientConfiguration.cpp new file mode 100644 index 000000000000..78de07ccf8ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeClientConfiguration.cpp @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SageMakerTrainingSessionRuntime { + +void SageMakerTrainingSessionRuntimeClientConfiguration::LoadSageMakerTrainingSessionRuntimeSpecificConfig( + const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SageMakerTrainingSessionRuntimeClientConfiguration::SageMakerTrainingSessionRuntimeClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSageMakerTrainingSessionRuntimeSpecificConfig(this->profileName); +} + +SageMakerTrainingSessionRuntimeClientConfiguration::SageMakerTrainingSessionRuntimeClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSageMakerTrainingSessionRuntimeSpecificConfig(Aws::String(inputProfileName)); +} + +SageMakerTrainingSessionRuntimeClientConfiguration::SageMakerTrainingSessionRuntimeClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSageMakerTrainingSessionRuntimeSpecificConfig(this->profileName); +} + +SageMakerTrainingSessionRuntimeClientConfiguration::SageMakerTrainingSessionRuntimeClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSageMakerTrainingSessionRuntimeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SageMakerTrainingSessionRuntimeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace SageMakerTrainingSessionRuntime +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeEndpointProvider.cpp index 259ffccccdb0..992c7740f1a3 100644 --- a/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_SAGEMAKERTRAININGSESSIONRUNTIME_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + SageMakerTrainingSessionRuntime::Endpoint::SageMakerTrainingSessionRuntimeClientConfiguration, + SageMakerTrainingSessionRuntime::Endpoint::SageMakerTrainingSessionRuntimeBuiltInParameters, + SageMakerTrainingSessionRuntime::Endpoint::SageMakerTrainingSessionRuntimeClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + SageMakerTrainingSessionRuntime::Endpoint::SageMakerTrainingSessionRuntimeClientConfiguration, + SageMakerTrainingSessionRuntime::Endpoint::SageMakerTrainingSessionRuntimeBuiltInParameters, + SageMakerTrainingSessionRuntime::Endpoint::SageMakerTrainingSessionRuntimeClientContextParameters>; +} // namespace Endpoint +#endif + namespace SageMakerTrainingSessionRuntime { namespace Endpoint { SageMakerTrainingSessionRuntimeEndpointProvider::SageMakerTrainingSessionRuntimeEndpointProvider() @@ -14,6 +31,25 @@ SageMakerTrainingSessionRuntimeEndpointProvider::SageMakerTrainingSessionRuntime Aws::SageMakerTrainingSessionRuntime::SageMakerTrainingSessionRuntimeEndpointRules::GetRulesBlob(), Aws::SageMakerTrainingSessionRuntime::SageMakerTrainingSessionRuntimeEndpointRules::RulesBlobSize) {} +void SageMakerTrainingSessionRuntimeBuiltInParameters::SetFromClientConfiguration( + const SageMakerTrainingSessionRuntimeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SageMakerTrainingSessionRuntimeBuiltInParameters::SetFromClientConfiguration( + const SageMakerTrainingSessionRuntimeClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void SageMakerTrainingSessionRuntimeBuiltInParameters::SetServiceSpecificParameters( + const SageMakerTrainingSessionRuntimeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace SageMakerTrainingSessionRuntime } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansClient.h b/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansClient.h index 8142bdc7e569..12eb9c4c747b 100644 --- a/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansClient.h +++ b/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansClient.h @@ -61,27 +61,6 @@ class AWS_SAVINGSPLANS_API SavingsPlansClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::SavingsPlans::SavingsPlansClientConfiguration& clientConfiguration = Aws::SavingsPlans::SavingsPlansClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SavingsPlansClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SavingsPlansClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SavingsPlansClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SavingsPlansClient(); /** @@ -357,7 +336,6 @@ class AWS_SAVINGSPLANS_API SavingsPlansClient : public Aws::Client::AWSJsonClien return SubmitAsync(&SavingsPlansClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansClientConfiguration.h b/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansClientConfiguration.h new file mode 100644 index 000000000000..41780d93f0ba --- /dev/null +++ b/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SavingsPlans { +struct AWS_SAVINGSPLANS_API SavingsPlansClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SavingsPlansClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SavingsPlansClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SavingsPlansClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SavingsPlansClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSavingsPlansSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SAVINGSPLANS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SavingsPlansClientConfiguration& config); +} // namespace SavingsPlans +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansEndpointProvider.h b/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansEndpointProvider.h index 4707779093bc..9a342a5f0e52 100644 --- a/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SavingsPlans { namespace Endpoint { +using SavingsPlansClientConfiguration = Aws::SavingsPlans::SavingsPlansClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SavingsPlansClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SavingsPlansClientConfiguration = Aws::Client::GenericClientConfiguration; -using SavingsPlansBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SAVINGSPLANS_API SavingsPlansBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SavingsPlansBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SavingsPlansClientConfiguration& config); + virtual void SetFromClientConfiguration(const SavingsPlansClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SavingsPlansClientConfiguration& config); +}; /** * The type for the SavingsPlans Client Endpoint Provider. @@ -34,6 +43,24 @@ using SavingsPlansEndpointProviderBase = using SavingsPlansDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SavingsPlans + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SAVINGSPLANS_EXTERN template class AWS_SAVINGSPLANS_API Aws::Endpoint::EndpointProviderBase< + SavingsPlans::Endpoint::SavingsPlansClientConfiguration, SavingsPlans::Endpoint::SavingsPlansBuiltInParameters, + SavingsPlans::Endpoint::SavingsPlansClientContextParameters>; + +AWS_SAVINGSPLANS_EXTERN template class AWS_SAVINGSPLANS_API Aws::Endpoint::BDDEndpointProvider< + SavingsPlans::Endpoint::SavingsPlansClientConfiguration, SavingsPlans::Endpoint::SavingsPlansBuiltInParameters, + SavingsPlans::Endpoint::SavingsPlansClientContextParameters>; +} // namespace Endpoint + +namespace SavingsPlans { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansServiceClientModel.h b/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansServiceClientModel.h index f40458693dc0..3c552b9712b4 100644 --- a/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansServiceClientModel.h @@ -59,7 +59,6 @@ class RetryStrategy; } // namespace Client namespace SavingsPlans { -using SavingsPlansClientConfiguration = Aws::Client::GenericClientConfiguration; using SavingsPlansEndpointProviderBase = Aws::SavingsPlans::Endpoint::SavingsPlansEndpointProviderBase; using SavingsPlansEndpointProvider = Aws::SavingsPlans::Endpoint::SavingsPlansEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansClient.cpp b/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansClient.cpp index 17da65259b13..5277644cd34b 100644 --- a/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansClient.cpp +++ b/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansClient.cpp @@ -88,41 +88,6 @@ SavingsPlansClient::SavingsPlansClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SavingsPlansClient::SavingsPlansClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SavingsPlansClient::SavingsPlansClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SavingsPlansClient::~SavingsPlansClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SavingsPlansClient::accessEndpointProvider() { return m_endpointProvider; } @@ -140,12 +105,7 @@ void SavingsPlansClient::init(const SavingsPlans::SavingsPlansClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "savingsplans"); -} - -void SavingsPlansClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SavingsPlansClient::InvokeOperationOutcome SavingsPlansClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansClientConfiguration.cpp b/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansClientConfiguration.cpp new file mode 100644 index 000000000000..158e1ed9b90b --- /dev/null +++ b/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SavingsPlans { + +void SavingsPlansClientConfiguration::LoadSavingsPlansSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SavingsPlansClientConfiguration::SavingsPlansClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSavingsPlansSpecificConfig(this->profileName); +} + +SavingsPlansClientConfiguration::SavingsPlansClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSavingsPlansSpecificConfig(Aws::String(inputProfileName)); +} + +SavingsPlansClientConfiguration::SavingsPlansClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSavingsPlansSpecificConfig(this->profileName); +} + +SavingsPlansClientConfiguration::SavingsPlansClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSavingsPlansSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SavingsPlansClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SavingsPlans +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansEndpointProvider.cpp b/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansEndpointProvider.cpp index 1fc9f5872b24..85db64c200a1 100644 --- a/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SAVINGSPLANS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SavingsPlans { namespace Endpoint { SavingsPlansEndpointProvider::SavingsPlansEndpointProvider() : SavingsPlansDefaultEpProviderBase(Aws::SavingsPlans::SavingsPlansEndpointRules::GetRulesBlob(), Aws::SavingsPlans::SavingsPlansEndpointRules::RulesBlobSize) {} +void SavingsPlansBuiltInParameters::SetFromClientConfiguration(const SavingsPlansClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SavingsPlansBuiltInParameters::SetFromClientConfiguration(const SavingsPlansClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SavingsPlansBuiltInParameters::SetServiceSpecificParameters(const SavingsPlansClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SavingsPlans } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerClient.h b/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerClient.h index 3ccc82d0984c..95de625aff54 100644 --- a/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerClient.h +++ b/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerClient.h @@ -57,27 +57,6 @@ class AWS_SCHEDULER_API SchedulerClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Scheduler::SchedulerClientConfiguration& clientConfiguration = Aws::Scheduler::SchedulerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SchedulerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SchedulerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SchedulerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SchedulerClient(); /** @@ -407,7 +386,6 @@ class AWS_SCHEDULER_API SchedulerClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SchedulerClient::UpdateSchedule, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerClientConfiguration.h b/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerClientConfiguration.h new file mode 100644 index 000000000000..4373c4528f5f --- /dev/null +++ b/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Scheduler { +struct AWS_SCHEDULER_API SchedulerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SchedulerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SchedulerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SchedulerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SchedulerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSchedulerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SCHEDULER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SchedulerClientConfiguration& config); +} // namespace Scheduler +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerEndpointProvider.h b/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerEndpointProvider.h index af8ff9e56fe6..b8f1b8e5e5df 100644 --- a/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Scheduler { namespace Endpoint { +using SchedulerClientConfiguration = Aws::Scheduler::SchedulerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SchedulerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SchedulerClientConfiguration = Aws::Client::GenericClientConfiguration; -using SchedulerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SCHEDULER_API SchedulerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SchedulerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SchedulerClientConfiguration& config); + virtual void SetFromClientConfiguration(const SchedulerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SchedulerClientConfiguration& config); +}; /** * The type for the Scheduler Client Endpoint Provider. @@ -34,6 +43,24 @@ using SchedulerEndpointProviderBase = using SchedulerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Scheduler + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SCHEDULER_EXTERN template class AWS_SCHEDULER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SCHEDULER_EXTERN template class AWS_SCHEDULER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Scheduler { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerServiceClientModel.h b/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerServiceClientModel.h index b17f547fd80d..7c5298fcb194 100644 --- a/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace Scheduler { -using SchedulerClientConfiguration = Aws::Client::GenericClientConfiguration; using SchedulerEndpointProviderBase = Aws::Scheduler::Endpoint::SchedulerEndpointProviderBase; using SchedulerEndpointProvider = Aws::Scheduler::Endpoint::SchedulerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-scheduler/source/SchedulerClient.cpp b/generated/src/aws-cpp-sdk-scheduler/source/SchedulerClient.cpp index 5aa126094455..f9ef56760ad2 100644 --- a/generated/src/aws-cpp-sdk-scheduler/source/SchedulerClient.cpp +++ b/generated/src/aws-cpp-sdk-scheduler/source/SchedulerClient.cpp @@ -89,41 +89,6 @@ SchedulerClient::SchedulerClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SchedulerClient::SchedulerClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SchedulerClient::SchedulerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SchedulerClient::SchedulerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SchedulerClient::~SchedulerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SchedulerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +106,7 @@ void SchedulerClient::init(const Scheduler::SchedulerClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "scheduler"); -} - -void SchedulerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SchedulerClient::InvokeOperationOutcome SchedulerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-scheduler/source/SchedulerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-scheduler/source/SchedulerClientConfiguration.cpp new file mode 100644 index 000000000000..2e8351d5e8fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-scheduler/source/SchedulerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Scheduler { + +void SchedulerClientConfiguration::LoadSchedulerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SchedulerClientConfiguration::SchedulerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSchedulerSpecificConfig(this->profileName); +} + +SchedulerClientConfiguration::SchedulerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSchedulerSpecificConfig(Aws::String(inputProfileName)); +} + +SchedulerClientConfiguration::SchedulerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSchedulerSpecificConfig(this->profileName); +} + +SchedulerClientConfiguration::SchedulerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSchedulerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SchedulerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Scheduler +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-scheduler/source/SchedulerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-scheduler/source/SchedulerEndpointProvider.cpp index 7b806ab78d1e..9a3aaeb09e0d 100644 --- a/generated/src/aws-cpp-sdk-scheduler/source/SchedulerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-scheduler/source/SchedulerEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SCHEDULER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Scheduler { namespace Endpoint { SchedulerEndpointProvider::SchedulerEndpointProvider() : SchedulerDefaultEpProviderBase(Aws::Scheduler::SchedulerEndpointRules::GetRulesBlob(), Aws::Scheduler::SchedulerEndpointRules::RulesBlobSize) {} +void SchedulerBuiltInParameters::SetFromClientConfiguration(const SchedulerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SchedulerBuiltInParameters::SetFromClientConfiguration(const SchedulerClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SchedulerBuiltInParameters::SetServiceSpecificParameters(const SchedulerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Scheduler } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasClient.h b/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasClient.h index b2f2409a9dfd..137e3f73ca53 100644 --- a/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasClient.h +++ b/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasClient.h @@ -52,27 +52,6 @@ class AWS_SCHEMAS_API SchemasClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Schemas::SchemasClientConfiguration& clientConfiguration = Aws::Schemas::SchemasClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SchemasClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SchemasClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SchemasClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SchemasClient(); /** @@ -872,7 +851,6 @@ class AWS_SCHEMAS_API SchemasClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SchemasClient::UpdateSchema, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasClientConfiguration.h b/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasClientConfiguration.h new file mode 100644 index 000000000000..f00e45b13f2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Schemas { +struct AWS_SCHEMAS_API SchemasClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SchemasClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SchemasClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SchemasClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SchemasClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSchemasSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SCHEMAS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SchemasClientConfiguration& config); +} // namespace Schemas +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasEndpointProvider.h b/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasEndpointProvider.h index f7727aca238b..0e062fd911f3 100644 --- a/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Schemas { namespace Endpoint { +using SchemasClientConfiguration = Aws::Schemas::SchemasClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SchemasClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SchemasClientConfiguration = Aws::Client::GenericClientConfiguration; -using SchemasBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SCHEMAS_API SchemasBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SchemasBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SchemasClientConfiguration& config); + virtual void SetFromClientConfiguration(const SchemasClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SchemasClientConfiguration& config); +}; /** * The type for the Schemas Client Endpoint Provider. @@ -34,6 +43,24 @@ using SchemasEndpointProviderBase = using SchemasDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Schemas + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SCHEMAS_EXTERN template class AWS_SCHEMAS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SCHEMAS_EXTERN template class AWS_SCHEMAS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Schemas { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasServiceClientModel.h b/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasServiceClientModel.h index c67a72941b4d..dbbe26d16268 100644 --- a/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasServiceClientModel.h @@ -75,7 +75,6 @@ class RetryStrategy; } // namespace Client namespace Schemas { -using SchemasClientConfiguration = Aws::Client::GenericClientConfiguration; using SchemasEndpointProviderBase = Aws::Schemas::Endpoint::SchemasEndpointProviderBase; using SchemasEndpointProvider = Aws::Schemas::Endpoint::SchemasEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-schemas/source/SchemasClient.cpp b/generated/src/aws-cpp-sdk-schemas/source/SchemasClient.cpp index 8aafa99c1ab5..ea128e591649 100644 --- a/generated/src/aws-cpp-sdk-schemas/source/SchemasClient.cpp +++ b/generated/src/aws-cpp-sdk-schemas/source/SchemasClient.cpp @@ -108,41 +108,6 @@ SchemasClient::SchemasClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SchemasClient::SchemasClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SchemasClient::SchemasClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SchemasClient::SchemasClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SchemasClient::~SchemasClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SchemasClient::accessEndpointProvider() { return m_endpointProvider; } @@ -160,12 +125,7 @@ void SchemasClient::init(const Schemas::SchemasClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "schemas"); -} - -void SchemasClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SchemasClient::InvokeOperationOutcome SchemasClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-schemas/source/SchemasClientConfiguration.cpp b/generated/src/aws-cpp-sdk-schemas/source/SchemasClientConfiguration.cpp new file mode 100644 index 000000000000..26eae63a9d4d --- /dev/null +++ b/generated/src/aws-cpp-sdk-schemas/source/SchemasClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Schemas { + +void SchemasClientConfiguration::LoadSchemasSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SchemasClientConfiguration::SchemasClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSchemasSpecificConfig(this->profileName); +} + +SchemasClientConfiguration::SchemasClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSchemasSpecificConfig(Aws::String(inputProfileName)); +} + +SchemasClientConfiguration::SchemasClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSchemasSpecificConfig(this->profileName); +} + +SchemasClientConfiguration::SchemasClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSchemasSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SchemasClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Schemas +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-schemas/source/SchemasEndpointProvider.cpp b/generated/src/aws-cpp-sdk-schemas/source/SchemasEndpointProvider.cpp index f7e9d164930e..a31d38f838bf 100644 --- a/generated/src/aws-cpp-sdk-schemas/source/SchemasEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-schemas/source/SchemasEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_SCHEMAS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Schemas { namespace Endpoint { SchemasEndpointProvider::SchemasEndpointProvider() : SchemasDefaultEpProviderBase(Aws::Schemas::SchemasEndpointRules::GetRulesBlob(), Aws::Schemas::SchemasEndpointRules::RulesBlobSize) {} +void SchemasBuiltInParameters::SetFromClientConfiguration(const SchemasClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SchemasBuiltInParameters::SetFromClientConfiguration(const SchemasClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SchemasBuiltInParameters::SetServiceSpecificParameters(const SchemasClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Schemas } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBClient.h b/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBClient.h index 6dacbd6f7856..64823e69ddec 100644 --- a/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBClient.h +++ b/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBClient.h @@ -66,27 +66,6 @@ class AWS_SIMPLEDB_API SimpleDBClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::SimpleDB::SimpleDBClientConfiguration& clientConfiguration = Aws::SimpleDB::SimpleDBClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SimpleDBClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SimpleDBClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SimpleDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SimpleDBClient(); /** @@ -459,7 +438,6 @@ class AWS_SIMPLEDB_API SimpleDBClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&SimpleDBClient::Select, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBClientConfiguration.h b/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBClientConfiguration.h new file mode 100644 index 000000000000..14aa65f4ee9c --- /dev/null +++ b/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SimpleDB { +struct AWS_SIMPLEDB_API SimpleDBClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SimpleDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SimpleDBClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SimpleDBClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SimpleDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSimpleDBSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SIMPLEDB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SimpleDBClientConfiguration& config); +} // namespace SimpleDB +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBEndpointProvider.h b/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBEndpointProvider.h index f25968037cd8..857224ac3dc2 100644 --- a/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SimpleDB { namespace Endpoint { +using SimpleDBClientConfiguration = Aws::SimpleDB::SimpleDBClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::DefaultEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SimpleDBClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SimpleDBClientConfiguration = Aws::Client::GenericClientConfiguration; -using SimpleDBBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SIMPLEDB_API SimpleDBBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SimpleDBBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SimpleDBClientConfiguration& config); + virtual void SetFromClientConfiguration(const SimpleDBClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SimpleDBClientConfiguration& config); +}; /** * The type for the SimpleDB Client Endpoint Provider. @@ -34,6 +43,24 @@ using SimpleDBEndpointProviderBase = using SimpleDBDefaultEpProviderBase = DefaultEndpointProvider; +} // namespace Endpoint +} // namespace SimpleDB + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SIMPLEDB_EXTERN template class AWS_SIMPLEDB_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SIMPLEDB_EXTERN template class AWS_SIMPLEDB_API + Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint + +namespace SimpleDB { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBServiceClientModel.h b/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBServiceClientModel.h index 9c5d3e436df8..d090a9e0a81b 100644 --- a/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace SimpleDB { -using SimpleDBClientConfiguration = Aws::Client::GenericClientConfiguration; using SimpleDBEndpointProviderBase = Aws::SimpleDB::Endpoint::SimpleDBEndpointProviderBase; using SimpleDBEndpointProvider = Aws::SimpleDB::Endpoint::SimpleDBEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sdb/source/SimpleDBClient.cpp b/generated/src/aws-cpp-sdk-sdb/source/SimpleDBClient.cpp index da6de27ffa1f..eefbccea0253 100644 --- a/generated/src/aws-cpp-sdk-sdb/source/SimpleDBClient.cpp +++ b/generated/src/aws-cpp-sdk-sdb/source/SimpleDBClient.cpp @@ -87,41 +87,6 @@ SimpleDBClient::SimpleDBClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SimpleDBClient::SimpleDBClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SimpleDBClient::SimpleDBClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SimpleDBClient::SimpleDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SimpleDBClient::~SimpleDBClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SimpleDBClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +104,7 @@ void SimpleDBClient::init(const SimpleDB::SimpleDBClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sdb"); -} - -void SimpleDBClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String SimpleDBClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, diff --git a/generated/src/aws-cpp-sdk-sdb/source/SimpleDBClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sdb/source/SimpleDBClientConfiguration.cpp new file mode 100644 index 000000000000..ede8a9ae4b2a --- /dev/null +++ b/generated/src/aws-cpp-sdk-sdb/source/SimpleDBClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SimpleDB { + +void SimpleDBClientConfiguration::LoadSimpleDBSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SimpleDBClientConfiguration::SimpleDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSimpleDBSpecificConfig(this->profileName); +} + +SimpleDBClientConfiguration::SimpleDBClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSimpleDBSpecificConfig(Aws::String(inputProfileName)); +} + +SimpleDBClientConfiguration::SimpleDBClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSimpleDBSpecificConfig(this->profileName); +} + +SimpleDBClientConfiguration::SimpleDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSimpleDBSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SimpleDBClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SimpleDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sdb/source/SimpleDBEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sdb/source/SimpleDBEndpointProvider.cpp index e104c1aa03d6..5e118e187112 100644 --- a/generated/src/aws-cpp-sdk-sdb/source/SimpleDBEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sdb/source/SimpleDBEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SIMPLEDB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::DefaultEndpointProvider; +} // namespace Endpoint +#endif + namespace SimpleDB { namespace Endpoint { SimpleDBEndpointProvider::SimpleDBEndpointProvider() : SimpleDBDefaultEpProviderBase(Aws::SimpleDB::SimpleDBEndpointRules::GetRulesBlob(), Aws::SimpleDB::SimpleDBEndpointRules::RulesBlobSize) {} +void SimpleDBBuiltInParameters::SetFromClientConfiguration(const SimpleDBClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SimpleDBBuiltInParameters::SetFromClientConfiguration(const SimpleDBClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SimpleDBBuiltInParameters::SetServiceSpecificParameters(const SimpleDBClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SimpleDB } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClient.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClient.h index 98ba4e7f2a6d..7072f1c9efa0 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClient.h +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClient.h @@ -87,27 +87,6 @@ class AWS_SECRETSMANAGER_API SecretsManagerClient : public Aws::Client::AWSJsonC const Aws::SecretsManager::SecretsManagerClientConfiguration& clientConfiguration = Aws::SecretsManager::SecretsManagerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SecretsManagerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SecretsManagerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SecretsManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SecretsManagerClient(); /** @@ -1201,7 +1180,6 @@ class AWS_SECRETSMANAGER_API SecretsManagerClient : public Aws::Client::AWSJsonC return SubmitAsync(&SecretsManagerClient::ValidateResourcePolicy, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClientConfiguration.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClientConfiguration.h new file mode 100644 index 000000000000..f2471ffaaab1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SecretsManager { +struct AWS_SECRETSMANAGER_API SecretsManagerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SecretsManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecretsManagerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecretsManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SecretsManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSecretsManagerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SECRETSMANAGER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecretsManagerClientConfiguration& config); +} // namespace SecretsManager +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerEndpointProvider.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerEndpointProvider.h index ded2a708731a..a82de796e30b 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SecretsManager { namespace Endpoint { +using SecretsManagerClientConfiguration = Aws::SecretsManager::SecretsManagerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SecretsManagerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SecretsManagerClientConfiguration = Aws::Client::GenericClientConfiguration; -using SecretsManagerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SECRETSMANAGER_API SecretsManagerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SecretsManagerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SecretsManagerClientConfiguration& config); + virtual void SetFromClientConfiguration(const SecretsManagerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SecretsManagerClientConfiguration& config); +}; /** * The type for the SecretsManager Client Endpoint Provider. @@ -34,6 +43,24 @@ using SecretsManagerEndpointProviderBase = using SecretsManagerDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SecretsManager + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SECRETSMANAGER_EXTERN template class AWS_SECRETSMANAGER_API Aws::Endpoint::EndpointProviderBase< + SecretsManager::Endpoint::SecretsManagerClientConfiguration, SecretsManager::Endpoint::SecretsManagerBuiltInParameters, + SecretsManager::Endpoint::SecretsManagerClientContextParameters>; + +AWS_SECRETSMANAGER_EXTERN template class AWS_SECRETSMANAGER_API Aws::Endpoint::BDDEndpointProvider< + SecretsManager::Endpoint::SecretsManagerClientConfiguration, SecretsManager::Endpoint::SecretsManagerBuiltInParameters, + SecretsManager::Endpoint::SecretsManagerClientContextParameters>; +} // namespace Endpoint + +namespace SecretsManager { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerServiceClientModel.h b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerServiceClientModel.h index e7716627a18a..a7135f5f0b66 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerServiceClientModel.h @@ -71,7 +71,6 @@ class RetryStrategy; } // namespace Client namespace SecretsManager { -using SecretsManagerClientConfiguration = Aws::Client::GenericClientConfiguration; using SecretsManagerEndpointProviderBase = Aws::SecretsManager::Endpoint::SecretsManagerEndpointProviderBase; using SecretsManagerEndpointProvider = Aws::SecretsManager::Endpoint::SecretsManagerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClient.cpp b/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClient.cpp index 9051d8cc087f..113b3aa6646d 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClient.cpp +++ b/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClient.cpp @@ -101,41 +101,6 @@ SecretsManagerClient::SecretsManagerClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecretsManagerClient::SecretsManagerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecretsManagerClient::SecretsManagerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SecretsManagerClient::~SecretsManagerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SecretsManagerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -153,12 +118,7 @@ void SecretsManagerClient::init(const SecretsManager::SecretsManagerClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "secretsmanager"); -} - -void SecretsManagerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SecretsManagerClient::InvokeOperationOutcome SecretsManagerClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClientConfiguration.cpp new file mode 100644 index 000000000000..a8de690e9a9e --- /dev/null +++ b/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SecretsManager { + +void SecretsManagerClientConfiguration::LoadSecretsManagerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SecretsManagerClientConfiguration::SecretsManagerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSecretsManagerSpecificConfig(this->profileName); +} + +SecretsManagerClientConfiguration::SecretsManagerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSecretsManagerSpecificConfig(Aws::String(inputProfileName)); +} + +SecretsManagerClientConfiguration::SecretsManagerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSecretsManagerSpecificConfig(this->profileName); +} + +SecretsManagerClientConfiguration::SecretsManagerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSecretsManagerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecretsManagerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SecretsManager +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerEndpointProvider.cpp index d1626834deca..83e71772bd9c 100644 --- a/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SECRETSMANAGER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SecretsManager { namespace Endpoint { SecretsManagerEndpointProvider::SecretsManagerEndpointProvider() : SecretsManagerDefaultEpProviderBase(Aws::SecretsManager::SecretsManagerEndpointRules::GetRulesBlob(), Aws::SecretsManager::SecretsManagerEndpointRules::RulesBlobSize) {} +void SecretsManagerBuiltInParameters::SetFromClientConfiguration(const SecretsManagerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SecretsManagerBuiltInParameters::SetFromClientConfiguration(const SecretsManagerClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SecretsManagerBuiltInParameters::SetServiceSpecificParameters(const SecretsManagerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SecretsManager } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClient.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClient.h index 7bb0f6a207e0..576c35cdba0d 100644 --- a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClient.h +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClient.h @@ -56,27 +56,6 @@ class AWS_SECURITYIR_API SecurityIRClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SecurityIR::SecurityIRClientConfiguration& clientConfiguration = Aws::SecurityIR::SecurityIRClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SecurityIRClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SecurityIRClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SecurityIRClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SecurityIRClient(); /** @@ -751,7 +730,6 @@ class AWS_SECURITYIR_API SecurityIRClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SecurityIRClient::UpdateResolverType, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClientConfiguration.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClientConfiguration.h new file mode 100644 index 000000000000..88a0f2ae09a3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SecurityIR { +struct AWS_SECURITYIR_API SecurityIRClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SecurityIRClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecurityIRClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecurityIRClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SecurityIRClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadSecurityIRSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SECURITYIR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecurityIRClientConfiguration& config); +} // namespace SecurityIR +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointProvider.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointProvider.h index a4d650fe7b00..f61ebc521464 100644 --- a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointProvider.h +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIREndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SecurityIR { namespace Endpoint { +using SecurityIRClientConfiguration = Aws::SecurityIR::SecurityIRClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SecurityIRClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SecurityIRClientConfiguration = Aws::Client::GenericClientConfiguration; -using SecurityIRBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SECURITYIR_API SecurityIRBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SecurityIRBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SecurityIRClientConfiguration& config); + virtual void SetFromClientConfiguration(const SecurityIRClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SecurityIRClientConfiguration& config); +}; /** * The type for the SecurityIR Client Endpoint Provider. @@ -34,6 +43,24 @@ using SecurityIREndpointProviderBase = using SecurityIRDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SecurityIR + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SECURITYIR_EXTERN template class AWS_SECURITYIR_API Aws::Endpoint::EndpointProviderBase< + SecurityIR::Endpoint::SecurityIRClientConfiguration, SecurityIR::Endpoint::SecurityIRBuiltInParameters, + SecurityIR::Endpoint::SecurityIRClientContextParameters>; + +AWS_SECURITYIR_EXTERN template class AWS_SECURITYIR_API Aws::Endpoint::BDDEndpointProvider< + SecurityIR::Endpoint::SecurityIRClientConfiguration, SecurityIR::Endpoint::SecurityIRBuiltInParameters, + SecurityIR::Endpoint::SecurityIRClientContextParameters>; +} // namespace Endpoint + +namespace SecurityIR { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRServiceClientModel.h b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRServiceClientModel.h index d853a4109937..fbdb22e174ce 100644 --- a/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRServiceClientModel.h @@ -73,7 +73,6 @@ class RetryStrategy; } // namespace Client namespace SecurityIR { -using SecurityIRClientConfiguration = Aws::Client::GenericClientConfiguration; using SecurityIREndpointProviderBase = Aws::SecurityIR::Endpoint::SecurityIREndpointProviderBase; using SecurityIREndpointProvider = Aws::SecurityIR::Endpoint::SecurityIREndpointProvider; diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClient.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClient.cpp index 2caf8f48d884..6e6fef873da1 100644 --- a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClient.cpp +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClient.cpp @@ -102,41 +102,6 @@ SecurityIRClient::SecurityIRClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SecurityIRClient::SecurityIRClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecurityIRClient::SecurityIRClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecurityIRClient::SecurityIRClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SecurityIRClient::~SecurityIRClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SecurityIRClient::accessEndpointProvider() { return m_endpointProvider; } @@ -154,12 +119,7 @@ void SecurityIRClient::init(const SecurityIR::SecurityIRClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "security-ir"); -} - -void SecurityIRClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SecurityIRClient::InvokeOperationOutcome SecurityIRClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClientConfiguration.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClientConfiguration.cpp new file mode 100644 index 000000000000..fb7b2c44501e --- /dev/null +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SecurityIR { + +void SecurityIRClientConfiguration::LoadSecurityIRSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SecurityIRClientConfiguration::SecurityIRClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSecurityIRSpecificConfig(this->profileName); +} + +SecurityIRClientConfiguration::SecurityIRClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSecurityIRSpecificConfig(Aws::String(inputProfileName)); +} + +SecurityIRClientConfiguration::SecurityIRClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSecurityIRSpecificConfig(this->profileName); +} + +SecurityIRClientConfiguration::SecurityIRClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSecurityIRSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecurityIRClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SecurityIR +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointProvider.cpp b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointProvider.cpp index 472a008df12c..e85a673bf53d 100644 --- a/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-security-ir/source/SecurityIREndpointProvider.cpp @@ -7,12 +7,42 @@ #include namespace Aws { +#ifndef AWS_SECURITYIR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SecurityIR { namespace Endpoint { SecurityIREndpointProvider::SecurityIREndpointProvider() : SecurityIRDefaultEpProviderBase(Aws::SecurityIR::SecurityIREndpointRules::GetRulesBlob(), Aws::SecurityIR::SecurityIREndpointRules::RulesBlobSize) {} +void SecurityIRBuiltInParameters::SetFromClientConfiguration(const SecurityIRClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SecurityIRBuiltInParameters::SetFromClientConfiguration(const SecurityIRClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SecurityIRBuiltInParameters::SetServiceSpecificParameters(const SecurityIRClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace SecurityIR } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentClient.h b/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentClient.h index 7850ab532115..610ae50a9bbf 100644 --- a/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentClient.h +++ b/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentClient.h @@ -67,27 +67,6 @@ class AWS_SECURITYAGENT_API SecurityAgentClient : public Aws::Client::AWSJsonCli const Aws::SecurityAgent::SecurityAgentClientConfiguration& clientConfiguration = Aws::SecurityAgent::SecurityAgentClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SecurityAgentClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SecurityAgentClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SecurityAgentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SecurityAgentClient(); /** @@ -2732,7 +2711,6 @@ class AWS_SECURITYAGENT_API SecurityAgentClient : public Aws::Client::AWSJsonCli return SubmitAsync(&SecurityAgentClient::VerifyTargetDomain, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentClientConfiguration.h b/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentClientConfiguration.h new file mode 100644 index 000000000000..0e7a7a4fd0b6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SecurityAgent { +struct AWS_SECURITYAGENT_API SecurityAgentClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SecurityAgentClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecurityAgentClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecurityAgentClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SecurityAgentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadSecurityAgentSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SECURITYAGENT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecurityAgentClientConfiguration& config); +} // namespace SecurityAgent +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentEndpointProvider.h b/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentEndpointProvider.h index 8f29b9ed6404..349619f29982 100644 --- a/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SecurityAgent { namespace Endpoint { +using SecurityAgentClientConfiguration = Aws::SecurityAgent::SecurityAgentClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SecurityAgentClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SecurityAgentClientConfiguration = Aws::Client::GenericClientConfiguration; -using SecurityAgentBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SECURITYAGENT_API SecurityAgentBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SecurityAgentBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SecurityAgentClientConfiguration& config); + virtual void SetFromClientConfiguration(const SecurityAgentClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SecurityAgentClientConfiguration& config); +}; /** * The type for the SecurityAgent Client Endpoint Provider. @@ -34,6 +43,24 @@ using SecurityAgentEndpointProviderBase = using SecurityAgentDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SecurityAgent + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SECURITYAGENT_EXTERN template class AWS_SECURITYAGENT_API Aws::Endpoint::EndpointProviderBase< + SecurityAgent::Endpoint::SecurityAgentClientConfiguration, SecurityAgent::Endpoint::SecurityAgentBuiltInParameters, + SecurityAgent::Endpoint::SecurityAgentClientContextParameters>; + +AWS_SECURITYAGENT_EXTERN template class AWS_SECURITYAGENT_API Aws::Endpoint::BDDEndpointProvider< + SecurityAgent::Endpoint::SecurityAgentClientConfiguration, SecurityAgent::Endpoint::SecurityAgentBuiltInParameters, + SecurityAgent::Endpoint::SecurityAgentClientContextParameters>; +} // namespace Endpoint + +namespace SecurityAgent { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentServiceClientModel.h b/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentServiceClientModel.h index e7bb2e5a84aa..7c6c2af77267 100644 --- a/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentServiceClientModel.h @@ -149,7 +149,6 @@ class RetryStrategy; } // namespace Client namespace SecurityAgent { -using SecurityAgentClientConfiguration = Aws::Client::GenericClientConfiguration; using SecurityAgentEndpointProviderBase = Aws::SecurityAgent::Endpoint::SecurityAgentEndpointProviderBase; using SecurityAgentEndpointProvider = Aws::SecurityAgent::Endpoint::SecurityAgentEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentClient.cpp b/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentClient.cpp index 64227536b6e6..697ad041b675 100644 --- a/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentClient.cpp +++ b/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentClient.cpp @@ -174,41 +174,6 @@ SecurityAgentClient::SecurityAgentClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecurityAgentClient::SecurityAgentClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecurityAgentClient::SecurityAgentClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SecurityAgentClient::~SecurityAgentClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SecurityAgentClient::accessEndpointProvider() { return m_endpointProvider; } @@ -226,12 +191,7 @@ void SecurityAgentClient::init(const SecurityAgent::SecurityAgentClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "securityagent"); -} - -void SecurityAgentClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SecurityAgentClient::InvokeOperationOutcome SecurityAgentClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentClientConfiguration.cpp b/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentClientConfiguration.cpp new file mode 100644 index 000000000000..05998f7e9a2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SecurityAgent { + +void SecurityAgentClientConfiguration::LoadSecurityAgentSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SecurityAgentClientConfiguration::SecurityAgentClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSecurityAgentSpecificConfig(this->profileName); +} + +SecurityAgentClientConfiguration::SecurityAgentClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSecurityAgentSpecificConfig(Aws::String(inputProfileName)); +} + +SecurityAgentClientConfiguration::SecurityAgentClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSecurityAgentSpecificConfig(this->profileName); +} + +SecurityAgentClientConfiguration::SecurityAgentClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSecurityAgentSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecurityAgentClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SecurityAgent +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentEndpointProvider.cpp b/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentEndpointProvider.cpp index 4c8a7cae0ec2..ed1b0812c489 100644 --- a/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_SECURITYAGENT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SecurityAgent { namespace Endpoint { SecurityAgentEndpointProvider::SecurityAgentEndpointProvider() : SecurityAgentDefaultEpProviderBase(Aws::SecurityAgent::SecurityAgentEndpointRules::GetRulesBlob(), Aws::SecurityAgent::SecurityAgentEndpointRules::RulesBlobSize) {} +void SecurityAgentBuiltInParameters::SetFromClientConfiguration(const SecurityAgentClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SecurityAgentBuiltInParameters::SetFromClientConfiguration(const SecurityAgentClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SecurityAgentBuiltInParameters::SetServiceSpecificParameters(const SecurityAgentClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace SecurityAgent } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h index 026f5a59b9cf..662e324331e1 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClient.h @@ -123,27 +123,6 @@ class AWS_SECURITYHUB_API SecurityHubClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SecurityHub::SecurityHubClientConfiguration& clientConfiguration = Aws::SecurityHub::SecurityHubClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SecurityHubClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SecurityHubClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SecurityHubClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SecurityHubClient(); /** @@ -3894,7 +3873,6 @@ class AWS_SECURITYHUB_API SecurityHubClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SecurityHubClient::UpdateStandardsControl, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClientConfiguration.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClientConfiguration.h new file mode 100644 index 000000000000..853196a5a087 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SecurityHub { +struct AWS_SECURITYHUB_API SecurityHubClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SecurityHubClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecurityHubClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecurityHubClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SecurityHubClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSecurityHubSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SECURITYHUB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecurityHubClientConfiguration& config); +} // namespace SecurityHub +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubEndpointProvider.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubEndpointProvider.h index 8a37a34bd7d9..1f43bfc7589d 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SecurityHub { namespace Endpoint { +using SecurityHubClientConfiguration = Aws::SecurityHub::SecurityHubClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SecurityHubClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SecurityHubClientConfiguration = Aws::Client::GenericClientConfiguration; -using SecurityHubBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SECURITYHUB_API SecurityHubBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SecurityHubBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SecurityHubClientConfiguration& config); + virtual void SetFromClientConfiguration(const SecurityHubClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SecurityHubClientConfiguration& config); +}; /** * The type for the SecurityHub Client Endpoint Provider. @@ -34,6 +43,24 @@ using SecurityHubEndpointProviderBase = using SecurityHubDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SecurityHub + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SECURITYHUB_EXTERN template class AWS_SECURITYHUB_API Aws::Endpoint::EndpointProviderBase< + SecurityHub::Endpoint::SecurityHubClientConfiguration, SecurityHub::Endpoint::SecurityHubBuiltInParameters, + SecurityHub::Endpoint::SecurityHubClientContextParameters>; + +AWS_SECURITYHUB_EXTERN template class AWS_SECURITYHUB_API Aws::Endpoint::BDDEndpointProvider< + SecurityHub::Endpoint::SecurityHubClientConfiguration, SecurityHub::Endpoint::SecurityHubBuiltInParameters, + SecurityHub::Endpoint::SecurityHubClientContextParameters>; +} // namespace Endpoint + +namespace SecurityHub { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h index c5fa5061c609..2717507db2ad 100644 --- a/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubServiceClientModel.h @@ -203,7 +203,6 @@ class RetryStrategy; } // namespace Client namespace SecurityHub { -using SecurityHubClientConfiguration = Aws::Client::GenericClientConfiguration; using SecurityHubEndpointProviderBase = Aws::SecurityHub::Endpoint::SecurityHubEndpointProviderBase; using SecurityHubEndpointProvider = Aws::SecurityHub::Endpoint::SecurityHubEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp index 236610cd19a6..8aeda2d23c90 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClient.cpp @@ -197,41 +197,6 @@ SecurityHubClient::SecurityHubClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecurityHubClient::SecurityHubClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecurityHubClient::SecurityHubClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SecurityHubClient::~SecurityHubClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SecurityHubClient::accessEndpointProvider() { return m_endpointProvider; } @@ -249,12 +214,7 @@ void SecurityHubClient::init(const SecurityHub::SecurityHubClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "securityhub"); -} - -void SecurityHubClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SecurityHubClient::InvokeOperationOutcome SecurityHubClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClientConfiguration.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClientConfiguration.cpp new file mode 100644 index 000000000000..4bf3ce37ce5e --- /dev/null +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SecurityHub { + +void SecurityHubClientConfiguration::LoadSecurityHubSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SecurityHubClientConfiguration::SecurityHubClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSecurityHubSpecificConfig(this->profileName); +} + +SecurityHubClientConfiguration::SecurityHubClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSecurityHubSpecificConfig(Aws::String(inputProfileName)); +} + +SecurityHubClientConfiguration::SecurityHubClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSecurityHubSpecificConfig(this->profileName); +} + +SecurityHubClientConfiguration::SecurityHubClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSecurityHubSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecurityHubClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SecurityHub +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubEndpointProvider.cpp b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubEndpointProvider.cpp index 6137dd3fef30..cfaea81283bd 100644 --- a/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-securityhub/source/SecurityHubEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SECURITYHUB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SecurityHub { namespace Endpoint { SecurityHubEndpointProvider::SecurityHubEndpointProvider() : SecurityHubDefaultEpProviderBase(Aws::SecurityHub::SecurityHubEndpointRules::GetRulesBlob(), Aws::SecurityHub::SecurityHubEndpointRules::RulesBlobSize) {} +void SecurityHubBuiltInParameters::SetFromClientConfiguration(const SecurityHubClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SecurityHubBuiltInParameters::SetFromClientConfiguration(const SecurityHubClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SecurityHubBuiltInParameters::SetServiceSpecificParameters(const SecurityHubClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SecurityHub } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClient.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClient.h index 4be7a93cb718..ee35ba25bdc4 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClient.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClient.h @@ -86,27 +86,6 @@ class AWS_SECURITYLAKE_API SecurityLakeClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::SecurityLake::SecurityLakeClientConfiguration& clientConfiguration = Aws::SecurityLake::SecurityLakeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SecurityLakeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SecurityLakeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SecurityLakeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SecurityLakeClient(); /** @@ -1086,7 +1065,6 @@ class AWS_SECURITYLAKE_API SecurityLakeClient : public Aws::Client::AWSJsonClien return SubmitAsync(&SecurityLakeClient::UpdateSubscriberNotification, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClientConfiguration.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClientConfiguration.h new file mode 100644 index 000000000000..f3dc04ae4047 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SecurityLake { +struct AWS_SECURITYLAKE_API SecurityLakeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SecurityLakeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecurityLakeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SecurityLakeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SecurityLakeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSecurityLakeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SECURITYLAKE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecurityLakeClientConfiguration& config); +} // namespace SecurityLake +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeEndpointProvider.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeEndpointProvider.h index 26ffcd1249e1..2b3ec1f23cb7 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SecurityLake { namespace Endpoint { +using SecurityLakeClientConfiguration = Aws::SecurityLake::SecurityLakeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SecurityLakeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SecurityLakeClientConfiguration = Aws::Client::GenericClientConfiguration; -using SecurityLakeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SECURITYLAKE_API SecurityLakeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SecurityLakeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SecurityLakeClientConfiguration& config); + virtual void SetFromClientConfiguration(const SecurityLakeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SecurityLakeClientConfiguration& config); +}; /** * The type for the SecurityLake Client Endpoint Provider. @@ -34,6 +43,24 @@ using SecurityLakeEndpointProviderBase = using SecurityLakeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SecurityLake + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SECURITYLAKE_EXTERN template class AWS_SECURITYLAKE_API Aws::Endpoint::EndpointProviderBase< + SecurityLake::Endpoint::SecurityLakeClientConfiguration, SecurityLake::Endpoint::SecurityLakeBuiltInParameters, + SecurityLake::Endpoint::SecurityLakeClientContextParameters>; + +AWS_SECURITYLAKE_EXTERN template class AWS_SECURITYLAKE_API Aws::Endpoint::BDDEndpointProvider< + SecurityLake::Endpoint::SecurityLakeClientConfiguration, SecurityLake::Endpoint::SecurityLakeBuiltInParameters, + SecurityLake::Endpoint::SecurityLakeClientContextParameters>; +} // namespace Endpoint + +namespace SecurityLake { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeServiceClientModel.h b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeServiceClientModel.h index 21c0066e723b..79819b100988 100644 --- a/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeServiceClientModel.h @@ -88,7 +88,6 @@ class RetryStrategy; } // namespace Client namespace SecurityLake { -using SecurityLakeClientConfiguration = Aws::Client::GenericClientConfiguration; using SecurityLakeEndpointProviderBase = Aws::SecurityLake::Endpoint::SecurityLakeEndpointProviderBase; using SecurityLakeEndpointProvider = Aws::SecurityLake::Endpoint::SecurityLakeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClient.cpp b/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClient.cpp index 52597856f546..4b5c7116014d 100644 --- a/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClient.cpp +++ b/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClient.cpp @@ -109,41 +109,6 @@ SecurityLakeClient::SecurityLakeClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecurityLakeClient::SecurityLakeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SecurityLakeClient::SecurityLakeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SecurityLakeClient::~SecurityLakeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SecurityLakeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -161,12 +126,7 @@ void SecurityLakeClient::init(const SecurityLake::SecurityLakeClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "securitylake"); -} - -void SecurityLakeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SecurityLakeClient::InvokeOperationOutcome SecurityLakeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClientConfiguration.cpp new file mode 100644 index 000000000000..c8f2d3d0d9b1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SecurityLake { + +void SecurityLakeClientConfiguration::LoadSecurityLakeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SecurityLakeClientConfiguration::SecurityLakeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSecurityLakeSpecificConfig(this->profileName); +} + +SecurityLakeClientConfiguration::SecurityLakeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSecurityLakeSpecificConfig(Aws::String(inputProfileName)); +} + +SecurityLakeClientConfiguration::SecurityLakeClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSecurityLakeSpecificConfig(this->profileName); +} + +SecurityLakeClientConfiguration::SecurityLakeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSecurityLakeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SecurityLakeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SecurityLake +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeEndpointProvider.cpp index 94eaf4704f64..0c49d732a8ef 100644 --- a/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SECURITYLAKE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SecurityLake { namespace Endpoint { SecurityLakeEndpointProvider::SecurityLakeEndpointProvider() : SecurityLakeDefaultEpProviderBase(Aws::SecurityLake::SecurityLakeEndpointRules::GetRulesBlob(), Aws::SecurityLake::SecurityLakeEndpointRules::RulesBlobSize) {} +void SecurityLakeBuiltInParameters::SetFromClientConfiguration(const SecurityLakeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SecurityLakeBuiltInParameters::SetFromClientConfiguration(const SecurityLakeClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SecurityLakeBuiltInParameters::SetServiceSpecificParameters(const SecurityLakeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SecurityLake } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryClient.h b/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryClient.h index 01dee7e461a0..40afab6191d5 100644 --- a/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryClient.h +++ b/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryClient.h @@ -104,28 +104,6 @@ class AWS_SERVERLESSAPPLICATIONREPOSITORY_API ServerlessApplicationRepositoryCli const Aws::ServerlessApplicationRepository::ServerlessApplicationRepositoryClientConfiguration& clientConfiguration = Aws::ServerlessApplicationRepository::ServerlessApplicationRepositoryClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ServerlessApplicationRepositoryClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ServerlessApplicationRepositoryClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ServerlessApplicationRepositoryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ServerlessApplicationRepositoryClient(); /** @@ -516,7 +494,6 @@ Permissions return SubmitAsync(&ServerlessApplicationRepositoryClient::UpdateApplication, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryClientConfiguration.h b/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryClientConfiguration.h new file mode 100644 index 000000000000..7d1bf384c252 --- /dev/null +++ b/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryClientConfiguration.h @@ -0,0 +1,64 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ServerlessApplicationRepository { +struct AWS_SERVERLESSAPPLICATIONREPOSITORY_API ServerlessApplicationRepositoryClientConfiguration + : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ServerlessApplicationRepositoryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ServerlessApplicationRepositoryClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ServerlessApplicationRepositoryClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", + bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ServerlessApplicationRepositoryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadServerlessApplicationRepositorySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SERVERLESSAPPLICATIONREPOSITORY_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ServerlessApplicationRepositoryClientConfiguration& config); +} // namespace ServerlessApplicationRepository +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryEndpointProvider.h b/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryEndpointProvider.h index 02396ad90c41..e7dcca4a56d7 100644 --- a/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryEndpointProvider.h @@ -4,24 +4,34 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ServerlessApplicationRepository { namespace Endpoint { +using ServerlessApplicationRepositoryClientConfiguration = + Aws::ServerlessApplicationRepository::ServerlessApplicationRepositoryClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ServerlessApplicationRepositoryClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ServerlessApplicationRepositoryClientConfiguration = Aws::Client::GenericClientConfiguration; -using ServerlessApplicationRepositoryBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SERVERLESSAPPLICATIONREPOSITORY_API ServerlessApplicationRepositoryBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ServerlessApplicationRepositoryBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ServerlessApplicationRepositoryClientConfiguration& config); + virtual void SetFromClientConfiguration(const ServerlessApplicationRepositoryClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ServerlessApplicationRepositoryClientConfiguration& config); +}; /** * The type for the ServerlessApplicationRepository Client Endpoint Provider. @@ -36,6 +46,26 @@ using ServerlessApplicationRepositoryDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ServerlessApplicationRepository + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SERVERLESSAPPLICATIONREPOSITORY_EXTERN template class AWS_SERVERLESSAPPLICATIONREPOSITORY_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SERVERLESSAPPLICATIONREPOSITORY_EXTERN template class AWS_SERVERLESSAPPLICATIONREPOSITORY_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ServerlessApplicationRepository { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryServiceClientModel.h b/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryServiceClientModel.h index da54f1f71e2a..1d2863361221 100644 --- a/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace ServerlessApplicationRepository { -using ServerlessApplicationRepositoryClientConfiguration = Aws::Client::GenericClientConfiguration; using ServerlessApplicationRepositoryEndpointProviderBase = Aws::ServerlessApplicationRepository::Endpoint::ServerlessApplicationRepositoryEndpointProviderBase; using ServerlessApplicationRepositoryEndpointProvider = diff --git a/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryClient.cpp b/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryClient.cpp index eb1e8f036002..407ee58f97ef 100644 --- a/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryClient.cpp +++ b/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryClient.cpp @@ -97,42 +97,6 @@ ServerlessApplicationRepositoryClient::ServerlessApplicationRepositoryClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ServerlessApplicationRepositoryClient::ServerlessApplicationRepositoryClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ServerlessApplicationRepositoryClient::ServerlessApplicationRepositoryClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ServerlessApplicationRepositoryClient::ServerlessApplicationRepositoryClient( - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ServerlessApplicationRepositoryClient::~ServerlessApplicationRepositoryClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ServerlessApplicationRepositoryClient::accessEndpointProvider() { @@ -153,12 +117,7 @@ void ServerlessApplicationRepositoryClient::init( AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "serverlessrepo"); -} - -void ServerlessApplicationRepositoryClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ServerlessApplicationRepositoryClient::InvokeOperationOutcome ServerlessApplicationRepositoryClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryClientConfiguration.cpp b/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryClientConfiguration.cpp new file mode 100644 index 000000000000..2faa0ee4ff32 --- /dev/null +++ b/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryClientConfiguration.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ServerlessApplicationRepository { + +void ServerlessApplicationRepositoryClientConfiguration::LoadServerlessApplicationRepositorySpecificConfig( + const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ServerlessApplicationRepositoryClientConfiguration::ServerlessApplicationRepositoryClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadServerlessApplicationRepositorySpecificConfig(this->profileName); +} + +ServerlessApplicationRepositoryClientConfiguration::ServerlessApplicationRepositoryClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadServerlessApplicationRepositorySpecificConfig(Aws::String(inputProfileName)); +} + +ServerlessApplicationRepositoryClientConfiguration::ServerlessApplicationRepositoryClientConfiguration(bool useSmartDefaults, + const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadServerlessApplicationRepositorySpecificConfig(this->profileName); +} + +ServerlessApplicationRepositoryClientConfiguration::ServerlessApplicationRepositoryClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadServerlessApplicationRepositorySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ServerlessApplicationRepositoryClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ServerlessApplicationRepository +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryEndpointProvider.cpp b/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryEndpointProvider.cpp index 00240b9d88e2..0e9edf1ee2c7 100644 --- a/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryEndpointProvider.cpp @@ -7,6 +7,23 @@ #include namespace Aws { +#ifndef AWS_SERVERLESSAPPLICATIONREPOSITORY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase< + ServerlessApplicationRepository::Endpoint::ServerlessApplicationRepositoryClientConfiguration, + ServerlessApplicationRepository::Endpoint::ServerlessApplicationRepositoryBuiltInParameters, + ServerlessApplicationRepository::Endpoint::ServerlessApplicationRepositoryClientContextParameters>; + +template class Aws::Endpoint::BDDEndpointProvider< + ServerlessApplicationRepository::Endpoint::ServerlessApplicationRepositoryClientConfiguration, + ServerlessApplicationRepository::Endpoint::ServerlessApplicationRepositoryBuiltInParameters, + ServerlessApplicationRepository::Endpoint::ServerlessApplicationRepositoryClientContextParameters>; +} // namespace Endpoint +#endif + namespace ServerlessApplicationRepository { namespace Endpoint { ServerlessApplicationRepositoryEndpointProvider::ServerlessApplicationRepositoryEndpointProvider() @@ -14,6 +31,28 @@ ServerlessApplicationRepositoryEndpointProvider::ServerlessApplicationRepository Aws::ServerlessApplicationRepository::ServerlessApplicationRepositoryEndpointRules::GetRulesBlob(), Aws::ServerlessApplicationRepository::ServerlessApplicationRepositoryEndpointRules::RulesBlobSize) {} +void ServerlessApplicationRepositoryBuiltInParameters::SetFromClientConfiguration( + const ServerlessApplicationRepositoryClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ServerlessApplicationRepositoryBuiltInParameters::SetFromClientConfiguration( + const ServerlessApplicationRepositoryClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), + serviceName); + SetServiceSpecificParameters(config); +} + +void ServerlessApplicationRepositoryBuiltInParameters::SetServiceSpecificParameters( + const ServerlessApplicationRepositoryClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ServerlessApplicationRepository } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasClient.h b/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasClient.h index 18c6340b677c..65e082c7230e 100644 --- a/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasClient.h +++ b/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasClient.h @@ -63,27 +63,6 @@ class AWS_SERVICEQUOTAS_API ServiceQuotasClient : public Aws::Client::AWSJsonCli const Aws::ServiceQuotas::ServiceQuotasClientConfiguration& clientConfiguration = Aws::ServiceQuotas::ServiceQuotasClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ServiceQuotasClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ServiceQuotasClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ServiceQuotasClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ServiceQuotasClient(); /** @@ -881,7 +860,6 @@ class AWS_SERVICEQUOTAS_API ServiceQuotasClient : public Aws::Client::AWSJsonCli return SubmitAsync(&ServiceQuotasClient::UpdateAutoManagement, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasClientConfiguration.h b/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasClientConfiguration.h new file mode 100644 index 000000000000..d0629bf8c7ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ServiceQuotas { +struct AWS_SERVICEQUOTAS_API ServiceQuotasClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ServiceQuotasClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ServiceQuotasClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ServiceQuotasClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ServiceQuotasClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadServiceQuotasSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SERVICEQUOTAS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ServiceQuotasClientConfiguration& config); +} // namespace ServiceQuotas +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasEndpointProvider.h b/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasEndpointProvider.h index 0cdde6a16ee1..2a9eca2c7c1b 100644 --- a/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ServiceQuotas { namespace Endpoint { +using ServiceQuotasClientConfiguration = Aws::ServiceQuotas::ServiceQuotasClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ServiceQuotasClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ServiceQuotasClientConfiguration = Aws::Client::GenericClientConfiguration; -using ServiceQuotasBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SERVICEQUOTAS_API ServiceQuotasBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ServiceQuotasBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ServiceQuotasClientConfiguration& config); + virtual void SetFromClientConfiguration(const ServiceQuotasClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ServiceQuotasClientConfiguration& config); +}; /** * The type for the ServiceQuotas Client Endpoint Provider. @@ -34,6 +43,24 @@ using ServiceQuotasEndpointProviderBase = using ServiceQuotasDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ServiceQuotas + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SERVICEQUOTAS_EXTERN template class AWS_SERVICEQUOTAS_API Aws::Endpoint::EndpointProviderBase< + ServiceQuotas::Endpoint::ServiceQuotasClientConfiguration, ServiceQuotas::Endpoint::ServiceQuotasBuiltInParameters, + ServiceQuotas::Endpoint::ServiceQuotasClientContextParameters>; + +AWS_SERVICEQUOTAS_EXTERN template class AWS_SERVICEQUOTAS_API Aws::Endpoint::BDDEndpointProvider< + ServiceQuotas::Endpoint::ServiceQuotasClientConfiguration, ServiceQuotas::Endpoint::ServiceQuotasBuiltInParameters, + ServiceQuotas::Endpoint::ServiceQuotasClientContextParameters>; +} // namespace Endpoint + +namespace ServiceQuotas { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasServiceClientModel.h b/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasServiceClientModel.h index 07d4ebbddb23..296047e4ef5f 100644 --- a/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasServiceClientModel.h @@ -82,7 +82,6 @@ class RetryStrategy; } // namespace Client namespace ServiceQuotas { -using ServiceQuotasClientConfiguration = Aws::Client::GenericClientConfiguration; using ServiceQuotasEndpointProviderBase = Aws::ServiceQuotas::Endpoint::ServiceQuotasEndpointProviderBase; using ServiceQuotasEndpointProvider = Aws::ServiceQuotas::Endpoint::ServiceQuotasEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasClient.cpp b/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasClient.cpp index 38481c1325f9..60460a178d81 100644 --- a/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasClient.cpp +++ b/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasClient.cpp @@ -104,41 +104,6 @@ ServiceQuotasClient::ServiceQuotasClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ServiceQuotasClient::ServiceQuotasClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ServiceQuotasClient::ServiceQuotasClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ServiceQuotasClient::~ServiceQuotasClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ServiceQuotasClient::accessEndpointProvider() { return m_endpointProvider; } @@ -156,12 +121,7 @@ void ServiceQuotasClient::init(const ServiceQuotas::ServiceQuotasClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "servicequotas"); -} - -void ServiceQuotasClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ServiceQuotasClient::InvokeOperationOutcome ServiceQuotasClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasClientConfiguration.cpp b/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasClientConfiguration.cpp new file mode 100644 index 000000000000..0f2d54446939 --- /dev/null +++ b/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ServiceQuotas { + +void ServiceQuotasClientConfiguration::LoadServiceQuotasSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ServiceQuotasClientConfiguration::ServiceQuotasClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadServiceQuotasSpecificConfig(this->profileName); +} + +ServiceQuotasClientConfiguration::ServiceQuotasClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadServiceQuotasSpecificConfig(Aws::String(inputProfileName)); +} + +ServiceQuotasClientConfiguration::ServiceQuotasClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadServiceQuotasSpecificConfig(this->profileName); +} + +ServiceQuotasClientConfiguration::ServiceQuotasClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadServiceQuotasSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ServiceQuotasClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ServiceQuotas +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasEndpointProvider.cpp b/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasEndpointProvider.cpp index 916c7e6dfa04..eeedc3e7a634 100644 --- a/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SERVICEQUOTAS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ServiceQuotas { namespace Endpoint { ServiceQuotasEndpointProvider::ServiceQuotasEndpointProvider() : ServiceQuotasDefaultEpProviderBase(Aws::ServiceQuotas::ServiceQuotasEndpointRules::GetRulesBlob(), Aws::ServiceQuotas::ServiceQuotasEndpointRules::RulesBlobSize) {} +void ServiceQuotasBuiltInParameters::SetFromClientConfiguration(const ServiceQuotasClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ServiceQuotasBuiltInParameters::SetFromClientConfiguration(const ServiceQuotasClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ServiceQuotasBuiltInParameters::SetServiceSpecificParameters(const ServiceQuotasClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ServiceQuotas } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryClient.h b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryClient.h index f8987bdd4db7..eec66aeed9fa 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryClient.h +++ b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryClient.h @@ -58,27 +58,6 @@ class AWS_APPREGISTRY_API AppRegistryClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::AppRegistry::AppRegistryClientConfiguration& clientConfiguration = Aws::AppRegistry::AppRegistryClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - AppRegistryClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - AppRegistryClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - AppRegistryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~AppRegistryClient(); /** @@ -796,7 +775,6 @@ class AWS_APPREGISTRY_API AppRegistryClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&AppRegistryClient::UpdateAttributeGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryClientConfiguration.h b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryClientConfiguration.h new file mode 100644 index 000000000000..ffabb56753f4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace AppRegistry { +struct AWS_APPREGISTRY_API AppRegistryClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + AppRegistryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppRegistryClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + AppRegistryClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit AppRegistryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadAppRegistrySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_APPREGISTRY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppRegistryClientConfiguration& config); +} // namespace AppRegistry +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryEndpointProvider.h b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryEndpointProvider.h index 8216672963c3..e465861935c4 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace AppRegistry { namespace Endpoint { +using AppRegistryClientConfiguration = Aws::AppRegistry::AppRegistryClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using AppRegistryClientContextParameters = Aws::Endpoint::ClientContextParameters; -using AppRegistryClientConfiguration = Aws::Client::GenericClientConfiguration; -using AppRegistryBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_APPREGISTRY_API AppRegistryBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~AppRegistryBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const AppRegistryClientConfiguration& config); + virtual void SetFromClientConfiguration(const AppRegistryClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const AppRegistryClientConfiguration& config); +}; /** * The type for the AppRegistry Client Endpoint Provider. @@ -34,6 +43,24 @@ using AppRegistryEndpointProviderBase = using AppRegistryDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace AppRegistry + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_APPREGISTRY_EXTERN template class AWS_APPREGISTRY_API Aws::Endpoint::EndpointProviderBase< + AppRegistry::Endpoint::AppRegistryClientConfiguration, AppRegistry::Endpoint::AppRegistryBuiltInParameters, + AppRegistry::Endpoint::AppRegistryClientContextParameters>; + +AWS_APPREGISTRY_EXTERN template class AWS_APPREGISTRY_API Aws::Endpoint::BDDEndpointProvider< + AppRegistry::Endpoint::AppRegistryClientConfiguration, AppRegistry::Endpoint::AppRegistryBuiltInParameters, + AppRegistry::Endpoint::AppRegistryClientContextParameters>; +} // namespace Endpoint + +namespace AppRegistry { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryServiceClientModel.h b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryServiceClientModel.h index 2cb3aebc4438..be8dfbe40d6f 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryServiceClientModel.h @@ -73,7 +73,6 @@ class RetryStrategy; } // namespace Client namespace AppRegistry { -using AppRegistryClientConfiguration = Aws::Client::GenericClientConfiguration; using AppRegistryEndpointProviderBase = Aws::AppRegistry::Endpoint::AppRegistryEndpointProviderBase; using AppRegistryEndpointProvider = Aws::AppRegistry::Endpoint::AppRegistryEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryClient.cpp b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryClient.cpp index 1b2fad535c22..f095cb3852b7 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryClient.cpp +++ b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryClient.cpp @@ -101,41 +101,6 @@ AppRegistryClient::AppRegistryClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppRegistryClient::AppRegistryClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -AppRegistryClient::AppRegistryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ AppRegistryClient::~AppRegistryClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& AppRegistryClient::accessEndpointProvider() { return m_endpointProvider; } @@ -153,12 +118,7 @@ void AppRegistryClient::init(const AppRegistry::AppRegistryClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "servicecatalog"); -} - -void AppRegistryClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } AppRegistryClient::InvokeOperationOutcome AppRegistryClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryClientConfiguration.cpp b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryClientConfiguration.cpp new file mode 100644 index 000000000000..24b818a680eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace AppRegistry { + +void AppRegistryClientConfiguration::LoadAppRegistrySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +AppRegistryClientConfiguration::AppRegistryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadAppRegistrySpecificConfig(this->profileName); +} + +AppRegistryClientConfiguration::AppRegistryClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadAppRegistrySpecificConfig(Aws::String(inputProfileName)); +} + +AppRegistryClientConfiguration::AppRegistryClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadAppRegistrySpecificConfig(this->profileName); +} + +AppRegistryClientConfiguration::AppRegistryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadAppRegistrySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const AppRegistryClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace AppRegistry +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryEndpointProvider.cpp b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryEndpointProvider.cpp index b9c35b6fba26..9fd69c620e1c 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_APPREGISTRY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace AppRegistry { namespace Endpoint { AppRegistryEndpointProvider::AppRegistryEndpointProvider() : AppRegistryDefaultEpProviderBase(Aws::AppRegistry::AppRegistryEndpointRules::GetRulesBlob(), Aws::AppRegistry::AppRegistryEndpointRules::RulesBlobSize) {} +void AppRegistryBuiltInParameters::SetFromClientConfiguration(const AppRegistryClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void AppRegistryBuiltInParameters::SetFromClientConfiguration(const AppRegistryClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void AppRegistryBuiltInParameters::SetServiceSpecificParameters(const AppRegistryClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace AppRegistry } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogClient.h b/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogClient.h index 6bd1178a1277..d5e3f22ef383 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogClient.h +++ b/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogClient.h @@ -62,27 +62,6 @@ class AWS_SERVICECATALOG_API ServiceCatalogClient : public Aws::Client::AWSJsonC const Aws::ServiceCatalog::ServiceCatalogClientConfiguration& clientConfiguration = Aws::ServiceCatalog::ServiceCatalogClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ServiceCatalogClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ServiceCatalogClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ServiceCatalogClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ServiceCatalogClient(); /** @@ -2869,7 +2848,6 @@ class AWS_SERVICECATALOG_API ServiceCatalogClient : public Aws::Client::AWSJsonC return SubmitAsync(&ServiceCatalogClient::UpdateTagOption, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogClientConfiguration.h b/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogClientConfiguration.h new file mode 100644 index 000000000000..69bf0e5d5f5c --- /dev/null +++ b/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ServiceCatalog { +struct AWS_SERVICECATALOG_API ServiceCatalogClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ServiceCatalogClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ServiceCatalogClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ServiceCatalogClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ServiceCatalogClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadServiceCatalogSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SERVICECATALOG_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ServiceCatalogClientConfiguration& config); +} // namespace ServiceCatalog +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogEndpointProvider.h b/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogEndpointProvider.h index 77741f4d72a8..f6652b19abe2 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ServiceCatalog { namespace Endpoint { +using ServiceCatalogClientConfiguration = Aws::ServiceCatalog::ServiceCatalogClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ServiceCatalogClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ServiceCatalogClientConfiguration = Aws::Client::GenericClientConfiguration; -using ServiceCatalogBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SERVICECATALOG_API ServiceCatalogBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ServiceCatalogBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ServiceCatalogClientConfiguration& config); + virtual void SetFromClientConfiguration(const ServiceCatalogClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ServiceCatalogClientConfiguration& config); +}; /** * The type for the ServiceCatalog Client Endpoint Provider. @@ -34,6 +43,24 @@ using ServiceCatalogEndpointProviderBase = using ServiceCatalogDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ServiceCatalog + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SERVICECATALOG_EXTERN template class AWS_SERVICECATALOG_API Aws::Endpoint::EndpointProviderBase< + ServiceCatalog::Endpoint::ServiceCatalogClientConfiguration, ServiceCatalog::Endpoint::ServiceCatalogBuiltInParameters, + ServiceCatalog::Endpoint::ServiceCatalogClientContextParameters>; + +AWS_SERVICECATALOG_EXTERN template class AWS_SERVICECATALOG_API Aws::Endpoint::BDDEndpointProvider< + ServiceCatalog::Endpoint::ServiceCatalogClientConfiguration, ServiceCatalog::Endpoint::ServiceCatalogBuiltInParameters, + ServiceCatalog::Endpoint::ServiceCatalogClientContextParameters>; +} // namespace Endpoint + +namespace ServiceCatalog { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogServiceClientModel.h b/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogServiceClientModel.h index 90f6b9ad07d2..5afe02ff4c7d 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogServiceClientModel.h @@ -155,7 +155,6 @@ class RetryStrategy; } // namespace Client namespace ServiceCatalog { -using ServiceCatalogClientConfiguration = Aws::Client::GenericClientConfiguration; using ServiceCatalogEndpointProviderBase = Aws::ServiceCatalog::Endpoint::ServiceCatalogEndpointProviderBase; using ServiceCatalogEndpointProvider = Aws::ServiceCatalog::Endpoint::ServiceCatalogEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogClient.cpp b/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogClient.cpp index cf408079a44f..b3c189264ca0 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogClient.cpp +++ b/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogClient.cpp @@ -168,41 +168,6 @@ ServiceCatalogClient::ServiceCatalogClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ServiceCatalogClient::ServiceCatalogClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ServiceCatalogClient::ServiceCatalogClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ServiceCatalogClient::~ServiceCatalogClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ServiceCatalogClient::accessEndpointProvider() { return m_endpointProvider; } @@ -220,12 +185,7 @@ void ServiceCatalogClient::init(const ServiceCatalog::ServiceCatalogClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "servicecatalog"); -} - -void ServiceCatalogClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ServiceCatalogClient::InvokeOperationOutcome ServiceCatalogClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogClientConfiguration.cpp b/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogClientConfiguration.cpp new file mode 100644 index 000000000000..b97434761acd --- /dev/null +++ b/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ServiceCatalog { + +void ServiceCatalogClientConfiguration::LoadServiceCatalogSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ServiceCatalogClientConfiguration::ServiceCatalogClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadServiceCatalogSpecificConfig(this->profileName); +} + +ServiceCatalogClientConfiguration::ServiceCatalogClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadServiceCatalogSpecificConfig(Aws::String(inputProfileName)); +} + +ServiceCatalogClientConfiguration::ServiceCatalogClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadServiceCatalogSpecificConfig(this->profileName); +} + +ServiceCatalogClientConfiguration::ServiceCatalogClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadServiceCatalogSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ServiceCatalogClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ServiceCatalog +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogEndpointProvider.cpp b/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogEndpointProvider.cpp index 02ec973ba386..d143d98edea7 100644 --- a/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SERVICECATALOG_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ServiceCatalog { namespace Endpoint { ServiceCatalogEndpointProvider::ServiceCatalogEndpointProvider() : ServiceCatalogDefaultEpProviderBase(Aws::ServiceCatalog::ServiceCatalogEndpointRules::GetRulesBlob(), Aws::ServiceCatalog::ServiceCatalogEndpointRules::RulesBlobSize) {} +void ServiceCatalogBuiltInParameters::SetFromClientConfiguration(const ServiceCatalogClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ServiceCatalogBuiltInParameters::SetFromClientConfiguration(const ServiceCatalogClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ServiceCatalogBuiltInParameters::SetServiceSpecificParameters(const ServiceCatalogClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ServiceCatalog } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryClient.h b/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryClient.h index 3bb395b4d52f..e23dcf122d06 100644 --- a/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryClient.h +++ b/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryClient.h @@ -62,27 +62,6 @@ class AWS_SERVICEDISCOVERY_API ServiceDiscoveryClient : public Aws::Client::AWSJ const Aws::ServiceDiscovery::ServiceDiscoveryClientConfiguration& clientConfiguration = Aws::ServiceDiscovery::ServiceDiscoveryClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ServiceDiscoveryClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ServiceDiscoveryClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ServiceDiscoveryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ServiceDiscoveryClient(); /** @@ -990,7 +969,6 @@ class AWS_SERVICEDISCOVERY_API ServiceDiscoveryClient : public Aws::Client::AWSJ return SubmitAsync(&ServiceDiscoveryClient::UpdateServiceAttributes, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryClientConfiguration.h b/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryClientConfiguration.h new file mode 100644 index 000000000000..87baf1f69257 --- /dev/null +++ b/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ServiceDiscovery { +struct AWS_SERVICEDISCOVERY_API ServiceDiscoveryClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ServiceDiscoveryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ServiceDiscoveryClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ServiceDiscoveryClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ServiceDiscoveryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadServiceDiscoverySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SERVICEDISCOVERY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ServiceDiscoveryClientConfiguration& config); +} // namespace ServiceDiscovery +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryEndpointProvider.h b/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryEndpointProvider.h index b39fa37e7361..8ce0daf7825e 100644 --- a/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ServiceDiscovery { namespace Endpoint { +using ServiceDiscoveryClientConfiguration = Aws::ServiceDiscovery::ServiceDiscoveryClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ServiceDiscoveryClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ServiceDiscoveryClientConfiguration = Aws::Client::GenericClientConfiguration; -using ServiceDiscoveryBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SERVICEDISCOVERY_API ServiceDiscoveryBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ServiceDiscoveryBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ServiceDiscoveryClientConfiguration& config); + virtual void SetFromClientConfiguration(const ServiceDiscoveryClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ServiceDiscoveryClientConfiguration& config); +}; /** * The type for the ServiceDiscovery Client Endpoint Provider. @@ -34,6 +43,24 @@ using ServiceDiscoveryEndpointProviderBase = using ServiceDiscoveryDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ServiceDiscovery + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SERVICEDISCOVERY_EXTERN template class AWS_SERVICEDISCOVERY_API Aws::Endpoint::EndpointProviderBase< + ServiceDiscovery::Endpoint::ServiceDiscoveryClientConfiguration, ServiceDiscovery::Endpoint::ServiceDiscoveryBuiltInParameters, + ServiceDiscovery::Endpoint::ServiceDiscoveryClientContextParameters>; + +AWS_SERVICEDISCOVERY_EXTERN template class AWS_SERVICEDISCOVERY_API Aws::Endpoint::BDDEndpointProvider< + ServiceDiscovery::Endpoint::ServiceDiscoveryClientConfiguration, ServiceDiscovery::Endpoint::ServiceDiscoveryBuiltInParameters, + ServiceDiscovery::Endpoint::ServiceDiscoveryClientContextParameters>; +} // namespace Endpoint + +namespace ServiceDiscovery { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryServiceClientModel.h b/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryServiceClientModel.h index 7019969a116b..2caa04980499 100644 --- a/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryServiceClientModel.h @@ -79,7 +79,6 @@ class RetryStrategy; } // namespace Client namespace ServiceDiscovery { -using ServiceDiscoveryClientConfiguration = Aws::Client::GenericClientConfiguration; using ServiceDiscoveryEndpointProviderBase = Aws::ServiceDiscovery::Endpoint::ServiceDiscoveryEndpointProviderBase; using ServiceDiscoveryEndpointProvider = Aws::ServiceDiscovery::Endpoint::ServiceDiscoveryEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryClient.cpp b/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryClient.cpp index e2ce66dd1d2b..9b3cc1408ed5 100644 --- a/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryClient.cpp +++ b/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryClient.cpp @@ -111,42 +111,6 @@ ServiceDiscoveryClient::ServiceDiscoveryClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ServiceDiscoveryClient::ServiceDiscoveryClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ServiceDiscoveryClient::ServiceDiscoveryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ServiceDiscoveryClient::~ServiceDiscoveryClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ServiceDiscoveryClient::accessEndpointProvider() { return m_endpointProvider; } @@ -164,12 +128,7 @@ void ServiceDiscoveryClient::init(const ServiceDiscovery::ServiceDiscoveryClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "servicediscovery"); -} - -void ServiceDiscoveryClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ServiceDiscoveryClient::InvokeOperationOutcome ServiceDiscoveryClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryClientConfiguration.cpp b/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryClientConfiguration.cpp new file mode 100644 index 000000000000..99f30536b096 --- /dev/null +++ b/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ServiceDiscovery { + +void ServiceDiscoveryClientConfiguration::LoadServiceDiscoverySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ServiceDiscoveryClientConfiguration::ServiceDiscoveryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadServiceDiscoverySpecificConfig(this->profileName); +} + +ServiceDiscoveryClientConfiguration::ServiceDiscoveryClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadServiceDiscoverySpecificConfig(Aws::String(inputProfileName)); +} + +ServiceDiscoveryClientConfiguration::ServiceDiscoveryClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadServiceDiscoverySpecificConfig(this->profileName); +} + +ServiceDiscoveryClientConfiguration::ServiceDiscoveryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadServiceDiscoverySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ServiceDiscoveryClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ServiceDiscovery +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryEndpointProvider.cpp b/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryEndpointProvider.cpp index 28b67ebefd0a..8d03ff588150 100644 --- a/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SERVICEDISCOVERY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ServiceDiscovery { namespace Endpoint { ServiceDiscoveryEndpointProvider::ServiceDiscoveryEndpointProvider() : ServiceDiscoveryDefaultEpProviderBase(Aws::ServiceDiscovery::ServiceDiscoveryEndpointRules::GetRulesBlob(), Aws::ServiceDiscovery::ServiceDiscoveryEndpointRules::RulesBlobSize) {} +void ServiceDiscoveryBuiltInParameters::SetFromClientConfiguration(const ServiceDiscoveryClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ServiceDiscoveryBuiltInParameters::SetFromClientConfiguration(const ServiceDiscoveryClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ServiceDiscoveryBuiltInParameters::SetServiceSpecificParameters(const ServiceDiscoveryClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ServiceDiscovery } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2Client.h b/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2Client.h index 7a62cde6eaec..e94099615461 100644 --- a/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2Client.h +++ b/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2Client.h @@ -59,27 +59,6 @@ class AWS_SESV2_API SESV2Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SESV2::SESV2ClientConfiguration& clientConfiguration = Aws::SESV2::SESV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SESV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SESV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SESV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SESV2Client(); /** @@ -3686,7 +3665,6 @@ class AWS_SESV2_API SESV2Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&SESV2Client::UpdateReputationEntityPolicy, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2ClientConfiguration.h new file mode 100644 index 000000000000..c7fd13cc67f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2ClientConfiguration.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SESV2 { +struct AWS_SESV2_API SESV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SESV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SESV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SESV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SESV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + + private: + void LoadSESV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SESV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SESV2ClientConfiguration& config); +} // namespace SESV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2EndpointProvider.h b/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2EndpointProvider.h index af83698ad614..4bd9af98091d 100644 --- a/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SESV2 { namespace Endpoint { +using SESV2ClientConfiguration = Aws::SESV2::SESV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SESV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SESV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using SESV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SESV2_API SESV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SESV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SESV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const SESV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SESV2ClientConfiguration& config); +}; /** * The type for the SESV2 Client Endpoint Provider. @@ -32,6 +41,22 @@ using SESV2EndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SESV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SESV2_EXTERN template class AWS_SESV2_API Aws::Endpoint::EndpointProviderBase< + SESV2::Endpoint::SESV2ClientConfiguration, SESV2::Endpoint::SESV2BuiltInParameters, SESV2::Endpoint::SESV2ClientContextParameters>; + +AWS_SESV2_EXTERN template class AWS_SESV2_API Aws::Endpoint::BDDEndpointProvider< + SESV2::Endpoint::SESV2ClientConfiguration, SESV2::Endpoint::SESV2BuiltInParameters, SESV2::Endpoint::SESV2ClientContextParameters>; +} // namespace Endpoint + +namespace SESV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2ServiceClientModel.h index 01f57f3db747..acd90302c290 100644 --- a/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2ServiceClientModel.h @@ -182,7 +182,6 @@ class RetryStrategy; } // namespace Client namespace SESV2 { -using SESV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using SESV2EndpointProviderBase = Aws::SESV2::Endpoint::SESV2EndpointProviderBase; using SESV2EndpointProvider = Aws::SESV2::Endpoint::SESV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sesv2/source/SESV2Client.cpp b/generated/src/aws-cpp-sdk-sesv2/source/SESV2Client.cpp index 4da147feb61f..f3fb84a7a818 100644 --- a/generated/src/aws-cpp-sdk-sesv2/source/SESV2Client.cpp +++ b/generated/src/aws-cpp-sdk-sesv2/source/SESV2Client.cpp @@ -195,43 +195,6 @@ SESV2Client::SESV2Client(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SESV2Client::SESV2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SESV2Client::SESV2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SESV2Client::SESV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SESV2Client::~SESV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& SESV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -249,12 +212,7 @@ void SESV2Client::init(const SESV2::SESV2ClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ses"); -} - -void SESV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SESV2Client::InvokeOperationOutcome SESV2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sesv2/source/SESV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sesv2/source/SESV2ClientConfiguration.cpp new file mode 100644 index 000000000000..f2533a3104bc --- /dev/null +++ b/generated/src/aws-cpp-sdk-sesv2/source/SESV2ClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SESV2 { + +void SESV2ClientConfiguration::LoadSESV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SESV2ClientConfiguration::SESV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSESV2SpecificConfig(this->profileName); +} + +SESV2ClientConfiguration::SESV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSESV2SpecificConfig(Aws::String(inputProfileName)); +} + +SESV2ClientConfiguration::SESV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSESV2SpecificConfig(this->profileName); +} + +SESV2ClientConfiguration::SESV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSESV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SESV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + +} // namespace SESV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sesv2/source/SESV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-sesv2/source/SESV2EndpointProvider.cpp index c20653b4f85e..44edbad38429 100644 --- a/generated/src/aws-cpp-sdk-sesv2/source/SESV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sesv2/source/SESV2EndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SESV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SESV2 { namespace Endpoint { SESV2EndpointProvider::SESV2EndpointProvider() : SESV2DefaultEpProviderBase(Aws::SESV2::SESV2EndpointRules::GetRulesBlob(), Aws::SESV2::SESV2EndpointRules::RulesBlobSize) {} +void SESV2BuiltInParameters::SetFromClientConfiguration(const SESV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SESV2BuiltInParameters::SetFromClientConfiguration(const SESV2ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SESV2BuiltInParameters::SetServiceSpecificParameters(const SESV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SESV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldClient.h b/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldClient.h index 17af77c9e15b..4ef3e77fff09 100644 --- a/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldClient.h +++ b/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldClient.h @@ -58,27 +58,6 @@ class AWS_SHIELD_API ShieldClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Shield::ShieldClientConfiguration& clientConfiguration = Aws::Shield::ShieldClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ShieldClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ShieldClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ShieldClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ShieldClient(); /** @@ -1188,7 +1167,6 @@ class AWS_SHIELD_API ShieldClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&ShieldClient::UpdateSubscription, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldClientConfiguration.h b/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldClientConfiguration.h new file mode 100644 index 000000000000..8eb8f6618102 --- /dev/null +++ b/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Shield { +struct AWS_SHIELD_API ShieldClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ShieldClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ShieldClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ShieldClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ShieldClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadShieldSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SHIELD_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const ShieldClientConfiguration& config); +} // namespace Shield +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldEndpointProvider.h b/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldEndpointProvider.h index 8c83b9f3219e..dfee283af21a 100644 --- a/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Shield { namespace Endpoint { +using ShieldClientConfiguration = Aws::Shield::ShieldClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ShieldClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ShieldClientConfiguration = Aws::Client::GenericClientConfiguration; -using ShieldBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SHIELD_API ShieldBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ShieldBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ShieldClientConfiguration& config); + virtual void SetFromClientConfiguration(const ShieldClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ShieldClientConfiguration& config); +}; /** * The type for the Shield Client Endpoint Provider. @@ -32,6 +41,24 @@ using ShieldEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Shield + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SHIELD_EXTERN template class AWS_SHIELD_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SHIELD_EXTERN template class AWS_SHIELD_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Shield { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldServiceClientModel.h b/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldServiceClientModel.h index 76897a717260..6addff809188 100644 --- a/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldServiceClientModel.h @@ -96,7 +96,6 @@ class RetryStrategy; } // namespace Client namespace Shield { -using ShieldClientConfiguration = Aws::Client::GenericClientConfiguration; using ShieldEndpointProviderBase = Aws::Shield::Endpoint::ShieldEndpointProviderBase; using ShieldEndpointProvider = Aws::Shield::Endpoint::ShieldEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-shield/source/ShieldClient.cpp b/generated/src/aws-cpp-sdk-shield/source/ShieldClient.cpp index 66f97c54e10c..eaf1de75b72f 100644 --- a/generated/src/aws-cpp-sdk-shield/source/ShieldClient.cpp +++ b/generated/src/aws-cpp-sdk-shield/source/ShieldClient.cpp @@ -112,41 +112,6 @@ ShieldClient::ShieldClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ShieldClient::ShieldClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ShieldClient::ShieldClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ShieldClient::ShieldClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ShieldClient::~ShieldClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ShieldClient::accessEndpointProvider() { return m_endpointProvider; } @@ -164,12 +129,7 @@ void ShieldClient::init(const Shield::ShieldClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "shield"); -} - -void ShieldClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ShieldClient::InvokeOperationOutcome ShieldClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-shield/source/ShieldClientConfiguration.cpp b/generated/src/aws-cpp-sdk-shield/source/ShieldClientConfiguration.cpp new file mode 100644 index 000000000000..b5aa7995a2ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-shield/source/ShieldClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Shield { + +void ShieldClientConfiguration::LoadShieldSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ShieldClientConfiguration::ShieldClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadShieldSpecificConfig(this->profileName); +} + +ShieldClientConfiguration::ShieldClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadShieldSpecificConfig(Aws::String(inputProfileName)); +} + +ShieldClientConfiguration::ShieldClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadShieldSpecificConfig(this->profileName); +} + +ShieldClientConfiguration::ShieldClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadShieldSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ShieldClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Shield +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-shield/source/ShieldEndpointProvider.cpp b/generated/src/aws-cpp-sdk-shield/source/ShieldEndpointProvider.cpp index eef3239c0c2e..0b4c0b0d5aa4 100644 --- a/generated/src/aws-cpp-sdk-shield/source/ShieldEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-shield/source/ShieldEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SHIELD_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Shield { namespace Endpoint { ShieldEndpointProvider::ShieldEndpointProvider() : ShieldDefaultEpProviderBase(Aws::Shield::ShieldEndpointRules::GetRulesBlob(), Aws::Shield::ShieldEndpointRules::RulesBlobSize) {} +void ShieldBuiltInParameters::SetFromClientConfiguration(const ShieldClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ShieldBuiltInParameters::SetFromClientConfiguration(const ShieldClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ShieldBuiltInParameters::SetServiceSpecificParameters(const ShieldClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Shield } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataClient.h b/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataClient.h index f6923892771e..b009754b4bd8 100644 --- a/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataClient.h +++ b/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataClient.h @@ -56,27 +56,6 @@ class AWS_SIGNERDATA_API SignerDataClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SignerData::SignerDataClientConfiguration& clientConfiguration = Aws::SignerData::SignerDataClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SignerDataClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SignerDataClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SignerDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SignerDataClient(); /** @@ -107,7 +86,6 @@ class AWS_SIGNERDATA_API SignerDataClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SignerDataClient::GetRevocationStatus, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataClientConfiguration.h b/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataClientConfiguration.h new file mode 100644 index 000000000000..37e2582160ac --- /dev/null +++ b/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SignerData { +struct AWS_SIGNERDATA_API SignerDataClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SignerDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SignerDataClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SignerDataClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SignerDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSignerDataSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SIGNERDATA_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SignerDataClientConfiguration& config); +} // namespace SignerData +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataEndpointProvider.h b/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataEndpointProvider.h index ce279aa3011a..a63543db2a00 100644 --- a/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SignerData { namespace Endpoint { +using SignerDataClientConfiguration = Aws::SignerData::SignerDataClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SignerDataClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SignerDataClientConfiguration = Aws::Client::GenericClientConfiguration; -using SignerDataBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SIGNERDATA_API SignerDataBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SignerDataBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SignerDataClientConfiguration& config); + virtual void SetFromClientConfiguration(const SignerDataClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SignerDataClientConfiguration& config); +}; /** * The type for the SignerData Client Endpoint Provider. @@ -34,6 +43,24 @@ using SignerDataEndpointProviderBase = using SignerDataDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SignerData + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SIGNERDATA_EXTERN template class AWS_SIGNERDATA_API Aws::Endpoint::EndpointProviderBase< + SignerData::Endpoint::SignerDataClientConfiguration, SignerData::Endpoint::SignerDataBuiltInParameters, + SignerData::Endpoint::SignerDataClientContextParameters>; + +AWS_SIGNERDATA_EXTERN template class AWS_SIGNERDATA_API Aws::Endpoint::BDDEndpointProvider< + SignerData::Endpoint::SignerDataClientConfiguration, SignerData::Endpoint::SignerDataBuiltInParameters, + SignerData::Endpoint::SignerDataClientContextParameters>; +} // namespace Endpoint + +namespace SignerData { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataServiceClientModel.h b/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataServiceClientModel.h index dc4877e2e8c2..af60baf36bf8 100644 --- a/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataServiceClientModel.h @@ -47,7 +47,6 @@ class RetryStrategy; } // namespace Client namespace SignerData { -using SignerDataClientConfiguration = Aws::Client::GenericClientConfiguration; using SignerDataEndpointProviderBase = Aws::SignerData::Endpoint::SignerDataEndpointProviderBase; using SignerDataEndpointProvider = Aws::SignerData::Endpoint::SignerDataEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-signer-data/source/SignerDataClient.cpp b/generated/src/aws-cpp-sdk-signer-data/source/SignerDataClient.cpp index c3147f271f39..1e0b528975a6 100644 --- a/generated/src/aws-cpp-sdk-signer-data/source/SignerDataClient.cpp +++ b/generated/src/aws-cpp-sdk-signer-data/source/SignerDataClient.cpp @@ -78,41 +78,6 @@ SignerDataClient::SignerDataClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SignerDataClient::SignerDataClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SignerDataClient::SignerDataClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SignerDataClient::SignerDataClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SignerDataClient::~SignerDataClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SignerDataClient::accessEndpointProvider() { return m_endpointProvider; } @@ -130,12 +95,7 @@ void SignerDataClient::init(const SignerData::SignerDataClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "signer"); -} - -void SignerDataClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SignerDataClient::InvokeOperationOutcome SignerDataClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-signer-data/source/SignerDataClientConfiguration.cpp b/generated/src/aws-cpp-sdk-signer-data/source/SignerDataClientConfiguration.cpp new file mode 100644 index 000000000000..630aa49e49fb --- /dev/null +++ b/generated/src/aws-cpp-sdk-signer-data/source/SignerDataClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SignerData { + +void SignerDataClientConfiguration::LoadSignerDataSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SignerDataClientConfiguration::SignerDataClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSignerDataSpecificConfig(this->profileName); +} + +SignerDataClientConfiguration::SignerDataClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSignerDataSpecificConfig(Aws::String(inputProfileName)); +} + +SignerDataClientConfiguration::SignerDataClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSignerDataSpecificConfig(this->profileName); +} + +SignerDataClientConfiguration::SignerDataClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSignerDataSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SignerDataClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SignerData +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-signer-data/source/SignerDataEndpointProvider.cpp b/generated/src/aws-cpp-sdk-signer-data/source/SignerDataEndpointProvider.cpp index e0e76c946c72..27415abd54ee 100644 --- a/generated/src/aws-cpp-sdk-signer-data/source/SignerDataEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-signer-data/source/SignerDataEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SIGNERDATA_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SignerData { namespace Endpoint { SignerDataEndpointProvider::SignerDataEndpointProvider() : SignerDataDefaultEpProviderBase(Aws::SignerData::SignerDataEndpointRules::GetRulesBlob(), Aws::SignerData::SignerDataEndpointRules::RulesBlobSize) {} +void SignerDataBuiltInParameters::SetFromClientConfiguration(const SignerDataClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SignerDataBuiltInParameters::SetFromClientConfiguration(const SignerDataClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SignerDataBuiltInParameters::SetServiceSpecificParameters(const SignerDataClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SignerData } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerClient.h b/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerClient.h index e3ad28dbb871..5060c5273dab 100644 --- a/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerClient.h +++ b/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerClient.h @@ -78,27 +78,6 @@ class AWS_SIGNER_API SignerClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::signer::SignerClientConfiguration& clientConfiguration = Aws::signer::SignerClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SignerClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SignerClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SignerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SignerClient(); /** @@ -663,7 +642,6 @@ class AWS_SIGNER_API SignerClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SignerClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerClientConfiguration.h b/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerClientConfiguration.h new file mode 100644 index 000000000000..83a44deae383 --- /dev/null +++ b/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace signer { +struct AWS_SIGNER_API SignerClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SignerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SignerClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SignerClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SignerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadsignerSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SIGNER_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SignerClientConfiguration& config); +} // namespace signer +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerEndpointProvider.h b/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerEndpointProvider.h index 2cb4a699f8f8..54cf4b0ad2bf 100644 --- a/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace signer { namespace Endpoint { +using SignerClientConfiguration = Aws::signer::SignerClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SignerClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SignerClientConfiguration = Aws::Client::GenericClientConfiguration; -using SignerBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SIGNER_API SignerBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SignerBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SignerClientConfiguration& config); + virtual void SetFromClientConfiguration(const SignerClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SignerClientConfiguration& config); +}; /** * The type for the signer Client Endpoint Provider. @@ -32,6 +41,24 @@ using SignerEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace signer + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SIGNER_EXTERN template class AWS_SIGNER_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SIGNER_EXTERN template class AWS_SIGNER_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace signer { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerServiceClientModel.h b/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerServiceClientModel.h index f1ed5d39f998..9a568fa4e73f 100644 --- a/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerServiceClientModel.h @@ -66,7 +66,6 @@ class RetryStrategy; } // namespace Client namespace signer { -using SignerClientConfiguration = Aws::Client::GenericClientConfiguration; using SignerEndpointProviderBase = Aws::signer::Endpoint::SignerEndpointProviderBase; using SignerEndpointProvider = Aws::signer::Endpoint::SignerEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-signer/source/SignerClient.cpp b/generated/src/aws-cpp-sdk-signer/source/SignerClient.cpp index 88ac6369a2d4..4e9bc9ce1cca 100644 --- a/generated/src/aws-cpp-sdk-signer/source/SignerClient.cpp +++ b/generated/src/aws-cpp-sdk-signer/source/SignerClient.cpp @@ -96,41 +96,6 @@ SignerClient::SignerClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SignerClient::SignerClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SignerClient::SignerClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SignerClient::SignerClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SignerClient::~SignerClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SignerClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +113,7 @@ void SignerClient::init(const signer::SignerClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "signer"); -} - -void SignerClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SignerClient::InvokeOperationOutcome SignerClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-signer/source/SignerClientConfiguration.cpp b/generated/src/aws-cpp-sdk-signer/source/SignerClientConfiguration.cpp new file mode 100644 index 000000000000..855584a054a1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-signer/source/SignerClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace signer { + +void SignerClientConfiguration::LoadsignerSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SignerClientConfiguration::SignerClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadsignerSpecificConfig(this->profileName); +} + +SignerClientConfiguration::SignerClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadsignerSpecificConfig(Aws::String(inputProfileName)); +} + +SignerClientConfiguration::SignerClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadsignerSpecificConfig(this->profileName); +} + +SignerClientConfiguration::SignerClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadsignerSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SignerClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace signer +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-signer/source/SignerEndpointProvider.cpp b/generated/src/aws-cpp-sdk-signer/source/SignerEndpointProvider.cpp index 9c49140c5f58..6fd2b5e6d62d 100644 --- a/generated/src/aws-cpp-sdk-signer/source/SignerEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-signer/source/SignerEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SIGNER_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace signer { namespace Endpoint { SignerEndpointProvider::SignerEndpointProvider() : SignerDefaultEpProviderBase(Aws::signer::SignerEndpointRules::GetRulesBlob(), Aws::signer::SignerEndpointRules::RulesBlobSize) {} +void SignerBuiltInParameters::SetFromClientConfiguration(const SignerClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SignerBuiltInParameters::SetFromClientConfiguration(const SignerClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SignerBuiltInParameters::SetServiceSpecificParameters(const SignerClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace signer } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninClient.h b/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninClient.h index bd0182414e1a..3e0371bbb554 100644 --- a/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninClient.h +++ b/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninClient.h @@ -53,27 +53,6 @@ class AWS_SIGNIN_API SigninClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Signin::SigninClientConfiguration& clientConfiguration = Aws::Signin::SigninClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SigninClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SigninClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SigninClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SigninClient(); /** @@ -431,7 +410,6 @@ class AWS_SIGNIN_API SigninClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SigninClient::RevokeOAuth2TokenWithIAM, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninClientConfiguration.h b/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninClientConfiguration.h new file mode 100644 index 000000000000..33f97a34561b --- /dev/null +++ b/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Signin { +struct AWS_SIGNIN_API SigninClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SigninClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SigninClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SigninClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SigninClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSigninSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SIGNIN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SigninClientConfiguration& config); +} // namespace Signin +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninEndpointProvider.h b/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninEndpointProvider.h index 858fe12269fc..187fe31163a2 100644 --- a/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Signin { namespace Endpoint { +using SigninClientConfiguration = Aws::Signin::SigninClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SigninClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SigninClientConfiguration = Aws::Client::GenericClientConfiguration; -using SigninBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SIGNIN_API SigninBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SigninBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SigninClientConfiguration& config); + virtual void SetFromClientConfiguration(const SigninClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SigninClientConfiguration& config); +}; /** * The type for the Signin Client Endpoint Provider. @@ -32,6 +41,24 @@ using SigninEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Signin + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SIGNIN_EXTERN template class AWS_SIGNIN_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SIGNIN_EXTERN template class AWS_SIGNIN_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Signin { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninServiceClientModel.h b/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninServiceClientModel.h index 0951a98a25a5..c554e795874b 100644 --- a/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninServiceClientModel.h @@ -64,7 +64,6 @@ class RetryStrategy; } // namespace Client namespace Signin { -using SigninClientConfiguration = Aws::Client::GenericClientConfiguration; using SigninEndpointProviderBase = Aws::Signin::Endpoint::SigninEndpointProviderBase; using SigninEndpointProvider = Aws::Signin::Endpoint::SigninEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-signin/source/SigninClient.cpp b/generated/src/aws-cpp-sdk-signin/source/SigninClient.cpp index b532fd4443ef..950eac22d60e 100644 --- a/generated/src/aws-cpp-sdk-signin/source/SigninClient.cpp +++ b/generated/src/aws-cpp-sdk-signin/source/SigninClient.cpp @@ -89,41 +89,6 @@ SigninClient::SigninClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SigninClient::SigninClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SigninClient::SigninClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SigninClient::SigninClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SigninClient::~SigninClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SigninClient::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +106,7 @@ void SigninClient::init(const Signin::SigninClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "signin"); -} - -void SigninClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SigninClient::InvokeOperationOutcome SigninClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-signin/source/SigninClientConfiguration.cpp b/generated/src/aws-cpp-sdk-signin/source/SigninClientConfiguration.cpp new file mode 100644 index 000000000000..a6063b9c3fc0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-signin/source/SigninClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Signin { + +void SigninClientConfiguration::LoadSigninSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SigninClientConfiguration::SigninClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSigninSpecificConfig(this->profileName); +} + +SigninClientConfiguration::SigninClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSigninSpecificConfig(Aws::String(inputProfileName)); +} + +SigninClientConfiguration::SigninClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSigninSpecificConfig(this->profileName); +} + +SigninClientConfiguration::SigninClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSigninSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SigninClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Signin +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-signin/source/SigninEndpointProvider.cpp b/generated/src/aws-cpp-sdk-signin/source/SigninEndpointProvider.cpp index e2a8ec99a2c2..40758bf4f41c 100644 --- a/generated/src/aws-cpp-sdk-signin/source/SigninEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-signin/source/SigninEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SIGNIN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Signin { namespace Endpoint { SigninEndpointProvider::SigninEndpointProvider() : SigninDefaultEpProviderBase(Aws::Signin::SigninEndpointRules::GetRulesBlob(), Aws::Signin::SigninEndpointRules::RulesBlobSize) {} +void SigninBuiltInParameters::SetFromClientConfiguration(const SigninClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SigninBuiltInParameters::SetFromClientConfiguration(const SigninClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SigninBuiltInParameters::SetServiceSpecificParameters(const SigninClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Signin } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2Client.h b/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2Client.h index 4c51bc7472e2..76977b1e9cb8 100644 --- a/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2Client.h +++ b/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2Client.h @@ -66,27 +66,6 @@ class AWS_SIMPLEDBV2_API SimpleDBv2Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SimpleDBv2::SimpleDBv2ClientConfiguration& clientConfiguration = Aws::SimpleDBv2::SimpleDBv2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SimpleDBv2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SimpleDBv2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SimpleDBv2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SimpleDBv2Client(); /** @@ -169,7 +148,6 @@ class AWS_SIMPLEDBV2_API SimpleDBv2Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&SimpleDBv2Client::StartDomainExport, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2ClientConfiguration.h b/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2ClientConfiguration.h new file mode 100644 index 000000000000..ffaba333e63e --- /dev/null +++ b/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SimpleDBv2 { +struct AWS_SIMPLEDBV2_API SimpleDBv2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SimpleDBv2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SimpleDBv2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SimpleDBv2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SimpleDBv2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSimpleDBv2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SIMPLEDBV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SimpleDBv2ClientConfiguration& config); +} // namespace SimpleDBv2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2EndpointProvider.h b/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2EndpointProvider.h index c77d1fee67e3..d5b33fee81e6 100644 --- a/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SimpleDBv2 { namespace Endpoint { +using SimpleDBv2ClientConfiguration = Aws::SimpleDBv2::SimpleDBv2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SimpleDBv2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SimpleDBv2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using SimpleDBv2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SIMPLEDBV2_API SimpleDBv2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SimpleDBv2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SimpleDBv2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const SimpleDBv2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SimpleDBv2ClientConfiguration& config); +}; /** * The type for the SimpleDBv2 Client Endpoint Provider. @@ -34,6 +43,24 @@ using SimpleDBv2EndpointProviderBase = using SimpleDBv2DefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SimpleDBv2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SIMPLEDBV2_EXTERN template class AWS_SIMPLEDBV2_API Aws::Endpoint::EndpointProviderBase< + SimpleDBv2::Endpoint::SimpleDBv2ClientConfiguration, SimpleDBv2::Endpoint::SimpleDBv2BuiltInParameters, + SimpleDBv2::Endpoint::SimpleDBv2ClientContextParameters>; + +AWS_SIMPLEDBV2_EXTERN template class AWS_SIMPLEDBV2_API Aws::Endpoint::BDDEndpointProvider< + SimpleDBv2::Endpoint::SimpleDBv2ClientConfiguration, SimpleDBv2::Endpoint::SimpleDBv2BuiltInParameters, + SimpleDBv2::Endpoint::SimpleDBv2ClientContextParameters>; +} // namespace Endpoint + +namespace SimpleDBv2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2ServiceClientModel.h b/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2ServiceClientModel.h index f0df279c1151..5df3f6a6ecae 100644 --- a/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2ServiceClientModel.h @@ -50,7 +50,6 @@ class RetryStrategy; } // namespace Client namespace SimpleDBv2 { -using SimpleDBv2ClientConfiguration = Aws::Client::GenericClientConfiguration; using SimpleDBv2EndpointProviderBase = Aws::SimpleDBv2::Endpoint::SimpleDBv2EndpointProviderBase; using SimpleDBv2EndpointProvider = Aws::SimpleDBv2::Endpoint::SimpleDBv2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2Client.cpp b/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2Client.cpp index 96a922a5045d..4c5e6e2cef8c 100644 --- a/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2Client.cpp +++ b/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2Client.cpp @@ -80,41 +80,6 @@ SimpleDBv2Client::SimpleDBv2Client(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SimpleDBv2Client::SimpleDBv2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SimpleDBv2Client::SimpleDBv2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SimpleDBv2Client::SimpleDBv2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SimpleDBv2Client::~SimpleDBv2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& SimpleDBv2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -132,12 +97,7 @@ void SimpleDBv2Client::init(const SimpleDBv2::SimpleDBv2ClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sdb"); -} - -void SimpleDBv2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SimpleDBv2Client::InvokeOperationOutcome SimpleDBv2Client::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2ClientConfiguration.cpp new file mode 100644 index 000000000000..abf8380f0777 --- /dev/null +++ b/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SimpleDBv2 { + +void SimpleDBv2ClientConfiguration::LoadSimpleDBv2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SimpleDBv2ClientConfiguration::SimpleDBv2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSimpleDBv2SpecificConfig(this->profileName); +} + +SimpleDBv2ClientConfiguration::SimpleDBv2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSimpleDBv2SpecificConfig(Aws::String(inputProfileName)); +} + +SimpleDBv2ClientConfiguration::SimpleDBv2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSimpleDBv2SpecificConfig(this->profileName); +} + +SimpleDBv2ClientConfiguration::SimpleDBv2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSimpleDBv2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SimpleDBv2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SimpleDBv2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2EndpointProvider.cpp index ce99d0b3ac3c..a076fdad3141 100644 --- a/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2EndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SIMPLEDBV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SimpleDBv2 { namespace Endpoint { SimpleDBv2EndpointProvider::SimpleDBv2EndpointProvider() : SimpleDBv2DefaultEpProviderBase(Aws::SimpleDBv2::SimpleDBv2EndpointRules::GetRulesBlob(), Aws::SimpleDBv2::SimpleDBv2EndpointRules::RulesBlobSize) {} +void SimpleDBv2BuiltInParameters::SetFromClientConfiguration(const SimpleDBv2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SimpleDBv2BuiltInParameters::SetFromClientConfiguration(const SimpleDBv2ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SimpleDBv2BuiltInParameters::SetServiceSpecificParameters(const SimpleDBv2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SimpleDBv2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceClient.h b/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceClient.h index 2f4852473722..bbcb43c60083 100644 --- a/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceClient.h +++ b/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceClient.h @@ -56,27 +56,6 @@ class AWS_PINPOINTSMSVOICE_API PinpointSMSVoiceClient : public Aws::Client::AWSJ const Aws::PinpointSMSVoice::PinpointSMSVoiceClientConfiguration& clientConfiguration = Aws::PinpointSMSVoice::PinpointSMSVoiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - PinpointSMSVoiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - PinpointSMSVoiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - PinpointSMSVoiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~PinpointSMSVoiceClient(); /** @@ -311,7 +290,6 @@ class AWS_PINPOINTSMSVOICE_API PinpointSMSVoiceClient : public Aws::Client::AWSJ return SubmitAsync(&PinpointSMSVoiceClient::UpdateConfigurationSetEventDestination, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceClientConfiguration.h b/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceClientConfiguration.h new file mode 100644 index 000000000000..ac169473f5f0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace PinpointSMSVoice { +struct AWS_PINPOINTSMSVOICE_API PinpointSMSVoiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + PinpointSMSVoiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PinpointSMSVoiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + PinpointSMSVoiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit PinpointSMSVoiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadPinpointSMSVoiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_PINPOINTSMSVOICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const PinpointSMSVoiceClientConfiguration& config); +} // namespace PinpointSMSVoice +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceEndpointProvider.h b/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceEndpointProvider.h index 9fe33f3c2c1b..460fd9d4fb8c 100644 --- a/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace PinpointSMSVoice { namespace Endpoint { +using PinpointSMSVoiceClientConfiguration = Aws::PinpointSMSVoice::PinpointSMSVoiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using PinpointSMSVoiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using PinpointSMSVoiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using PinpointSMSVoiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_PINPOINTSMSVOICE_API PinpointSMSVoiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~PinpointSMSVoiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const PinpointSMSVoiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const PinpointSMSVoiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const PinpointSMSVoiceClientConfiguration& config); +}; /** * The type for the PinpointSMSVoice Client Endpoint Provider. @@ -34,6 +43,24 @@ using PinpointSMSVoiceEndpointProviderBase = using PinpointSMSVoiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace PinpointSMSVoice + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_PINPOINTSMSVOICE_EXTERN template class AWS_PINPOINTSMSVOICE_API Aws::Endpoint::EndpointProviderBase< + PinpointSMSVoice::Endpoint::PinpointSMSVoiceClientConfiguration, PinpointSMSVoice::Endpoint::PinpointSMSVoiceBuiltInParameters, + PinpointSMSVoice::Endpoint::PinpointSMSVoiceClientContextParameters>; + +AWS_PINPOINTSMSVOICE_EXTERN template class AWS_PINPOINTSMSVOICE_API Aws::Endpoint::BDDEndpointProvider< + PinpointSMSVoice::Endpoint::PinpointSMSVoiceClientConfiguration, PinpointSMSVoice::Endpoint::PinpointSMSVoiceBuiltInParameters, + PinpointSMSVoice::Endpoint::PinpointSMSVoiceClientContextParameters>; +} // namespace Endpoint + +namespace PinpointSMSVoice { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceServiceClientModel.h b/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceServiceClientModel.h index 08e7e04c4c5e..0cef07168dc0 100644 --- a/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceServiceClientModel.h @@ -57,7 +57,6 @@ class RetryStrategy; } // namespace Client namespace PinpointSMSVoice { -using PinpointSMSVoiceClientConfiguration = Aws::Client::GenericClientConfiguration; using PinpointSMSVoiceEndpointProviderBase = Aws::PinpointSMSVoice::Endpoint::PinpointSMSVoiceEndpointProviderBase; using PinpointSMSVoiceEndpointProvider = Aws::PinpointSMSVoice::Endpoint::PinpointSMSVoiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceClient.cpp b/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceClient.cpp index 982a55d72d1e..9cf85532d9fa 100644 --- a/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceClient.cpp +++ b/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceClient.cpp @@ -89,42 +89,6 @@ PinpointSMSVoiceClient::PinpointSMSVoiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PinpointSMSVoiceClient::PinpointSMSVoiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -PinpointSMSVoiceClient::PinpointSMSVoiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ PinpointSMSVoiceClient::~PinpointSMSVoiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& PinpointSMSVoiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +106,7 @@ void PinpointSMSVoiceClient::init(const PinpointSMSVoice::PinpointSMSVoiceClient AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sms-voice"); -} - -void PinpointSMSVoiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } PinpointSMSVoiceClient::InvokeOperationOutcome PinpointSMSVoiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceClientConfiguration.cpp new file mode 100644 index 000000000000..ecf2ae0c4575 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace PinpointSMSVoice { + +void PinpointSMSVoiceClientConfiguration::LoadPinpointSMSVoiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +PinpointSMSVoiceClientConfiguration::PinpointSMSVoiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadPinpointSMSVoiceSpecificConfig(this->profileName); +} + +PinpointSMSVoiceClientConfiguration::PinpointSMSVoiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadPinpointSMSVoiceSpecificConfig(Aws::String(inputProfileName)); +} + +PinpointSMSVoiceClientConfiguration::PinpointSMSVoiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadPinpointSMSVoiceSpecificConfig(this->profileName); +} + +PinpointSMSVoiceClientConfiguration::PinpointSMSVoiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadPinpointSMSVoiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const PinpointSMSVoiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace PinpointSMSVoice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceEndpointProvider.cpp index cef47efd8cba..d29c3579fabb 100644 --- a/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_PINPOINTSMSVOICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace PinpointSMSVoice { namespace Endpoint { PinpointSMSVoiceEndpointProvider::PinpointSMSVoiceEndpointProvider() : PinpointSMSVoiceDefaultEpProviderBase(Aws::PinpointSMSVoice::PinpointSMSVoiceEndpointRules::GetRulesBlob(), Aws::PinpointSMSVoice::PinpointSMSVoiceEndpointRules::RulesBlobSize) {} +void PinpointSMSVoiceBuiltInParameters::SetFromClientConfiguration(const PinpointSMSVoiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void PinpointSMSVoiceBuiltInParameters::SetFromClientConfiguration(const PinpointSMSVoiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void PinpointSMSVoiceBuiltInParameters::SetServiceSpecificParameters(const PinpointSMSVoiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace PinpointSMSVoice } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementClient.h b/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementClient.h index 0094fc5b94cf..a0fdd4f26bca 100644 --- a/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementClient.h +++ b/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementClient.h @@ -57,27 +57,6 @@ class AWS_SNOWDEVICEMANAGEMENT_API SnowDeviceManagementClient const Aws::SnowDeviceManagement::SnowDeviceManagementClientConfiguration& clientConfiguration = Aws::SnowDeviceManagement::SnowDeviceManagementClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SnowDeviceManagementClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SnowDeviceManagementClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SnowDeviceManagementClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SnowDeviceManagementClient(); /** @@ -432,7 +411,6 @@ class AWS_SNOWDEVICEMANAGEMENT_API SnowDeviceManagementClient return SubmitAsync(&SnowDeviceManagementClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementClientConfiguration.h b/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementClientConfiguration.h new file mode 100644 index 000000000000..ba8fdf49e839 --- /dev/null +++ b/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SnowDeviceManagement { +struct AWS_SNOWDEVICEMANAGEMENT_API SnowDeviceManagementClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SnowDeviceManagementClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SnowDeviceManagementClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SnowDeviceManagementClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SnowDeviceManagementClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSnowDeviceManagementSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SNOWDEVICEMANAGEMENT_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const SnowDeviceManagementClientConfiguration& config); +} // namespace SnowDeviceManagement +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementEndpointProvider.h b/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementEndpointProvider.h index 763fa90b1fbb..d23b534cfc13 100644 --- a/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SnowDeviceManagement { namespace Endpoint { +using SnowDeviceManagementClientConfiguration = Aws::SnowDeviceManagement::SnowDeviceManagementClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SnowDeviceManagementClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SnowDeviceManagementClientConfiguration = Aws::Client::GenericClientConfiguration; -using SnowDeviceManagementBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SNOWDEVICEMANAGEMENT_API SnowDeviceManagementBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SnowDeviceManagementBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SnowDeviceManagementClientConfiguration& config); + virtual void SetFromClientConfiguration(const SnowDeviceManagementClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SnowDeviceManagementClientConfiguration& config); +}; /** * The type for the SnowDeviceManagement Client Endpoint Provider. @@ -36,6 +45,26 @@ using SnowDeviceManagementDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SnowDeviceManagement + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SNOWDEVICEMANAGEMENT_EXTERN template class AWS_SNOWDEVICEMANAGEMENT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SNOWDEVICEMANAGEMENT_EXTERN template class AWS_SNOWDEVICEMANAGEMENT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SnowDeviceManagement { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementServiceClientModel.h b/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementServiceClientModel.h index b393f5101cf7..bbdbd0aa2c6e 100644 --- a/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace SnowDeviceManagement { -using SnowDeviceManagementClientConfiguration = Aws::Client::GenericClientConfiguration; using SnowDeviceManagementEndpointProviderBase = Aws::SnowDeviceManagement::Endpoint::SnowDeviceManagementEndpointProviderBase; using SnowDeviceManagementEndpointProvider = Aws::SnowDeviceManagement::Endpoint::SnowDeviceManagementEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementClient.cpp b/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementClient.cpp index 70545415b063..19edccca798c 100644 --- a/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementClient.cpp +++ b/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementClient.cpp @@ -96,42 +96,6 @@ SnowDeviceManagementClient::SnowDeviceManagementClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SnowDeviceManagementClient::SnowDeviceManagementClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SnowDeviceManagementClient::SnowDeviceManagementClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SnowDeviceManagementClient::SnowDeviceManagementClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SnowDeviceManagementClient::~SnowDeviceManagementClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SnowDeviceManagementClient::accessEndpointProvider() { @@ -151,12 +115,7 @@ void SnowDeviceManagementClient::init(const SnowDeviceManagement::SnowDeviceMana AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "snow-device-management"); -} - -void SnowDeviceManagementClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SnowDeviceManagementClient::InvokeOperationOutcome SnowDeviceManagementClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementClientConfiguration.cpp b/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementClientConfiguration.cpp new file mode 100644 index 000000000000..e83813d76c2e --- /dev/null +++ b/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SnowDeviceManagement { + +void SnowDeviceManagementClientConfiguration::LoadSnowDeviceManagementSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SnowDeviceManagementClientConfiguration::SnowDeviceManagementClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSnowDeviceManagementSpecificConfig(this->profileName); +} + +SnowDeviceManagementClientConfiguration::SnowDeviceManagementClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSnowDeviceManagementSpecificConfig(Aws::String(inputProfileName)); +} + +SnowDeviceManagementClientConfiguration::SnowDeviceManagementClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSnowDeviceManagementSpecificConfig(this->profileName); +} + +SnowDeviceManagementClientConfiguration::SnowDeviceManagementClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSnowDeviceManagementSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SnowDeviceManagementClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SnowDeviceManagement +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementEndpointProvider.cpp b/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementEndpointProvider.cpp index 2cdcfd6dc3d4..340da230f555 100644 --- a/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SNOWDEVICEMANAGEMENT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SnowDeviceManagement { namespace Endpoint { SnowDeviceManagementEndpointProvider::SnowDeviceManagementEndpointProvider() : SnowDeviceManagementDefaultEpProviderBase(Aws::SnowDeviceManagement::SnowDeviceManagementEndpointRules::GetRulesBlob(), Aws::SnowDeviceManagement::SnowDeviceManagementEndpointRules::RulesBlobSize) {} +void SnowDeviceManagementBuiltInParameters::SetFromClientConfiguration(const SnowDeviceManagementClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SnowDeviceManagementBuiltInParameters::SetFromClientConfiguration(const SnowDeviceManagementClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SnowDeviceManagementBuiltInParameters::SetServiceSpecificParameters(const SnowDeviceManagementClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SnowDeviceManagement } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballClient.h b/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballClient.h index c660f486226b..2bdd36c39609 100644 --- a/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballClient.h +++ b/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballClient.h @@ -62,27 +62,6 @@ class AWS_SNOWBALL_API SnowballClient : public Aws::Client::AWSRpcV2CborClient, std::shared_ptr endpointProvider = nullptr, const Aws::Snowball::SnowballClientConfiguration& clientConfiguration = Aws::Snowball::SnowballClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SnowballClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SnowballClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SnowballClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SnowballClient(); /** @@ -912,7 +891,6 @@ class AWS_SNOWBALL_API SnowballClient : public Aws::Client::AWSRpcV2CborClient, return SubmitAsync(&SnowballClient::UpdateLongTermPricing, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballClientConfiguration.h b/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballClientConfiguration.h new file mode 100644 index 000000000000..342573ac26cd --- /dev/null +++ b/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Snowball { +struct AWS_SNOWBALL_API SnowballClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SnowballClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SnowballClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SnowballClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SnowballClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSnowballSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SNOWBALL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SnowballClientConfiguration& config); +} // namespace Snowball +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballEndpointProvider.h b/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballEndpointProvider.h index 9bbb45a7468b..683238efd441 100644 --- a/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Snowball { namespace Endpoint { +using SnowballClientConfiguration = Aws::Snowball::SnowballClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SnowballClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SnowballClientConfiguration = Aws::Client::GenericClientConfiguration; -using SnowballBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SNOWBALL_API SnowballBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SnowballBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SnowballClientConfiguration& config); + virtual void SetFromClientConfiguration(const SnowballClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SnowballClientConfiguration& config); +}; /** * The type for the Snowball Client Endpoint Provider. @@ -34,6 +43,24 @@ using SnowballEndpointProviderBase = using SnowballDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Snowball + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SNOWBALL_EXTERN template class AWS_SNOWBALL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SNOWBALL_EXTERN template class AWS_SNOWBALL_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Snowball { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballServiceClientModel.h b/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballServiceClientModel.h index c801db5fabf7..a4903f71ed20 100644 --- a/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballServiceClientModel.h @@ -81,7 +81,6 @@ class RetryStrategy; } // namespace Client namespace Snowball { -using SnowballClientConfiguration = Aws::Client::GenericClientConfiguration; using SnowballEndpointProviderBase = Aws::Snowball::Endpoint::SnowballEndpointProviderBase; using SnowballEndpointProvider = Aws::Snowball::Endpoint::SnowballEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-snowball/source/SnowballClient.cpp b/generated/src/aws-cpp-sdk-snowball/source/SnowballClient.cpp index 816e9af6ef91..d7ac215a8802 100644 --- a/generated/src/aws-cpp-sdk-snowball/source/SnowballClient.cpp +++ b/generated/src/aws-cpp-sdk-snowball/source/SnowballClient.cpp @@ -104,41 +104,6 @@ SnowballClient::SnowballClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SnowballClient::SnowballClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SnowballClient::SnowballClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SnowballClient::SnowballClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SnowballClient::~SnowballClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SnowballClient::accessEndpointProvider() { return m_endpointProvider; } @@ -156,12 +121,7 @@ void SnowballClient::init(const Snowball::SnowballClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "snowball"); -} - -void SnowballClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SnowballClient::InvokeOperationOutcome SnowballClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-snowball/source/SnowballClientConfiguration.cpp b/generated/src/aws-cpp-sdk-snowball/source/SnowballClientConfiguration.cpp new file mode 100644 index 000000000000..8497e1df4173 --- /dev/null +++ b/generated/src/aws-cpp-sdk-snowball/source/SnowballClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Snowball { + +void SnowballClientConfiguration::LoadSnowballSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SnowballClientConfiguration::SnowballClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSnowballSpecificConfig(this->profileName); +} + +SnowballClientConfiguration::SnowballClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSnowballSpecificConfig(Aws::String(inputProfileName)); +} + +SnowballClientConfiguration::SnowballClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSnowballSpecificConfig(this->profileName); +} + +SnowballClientConfiguration::SnowballClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSnowballSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SnowballClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Snowball +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-snowball/source/SnowballEndpointProvider.cpp b/generated/src/aws-cpp-sdk-snowball/source/SnowballEndpointProvider.cpp index 09f44ecfd3ba..d8ee17e3ce51 100644 --- a/generated/src/aws-cpp-sdk-snowball/source/SnowballEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-snowball/source/SnowballEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SNOWBALL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Snowball { namespace Endpoint { SnowballEndpointProvider::SnowballEndpointProvider() : SnowballDefaultEpProviderBase(Aws::Snowball::SnowballEndpointRules::GetRulesBlob(), Aws::Snowball::SnowballEndpointRules::RulesBlobSize) {} +void SnowballBuiltInParameters::SetFromClientConfiguration(const SnowballClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SnowballBuiltInParameters::SetFromClientConfiguration(const SnowballClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SnowballBuiltInParameters::SetServiceSpecificParameters(const SnowballClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Snowball } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSClient.h b/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSClient.h index a3eb4ae97795..65cf8a296bf3 100644 --- a/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSClient.h +++ b/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSClient.h @@ -70,27 +70,6 @@ class AWS_SNS_API SNSClient : public Aws::Client::AWSXMLClient, std::shared_ptr endpointProvider = nullptr, const Aws::SNS::SNSClientConfiguration& clientConfiguration = Aws::SNS::SNSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SNSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SNSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SNSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SNSClient(); /** @@ -1542,7 +1521,6 @@ class AWS_SNS_API SNSClient : public Aws::Client::AWSXMLClient, return SubmitAsync(&SNSClient::VerifySMSSandboxPhoneNumber, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSClientConfiguration.h b/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSClientConfiguration.h new file mode 100644 index 000000000000..5b4d8df64ebd --- /dev/null +++ b/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SNS { +struct AWS_SNS_API SNSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SNSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SNSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SNSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SNSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSNSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SNS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SNSClientConfiguration& config); +} // namespace SNS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSEndpointProvider.h b/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSEndpointProvider.h index 171fce239f9a..0a8901c291e8 100644 --- a/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SNS { namespace Endpoint { +using SNSClientConfiguration = Aws::SNS::SNSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SNSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SNSClientConfiguration = Aws::Client::GenericClientConfiguration; -using SNSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SNS_API SNSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SNSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SNSClientConfiguration& config); + virtual void SetFromClientConfiguration(const SNSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SNSClientConfiguration& config); +}; /** * The type for the SNS Client Endpoint Provider. @@ -32,6 +41,22 @@ using SNSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SNS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SNS_EXTERN template class AWS_SNS_API Aws::Endpoint::EndpointProviderBase< + SNS::Endpoint::SNSClientConfiguration, SNS::Endpoint::SNSBuiltInParameters, SNS::Endpoint::SNSClientContextParameters>; + +AWS_SNS_EXTERN template class AWS_SNS_API Aws::Endpoint::BDDEndpointProvider< + SNS::Endpoint::SNSClientConfiguration, SNS::Endpoint::SNSBuiltInParameters, SNS::Endpoint::SNSClientContextParameters>; +} // namespace Endpoint + +namespace SNS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSServiceClientModel.h b/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSServiceClientModel.h index 0a9d266673ee..dd0522f12f06 100644 --- a/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSServiceClientModel.h @@ -86,7 +86,6 @@ class RetryStrategy; } // namespace Client namespace SNS { -using SNSClientConfiguration = Aws::Client::GenericClientConfiguration; using SNSEndpointProviderBase = Aws::SNS::Endpoint::SNSEndpointProviderBase; using SNSEndpointProvider = Aws::SNS::Endpoint::SNSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sns/source/SNSClient.cpp b/generated/src/aws-cpp-sdk-sns/source/SNSClient.cpp index b332e0966360..0d81888fdaf6 100644 --- a/generated/src/aws-cpp-sdk-sns/source/SNSClient.cpp +++ b/generated/src/aws-cpp-sdk-sns/source/SNSClient.cpp @@ -117,41 +117,6 @@ SNSClient::SNSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SNSClient::SNSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SNSClient::SNSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SNSClient::SNSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SNSClient::~SNSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SNSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -169,12 +134,7 @@ void SNSClient::init(const SNS::SNSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sns"); -} - -void SNSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } Aws::String SNSClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const { diff --git a/generated/src/aws-cpp-sdk-sns/source/SNSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sns/source/SNSClientConfiguration.cpp new file mode 100644 index 000000000000..853eed4b682f --- /dev/null +++ b/generated/src/aws-cpp-sdk-sns/source/SNSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SNS { + +void SNSClientConfiguration::LoadSNSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SNSClientConfiguration::SNSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSNSSpecificConfig(this->profileName); +} + +SNSClientConfiguration::SNSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSNSSpecificConfig(Aws::String(inputProfileName)); +} + +SNSClientConfiguration::SNSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSNSSpecificConfig(this->profileName); +} + +SNSClientConfiguration::SNSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadSNSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SNSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SNS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sns/source/SNSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sns/source/SNSEndpointProvider.cpp index 422c4906c458..fbcc96e7434e 100644 --- a/generated/src/aws-cpp-sdk-sns/source/SNSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sns/source/SNSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SNS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SNS { namespace Endpoint { SNSEndpointProvider::SNSEndpointProvider() : SNSDefaultEpProviderBase(Aws::SNS::SNSEndpointRules::GetRulesBlob(), Aws::SNS::SNSEndpointRules::RulesBlobSize) {} +void SNSBuiltInParameters::SetFromClientConfiguration(const SNSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SNSBuiltInParameters::SetFromClientConfiguration(const SNSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SNSBuiltInParameters::SetServiceSpecificParameters(const SNSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SNS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingClient.h b/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingClient.h index 84d6015ec5c9..86dfe8029be0 100644 --- a/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingClient.h +++ b/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingClient.h @@ -94,27 +94,6 @@ class AWS_SOCIALMESSAGING_API SocialMessagingClient : public Aws::Client::AWSJso const Aws::SocialMessaging::SocialMessagingClientConfiguration& clientConfiguration = Aws::SocialMessaging::SocialMessagingClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SocialMessagingClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SocialMessagingClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SocialMessagingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SocialMessagingClient(); /** @@ -1241,7 +1220,6 @@ class AWS_SOCIALMESSAGING_API SocialMessagingClient : public Aws::Client::AWSJso return SubmitAsync(&SocialMessagingClient::UpdateWhatsAppMessageTemplate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingClientConfiguration.h b/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingClientConfiguration.h new file mode 100644 index 000000000000..56eb040bf4c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SocialMessaging { +struct AWS_SOCIALMESSAGING_API SocialMessagingClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SocialMessagingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SocialMessagingClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SocialMessagingClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SocialMessagingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSocialMessagingSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SOCIALMESSAGING_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SocialMessagingClientConfiguration& config); +} // namespace SocialMessaging +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingEndpointProvider.h b/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingEndpointProvider.h index a86bf6481fff..6e1c43ba1544 100644 --- a/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SocialMessaging { namespace Endpoint { +using SocialMessagingClientConfiguration = Aws::SocialMessaging::SocialMessagingClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SocialMessagingClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SocialMessagingClientConfiguration = Aws::Client::GenericClientConfiguration; -using SocialMessagingBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SOCIALMESSAGING_API SocialMessagingBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SocialMessagingBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SocialMessagingClientConfiguration& config); + virtual void SetFromClientConfiguration(const SocialMessagingClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SocialMessagingClientConfiguration& config); +}; /** * The type for the SocialMessaging Client Endpoint Provider. @@ -34,6 +43,24 @@ using SocialMessagingEndpointProviderBase = using SocialMessagingDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SocialMessaging + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SOCIALMESSAGING_EXTERN template class AWS_SOCIALMESSAGING_API Aws::Endpoint::EndpointProviderBase< + SocialMessaging::Endpoint::SocialMessagingClientConfiguration, SocialMessaging::Endpoint::SocialMessagingBuiltInParameters, + SocialMessaging::Endpoint::SocialMessagingClientContextParameters>; + +AWS_SOCIALMESSAGING_EXTERN template class AWS_SOCIALMESSAGING_API Aws::Endpoint::BDDEndpointProvider< + SocialMessaging::Endpoint::SocialMessagingClientConfiguration, SocialMessaging::Endpoint::SocialMessagingBuiltInParameters, + SocialMessaging::Endpoint::SocialMessagingClientContextParameters>; +} // namespace Endpoint + +namespace SocialMessaging { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingServiceClientModel.h b/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingServiceClientModel.h index dfaf7b80f3f3..3342d07bf4d4 100644 --- a/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingServiceClientModel.h @@ -86,7 +86,6 @@ class RetryStrategy; } // namespace Client namespace SocialMessaging { -using SocialMessagingClientConfiguration = Aws::Client::GenericClientConfiguration; using SocialMessagingEndpointProviderBase = Aws::SocialMessaging::Endpoint::SocialMessagingEndpointProviderBase; using SocialMessagingEndpointProvider = Aws::SocialMessaging::Endpoint::SocialMessagingEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingClient.cpp b/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingClient.cpp index a10457fdd53c..2b67d79bf542 100644 --- a/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingClient.cpp +++ b/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingClient.cpp @@ -119,41 +119,6 @@ SocialMessagingClient::SocialMessagingClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SocialMessagingClient::SocialMessagingClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SocialMessagingClient::SocialMessagingClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SocialMessagingClient::~SocialMessagingClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SocialMessagingClient::accessEndpointProvider() { return m_endpointProvider; } @@ -171,12 +136,7 @@ void SocialMessagingClient::init(const SocialMessaging::SocialMessagingClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "social-messaging"); -} - -void SocialMessagingClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SocialMessagingClient::InvokeOperationOutcome SocialMessagingClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingClientConfiguration.cpp b/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingClientConfiguration.cpp new file mode 100644 index 000000000000..9ddfd3e6c228 --- /dev/null +++ b/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SocialMessaging { + +void SocialMessagingClientConfiguration::LoadSocialMessagingSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SocialMessagingClientConfiguration::SocialMessagingClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSocialMessagingSpecificConfig(this->profileName); +} + +SocialMessagingClientConfiguration::SocialMessagingClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSocialMessagingSpecificConfig(Aws::String(inputProfileName)); +} + +SocialMessagingClientConfiguration::SocialMessagingClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSocialMessagingSpecificConfig(this->profileName); +} + +SocialMessagingClientConfiguration::SocialMessagingClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSocialMessagingSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SocialMessagingClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SocialMessaging +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingEndpointProvider.cpp b/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingEndpointProvider.cpp index 028982c56ff3..847d7df4d3d3 100644 --- a/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SOCIALMESSAGING_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SocialMessaging { namespace Endpoint { SocialMessagingEndpointProvider::SocialMessagingEndpointProvider() : SocialMessagingDefaultEpProviderBase(Aws::SocialMessaging::SocialMessagingEndpointRules::GetRulesBlob(), Aws::SocialMessaging::SocialMessagingEndpointRules::RulesBlobSize) {} +void SocialMessagingBuiltInParameters::SetFromClientConfiguration(const SocialMessagingClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SocialMessagingBuiltInParameters::SetFromClientConfiguration(const SocialMessagingClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SocialMessagingBuiltInParameters::SetServiceSpecificParameters(const SocialMessagingClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SocialMessaging } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSClient.h b/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSClient.h index 44b47404eb34..9dad23aa7b03 100644 --- a/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSClient.h +++ b/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSClient.h @@ -76,27 +76,6 @@ class AWS_SQS_API SQSClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SQS::SQSClientConfiguration& clientConfiguration = Aws::SQS::SQSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SQSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SQSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SQSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SQSClient(); /** @@ -1039,7 +1018,6 @@ class AWS_SQS_API SQSClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SQSClient::UntagQueue, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSClientConfiguration.h b/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSClientConfiguration.h new file mode 100644 index 000000000000..f7f7c88c7d26 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SQS { +struct AWS_SQS_API SQSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SQSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SQSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SQSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SQSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSQSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SQS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SQSClientConfiguration& config); +} // namespace SQS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSEndpointProvider.h b/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSEndpointProvider.h index 582357e6dd8d..54dfce8f874e 100644 --- a/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SQS { namespace Endpoint { +using SQSClientConfiguration = Aws::SQS::SQSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SQSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SQSClientConfiguration = Aws::Client::GenericClientConfiguration; -using SQSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SQS_API SQSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SQSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SQSClientConfiguration& config); + virtual void SetFromClientConfiguration(const SQSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SQSClientConfiguration& config); +}; /** * The type for the SQS Client Endpoint Provider. @@ -32,6 +41,22 @@ using SQSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SQS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SQS_EXTERN template class AWS_SQS_API Aws::Endpoint::EndpointProviderBase< + SQS::Endpoint::SQSClientConfiguration, SQS::Endpoint::SQSBuiltInParameters, SQS::Endpoint::SQSClientContextParameters>; + +AWS_SQS_EXTERN template class AWS_SQS_API Aws::Endpoint::BDDEndpointProvider< + SQS::Endpoint::SQSClientConfiguration, SQS::Endpoint::SQSBuiltInParameters, SQS::Endpoint::SQSClientContextParameters>; +} // namespace Endpoint + +namespace SQS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSServiceClientModel.h b/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSServiceClientModel.h index b247936820eb..d5fa99ae02be 100644 --- a/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSServiceClientModel.h @@ -62,7 +62,6 @@ class RetryStrategy; } // namespace Client namespace SQS { -using SQSClientConfiguration = Aws::Client::GenericClientConfiguration; using SQSEndpointProviderBase = Aws::SQS::Endpoint::SQSEndpointProviderBase; using SQSEndpointProvider = Aws::SQS::Endpoint::SQSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sqs/source/SQSClient.cpp b/generated/src/aws-cpp-sdk-sqs/source/SQSClient.cpp index 4764e2dddcf9..a64a134b40d3 100644 --- a/generated/src/aws-cpp-sdk-sqs/source/SQSClient.cpp +++ b/generated/src/aws-cpp-sdk-sqs/source/SQSClient.cpp @@ -98,41 +98,6 @@ SQSClient::SQSClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SQSClient::SQSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SQSClient::SQSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SQSClient::SQSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SQSClient::~SQSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SQSClient::accessEndpointProvider() { return m_endpointProvider; } @@ -150,12 +115,7 @@ void SQSClient::init(const SQS::SQSClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sqs"); -} - -void SQSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SQSClient::InvokeOperationOutcome SQSClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-sqs/source/SQSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sqs/source/SQSClientConfiguration.cpp new file mode 100644 index 000000000000..a4a829556b03 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sqs/source/SQSClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SQS { + +void SQSClientConfiguration::LoadSQSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SQSClientConfiguration::SQSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSQSSpecificConfig(this->profileName); +} + +SQSClientConfiguration::SQSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSQSSpecificConfig(Aws::String(inputProfileName)); +} + +SQSClientConfiguration::SQSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSQSSpecificConfig(this->profileName); +} + +SQSClientConfiguration::SQSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadSQSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SQSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SQS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sqs/source/SQSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sqs/source/SQSEndpointProvider.cpp index d44d869b990b..6d7dbd4d9420 100644 --- a/generated/src/aws-cpp-sdk-sqs/source/SQSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sqs/source/SQSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SQS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SQS { namespace Endpoint { SQSEndpointProvider::SQSEndpointProvider() : SQSDefaultEpProviderBase(Aws::SQS::SQSEndpointRules::GetRulesBlob(), Aws::SQS::SQSEndpointRules::RulesBlobSize) {} +void SQSBuiltInParameters::SetFromClientConfiguration(const SQSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SQSBuiltInParameters::SetFromClientConfiguration(const SQSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SQSBuiltInParameters::SetServiceSpecificParameters(const SQSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SQS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsClient.h b/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsClient.h index 45831bac0d36..828d801b8929 100644 --- a/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsClient.h +++ b/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsClient.h @@ -63,27 +63,6 @@ class AWS_SSMCONTACTS_API SSMContactsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SSMContacts::SSMContactsClientConfiguration& clientConfiguration = Aws::SSMContacts::SSMContactsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SSMContactsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SSMContactsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SSMContactsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SSMContactsClient(); /** @@ -1148,7 +1127,6 @@ class AWS_SSMCONTACTS_API SSMContactsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SSMContactsClient::UpdateRotation, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsClientConfiguration.h b/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsClientConfiguration.h new file mode 100644 index 000000000000..c10d22a8bd1f --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SSMContacts { +struct AWS_SSMCONTACTS_API SSMContactsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SSMContactsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMContactsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMContactsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SSMContactsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSSMContactsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSMCONTACTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMContactsClientConfiguration& config); +} // namespace SSMContacts +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsEndpointProvider.h b/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsEndpointProvider.h index 390377077bd1..0e5c8e5336d3 100644 --- a/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SSMContacts { namespace Endpoint { +using SSMContactsClientConfiguration = Aws::SSMContacts::SSMContactsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SSMContactsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SSMContactsClientConfiguration = Aws::Client::GenericClientConfiguration; -using SSMContactsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSMCONTACTS_API SSMContactsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SSMContactsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SSMContactsClientConfiguration& config); + virtual void SetFromClientConfiguration(const SSMContactsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SSMContactsClientConfiguration& config); +}; /** * The type for the SSMContacts Client Endpoint Provider. @@ -34,6 +43,24 @@ using SSMContactsEndpointProviderBase = using SSMContactsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SSMContacts + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSMCONTACTS_EXTERN template class AWS_SSMCONTACTS_API Aws::Endpoint::EndpointProviderBase< + SSMContacts::Endpoint::SSMContactsClientConfiguration, SSMContacts::Endpoint::SSMContactsBuiltInParameters, + SSMContacts::Endpoint::SSMContactsClientContextParameters>; + +AWS_SSMCONTACTS_EXTERN template class AWS_SSMCONTACTS_API Aws::Endpoint::BDDEndpointProvider< + SSMContacts::Endpoint::SSMContactsClientConfiguration, SSMContacts::Endpoint::SSMContactsBuiltInParameters, + SSMContacts::Endpoint::SSMContactsClientContextParameters>; +} // namespace Endpoint + +namespace SSMContacts { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsServiceClientModel.h b/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsServiceClientModel.h index c26ff9c8ce8d..562898527e1e 100644 --- a/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsServiceClientModel.h @@ -88,7 +88,6 @@ class RetryStrategy; } // namespace Client namespace SSMContacts { -using SSMContactsClientConfiguration = Aws::Client::GenericClientConfiguration; using SSMContactsEndpointProviderBase = Aws::SSMContacts::Endpoint::SSMContactsEndpointProviderBase; using SSMContactsEndpointProvider = Aws::SSMContacts::Endpoint::SSMContactsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsClient.cpp b/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsClient.cpp index 9625bdd54478..a31275ee5b69 100644 --- a/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsClient.cpp +++ b/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsClient.cpp @@ -116,41 +116,6 @@ SSMContactsClient::SSMContactsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMContactsClient::SSMContactsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMContactsClient::SSMContactsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SSMContactsClient::~SSMContactsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SSMContactsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -168,12 +133,7 @@ void SSMContactsClient::init(const SSMContacts::SSMContactsClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ssm-contacts"); -} - -void SSMContactsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SSMContactsClient::InvokeOperationOutcome SSMContactsClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsClientConfiguration.cpp new file mode 100644 index 000000000000..6305b4f58732 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SSMContacts { + +void SSMContactsClientConfiguration::LoadSSMContactsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SSMContactsClientConfiguration::SSMContactsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSSMContactsSpecificConfig(this->profileName); +} + +SSMContactsClientConfiguration::SSMContactsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSSMContactsSpecificConfig(Aws::String(inputProfileName)); +} + +SSMContactsClientConfiguration::SSMContactsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSSMContactsSpecificConfig(this->profileName); +} + +SSMContactsClientConfiguration::SSMContactsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSSMContactsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMContactsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SSMContacts +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsEndpointProvider.cpp index 97cef1bbbf40..46540e6e7235 100644 --- a/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SSMCONTACTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SSMContacts { namespace Endpoint { SSMContactsEndpointProvider::SSMContactsEndpointProvider() : SSMContactsDefaultEpProviderBase(Aws::SSMContacts::SSMContactsEndpointRules::GetRulesBlob(), Aws::SSMContacts::SSMContactsEndpointRules::RulesBlobSize) {} +void SSMContactsBuiltInParameters::SetFromClientConfiguration(const SSMContactsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SSMContactsBuiltInParameters::SetFromClientConfiguration(const SSMContactsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SSMContactsBuiltInParameters::SetServiceSpecificParameters(const SSMContactsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SSMContacts } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectClient.h b/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectClient.h index 8aef0194bc56..09b65fe1a171 100644 --- a/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectClient.h +++ b/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectClient.h @@ -73,27 +73,6 @@ class AWS_SSMGUICONNECT_API SSMGuiConnectClient : public Aws::Client::AWSJsonCli const Aws::SSMGuiConnect::SSMGuiConnectClientConfiguration& clientConfiguration = Aws::SSMGuiConnect::SSMGuiConnectClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SSMGuiConnectClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SSMGuiConnectClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SSMGuiConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SSMGuiConnectClient(); /** @@ -187,7 +166,6 @@ class AWS_SSMGUICONNECT_API SSMGuiConnectClient : public Aws::Client::AWSJsonCli return SubmitAsync(&SSMGuiConnectClient::UpdateConnectionRecordingPreferences, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectClientConfiguration.h b/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectClientConfiguration.h new file mode 100644 index 000000000000..d8c80099432a --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SSMGuiConnect { +struct AWS_SSMGUICONNECT_API SSMGuiConnectClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SSMGuiConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMGuiConnectClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMGuiConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SSMGuiConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSSMGuiConnectSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSMGUICONNECT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMGuiConnectClientConfiguration& config); +} // namespace SSMGuiConnect +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectEndpointProvider.h b/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectEndpointProvider.h index 2e6a1cf1c6fe..ab102cf15121 100644 --- a/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SSMGuiConnect { namespace Endpoint { +using SSMGuiConnectClientConfiguration = Aws::SSMGuiConnect::SSMGuiConnectClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SSMGuiConnectClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SSMGuiConnectClientConfiguration = Aws::Client::GenericClientConfiguration; -using SSMGuiConnectBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSMGUICONNECT_API SSMGuiConnectBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SSMGuiConnectBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SSMGuiConnectClientConfiguration& config); + virtual void SetFromClientConfiguration(const SSMGuiConnectClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SSMGuiConnectClientConfiguration& config); +}; /** * The type for the SSMGuiConnect Client Endpoint Provider. @@ -34,6 +43,24 @@ using SSMGuiConnectEndpointProviderBase = using SSMGuiConnectDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SSMGuiConnect + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSMGUICONNECT_EXTERN template class AWS_SSMGUICONNECT_API Aws::Endpoint::EndpointProviderBase< + SSMGuiConnect::Endpoint::SSMGuiConnectClientConfiguration, SSMGuiConnect::Endpoint::SSMGuiConnectBuiltInParameters, + SSMGuiConnect::Endpoint::SSMGuiConnectClientContextParameters>; + +AWS_SSMGUICONNECT_EXTERN template class AWS_SSMGUICONNECT_API Aws::Endpoint::BDDEndpointProvider< + SSMGuiConnect::Endpoint::SSMGuiConnectClientConfiguration, SSMGuiConnect::Endpoint::SSMGuiConnectBuiltInParameters, + SSMGuiConnect::Endpoint::SSMGuiConnectClientContextParameters>; +} // namespace Endpoint + +namespace SSMGuiConnect { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectServiceClientModel.h b/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectServiceClientModel.h index 0397b7a6bbc9..6f4f1e87144f 100644 --- a/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectServiceClientModel.h @@ -51,7 +51,6 @@ class RetryStrategy; } // namespace Client namespace SSMGuiConnect { -using SSMGuiConnectClientConfiguration = Aws::Client::GenericClientConfiguration; using SSMGuiConnectEndpointProviderBase = Aws::SSMGuiConnect::Endpoint::SSMGuiConnectEndpointProviderBase; using SSMGuiConnectEndpointProvider = Aws::SSMGuiConnect::Endpoint::SSMGuiConnectEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectClient.cpp b/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectClient.cpp index 08341fbeebe6..b2a28a7b2228 100644 --- a/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectClient.cpp +++ b/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectClient.cpp @@ -81,41 +81,6 @@ SSMGuiConnectClient::SSMGuiConnectClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMGuiConnectClient::SSMGuiConnectClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMGuiConnectClient::SSMGuiConnectClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SSMGuiConnectClient::~SSMGuiConnectClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SSMGuiConnectClient::accessEndpointProvider() { return m_endpointProvider; } @@ -133,12 +98,7 @@ void SSMGuiConnectClient::init(const SSMGuiConnect::SSMGuiConnectClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ssm-guiconnect"); -} - -void SSMGuiConnectClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SSMGuiConnectClient::InvokeOperationOutcome SSMGuiConnectClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectClientConfiguration.cpp new file mode 100644 index 000000000000..933cca9c4382 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SSMGuiConnect { + +void SSMGuiConnectClientConfiguration::LoadSSMGuiConnectSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SSMGuiConnectClientConfiguration::SSMGuiConnectClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSSMGuiConnectSpecificConfig(this->profileName); +} + +SSMGuiConnectClientConfiguration::SSMGuiConnectClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSSMGuiConnectSpecificConfig(Aws::String(inputProfileName)); +} + +SSMGuiConnectClientConfiguration::SSMGuiConnectClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSSMGuiConnectSpecificConfig(this->profileName); +} + +SSMGuiConnectClientConfiguration::SSMGuiConnectClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSSMGuiConnectSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMGuiConnectClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SSMGuiConnect +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectEndpointProvider.cpp index ec000b65ed27..9be1e72eb5dd 100644 --- a/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SSMGUICONNECT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SSMGuiConnect { namespace Endpoint { SSMGuiConnectEndpointProvider::SSMGuiConnectEndpointProvider() : SSMGuiConnectDefaultEpProviderBase(Aws::SSMGuiConnect::SSMGuiConnectEndpointRules::GetRulesBlob(), Aws::SSMGuiConnect::SSMGuiConnectEndpointRules::RulesBlobSize) {} +void SSMGuiConnectBuiltInParameters::SetFromClientConfiguration(const SSMGuiConnectClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SSMGuiConnectBuiltInParameters::SetFromClientConfiguration(const SSMGuiConnectClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SSMGuiConnectBuiltInParameters::SetServiceSpecificParameters(const SSMGuiConnectClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SSMGuiConnect } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsClient.h b/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsClient.h index be2cd8a1f9cd..033ad29f74e7 100644 --- a/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsClient.h +++ b/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsClient.h @@ -63,27 +63,6 @@ class AWS_SSMINCIDENTS_API SSMIncidentsClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::SSMIncidents::SSMIncidentsClientConfiguration& clientConfiguration = Aws::SSMIncidents::SSMIncidentsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SSMIncidentsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SSMIncidentsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SSMIncidentsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SSMIncidentsClient(); /** @@ -935,7 +914,6 @@ class AWS_SSMINCIDENTS_API SSMIncidentsClient : public Aws::Client::AWSJsonClien return SubmitAsync(&SSMIncidentsClient::UpdateTimelineEvent, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsClientConfiguration.h b/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsClientConfiguration.h new file mode 100644 index 000000000000..5b678e8e9cda --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SSMIncidents { +struct AWS_SSMINCIDENTS_API SSMIncidentsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SSMIncidentsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMIncidentsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMIncidentsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SSMIncidentsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSSMIncidentsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSMINCIDENTS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMIncidentsClientConfiguration& config); +} // namespace SSMIncidents +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsEndpointProvider.h b/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsEndpointProvider.h index ea6b79ce8d89..5fcf31e699f8 100644 --- a/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SSMIncidents { namespace Endpoint { +using SSMIncidentsClientConfiguration = Aws::SSMIncidents::SSMIncidentsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SSMIncidentsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SSMIncidentsClientConfiguration = Aws::Client::GenericClientConfiguration; -using SSMIncidentsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSMINCIDENTS_API SSMIncidentsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SSMIncidentsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SSMIncidentsClientConfiguration& config); + virtual void SetFromClientConfiguration(const SSMIncidentsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SSMIncidentsClientConfiguration& config); +}; /** * The type for the SSMIncidents Client Endpoint Provider. @@ -34,6 +43,24 @@ using SSMIncidentsEndpointProviderBase = using SSMIncidentsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SSMIncidents + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSMINCIDENTS_EXTERN template class AWS_SSMINCIDENTS_API Aws::Endpoint::EndpointProviderBase< + SSMIncidents::Endpoint::SSMIncidentsClientConfiguration, SSMIncidents::Endpoint::SSMIncidentsBuiltInParameters, + SSMIncidents::Endpoint::SSMIncidentsClientContextParameters>; + +AWS_SSMINCIDENTS_EXTERN template class AWS_SSMINCIDENTS_API Aws::Endpoint::BDDEndpointProvider< + SSMIncidents::Endpoint::SSMIncidentsClientConfiguration, SSMIncidents::Endpoint::SSMIncidentsBuiltInParameters, + SSMIncidents::Endpoint::SSMIncidentsClientContextParameters>; +} // namespace Endpoint + +namespace SSMIncidents { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsServiceClientModel.h b/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsServiceClientModel.h index d12e91357cc3..b603c5649474 100644 --- a/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsServiceClientModel.h @@ -80,7 +80,6 @@ class RetryStrategy; } // namespace Client namespace SSMIncidents { -using SSMIncidentsClientConfiguration = Aws::Client::GenericClientConfiguration; using SSMIncidentsEndpointProviderBase = Aws::SSMIncidents::Endpoint::SSMIncidentsEndpointProviderBase; using SSMIncidentsEndpointProvider = Aws::SSMIncidents::Endpoint::SSMIncidentsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsClient.cpp b/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsClient.cpp index 7b24e0d76584..a413890e40c4 100644 --- a/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsClient.cpp +++ b/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsClient.cpp @@ -109,41 +109,6 @@ SSMIncidentsClient::SSMIncidentsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMIncidentsClient::SSMIncidentsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMIncidentsClient::SSMIncidentsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SSMIncidentsClient::~SSMIncidentsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SSMIncidentsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -161,12 +126,7 @@ void SSMIncidentsClient::init(const SSMIncidents::SSMIncidentsClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ssm-incidents"); -} - -void SSMIncidentsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SSMIncidentsClient::InvokeOperationOutcome SSMIncidentsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsClientConfiguration.cpp new file mode 100644 index 000000000000..18c6c6dc9c8d --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SSMIncidents { + +void SSMIncidentsClientConfiguration::LoadSSMIncidentsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SSMIncidentsClientConfiguration::SSMIncidentsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSSMIncidentsSpecificConfig(this->profileName); +} + +SSMIncidentsClientConfiguration::SSMIncidentsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSSMIncidentsSpecificConfig(Aws::String(inputProfileName)); +} + +SSMIncidentsClientConfiguration::SSMIncidentsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSSMIncidentsSpecificConfig(this->profileName); +} + +SSMIncidentsClientConfiguration::SSMIncidentsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSSMIncidentsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMIncidentsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SSMIncidents +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsEndpointProvider.cpp index d91920a8eac1..2dd42125a545 100644 --- a/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SSMINCIDENTS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SSMIncidents { namespace Endpoint { SSMIncidentsEndpointProvider::SSMIncidentsEndpointProvider() : SSMIncidentsDefaultEpProviderBase(Aws::SSMIncidents::SSMIncidentsEndpointRules::GetRulesBlob(), Aws::SSMIncidents::SSMIncidentsEndpointRules::RulesBlobSize) {} +void SSMIncidentsBuiltInParameters::SetFromClientConfiguration(const SSMIncidentsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SSMIncidentsBuiltInParameters::SetFromClientConfiguration(const SSMIncidentsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SSMIncidentsBuiltInParameters::SetServiceSpecificParameters(const SSMIncidentsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SSMIncidents } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupClient.h b/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupClient.h index c9c5a39a5d74..675c9064103a 100644 --- a/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupClient.h +++ b/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupClient.h @@ -58,27 +58,6 @@ class AWS_SSMQUICKSETUP_API SSMQuickSetupClient : public Aws::Client::AWSJsonCli const Aws::SSMQuickSetup::SSMQuickSetupClientConfiguration& clientConfiguration = Aws::SSMQuickSetup::SSMQuickSetupClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SSMQuickSetupClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SSMQuickSetupClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SSMQuickSetupClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SSMQuickSetupClient(); /** @@ -470,7 +449,6 @@ class AWS_SSMQUICKSETUP_API SSMQuickSetupClient : public Aws::Client::AWSJsonCli return SubmitAsync(&SSMQuickSetupClient::UpdateServiceSettings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupClientConfiguration.h b/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupClientConfiguration.h new file mode 100644 index 000000000000..8f6d67c7da3e --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SSMQuickSetup { +struct AWS_SSMQUICKSETUP_API SSMQuickSetupClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SSMQuickSetupClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMQuickSetupClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMQuickSetupClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SSMQuickSetupClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSSMQuickSetupSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSMQUICKSETUP_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMQuickSetupClientConfiguration& config); +} // namespace SSMQuickSetup +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupEndpointProvider.h b/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupEndpointProvider.h index e802a9d814ea..e965fad0525a 100644 --- a/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SSMQuickSetup { namespace Endpoint { +using SSMQuickSetupClientConfiguration = Aws::SSMQuickSetup::SSMQuickSetupClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SSMQuickSetupClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SSMQuickSetupClientConfiguration = Aws::Client::GenericClientConfiguration; -using SSMQuickSetupBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSMQUICKSETUP_API SSMQuickSetupBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SSMQuickSetupBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SSMQuickSetupClientConfiguration& config); + virtual void SetFromClientConfiguration(const SSMQuickSetupClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SSMQuickSetupClientConfiguration& config); +}; /** * The type for the SSMQuickSetup Client Endpoint Provider. @@ -34,6 +43,24 @@ using SSMQuickSetupEndpointProviderBase = using SSMQuickSetupDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SSMQuickSetup + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSMQUICKSETUP_EXTERN template class AWS_SSMQUICKSETUP_API Aws::Endpoint::EndpointProviderBase< + SSMQuickSetup::Endpoint::SSMQuickSetupClientConfiguration, SSMQuickSetup::Endpoint::SSMQuickSetupBuiltInParameters, + SSMQuickSetup::Endpoint::SSMQuickSetupClientContextParameters>; + +AWS_SSMQUICKSETUP_EXTERN template class AWS_SSMQUICKSETUP_API Aws::Endpoint::BDDEndpointProvider< + SSMQuickSetup::Endpoint::SSMQuickSetupClientConfiguration, SSMQuickSetup::Endpoint::SSMQuickSetupBuiltInParameters, + SSMQuickSetup::Endpoint::SSMQuickSetupClientContextParameters>; +} // namespace Endpoint + +namespace SSMQuickSetup { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupServiceClientModel.h b/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupServiceClientModel.h index 88725a2122f4..d3eb52bf3513 100644 --- a/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace SSMQuickSetup { -using SSMQuickSetupClientConfiguration = Aws::Client::GenericClientConfiguration; using SSMQuickSetupEndpointProviderBase = Aws::SSMQuickSetup::Endpoint::SSMQuickSetupEndpointProviderBase; using SSMQuickSetupEndpointProvider = Aws::SSMQuickSetup::Endpoint::SSMQuickSetupEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupClient.cpp b/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupClient.cpp index 2e13d2812c54..d13f7b0d8116 100644 --- a/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupClient.cpp +++ b/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupClient.cpp @@ -92,41 +92,6 @@ SSMQuickSetupClient::SSMQuickSetupClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMQuickSetupClient::SSMQuickSetupClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMQuickSetupClient::SSMQuickSetupClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SSMQuickSetupClient::~SSMQuickSetupClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SSMQuickSetupClient::accessEndpointProvider() { return m_endpointProvider; } @@ -144,12 +109,7 @@ void SSMQuickSetupClient::init(const SSMQuickSetup::SSMQuickSetupClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ssm-quicksetup"); -} - -void SSMQuickSetupClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SSMQuickSetupClient::InvokeOperationOutcome SSMQuickSetupClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupClientConfiguration.cpp new file mode 100644 index 000000000000..f5b1cca1e201 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SSMQuickSetup { + +void SSMQuickSetupClientConfiguration::LoadSSMQuickSetupSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SSMQuickSetupClientConfiguration::SSMQuickSetupClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSSMQuickSetupSpecificConfig(this->profileName); +} + +SSMQuickSetupClientConfiguration::SSMQuickSetupClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSSMQuickSetupSpecificConfig(Aws::String(inputProfileName)); +} + +SSMQuickSetupClientConfiguration::SSMQuickSetupClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSSMQuickSetupSpecificConfig(this->profileName); +} + +SSMQuickSetupClientConfiguration::SSMQuickSetupClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSSMQuickSetupSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMQuickSetupClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SSMQuickSetup +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupEndpointProvider.cpp index 2f935e83e045..1cc94263b7c1 100644 --- a/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SSMQUICKSETUP_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SSMQuickSetup { namespace Endpoint { SSMQuickSetupEndpointProvider::SSMQuickSetupEndpointProvider() : SSMQuickSetupDefaultEpProviderBase(Aws::SSMQuickSetup::SSMQuickSetupEndpointRules::GetRulesBlob(), Aws::SSMQuickSetup::SSMQuickSetupEndpointRules::RulesBlobSize) {} +void SSMQuickSetupBuiltInParameters::SetFromClientConfiguration(const SSMQuickSetupClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SSMQuickSetupBuiltInParameters::SetFromClientConfiguration(const SSMQuickSetupClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SSMQuickSetupBuiltInParameters::SetServiceSpecificParameters(const SSMQuickSetupClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SSMQuickSetup } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapClient.h b/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapClient.h index 93f090965af8..d75ae3aa3202 100644 --- a/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapClient.h +++ b/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapClient.h @@ -54,27 +54,6 @@ class AWS_SSMSAP_API SsmSapClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SsmSap::SsmSapClientConfiguration& clientConfiguration = Aws::SsmSap::SsmSapClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SsmSapClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SsmSapClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SsmSapClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SsmSapClient(); /** @@ -823,7 +802,6 @@ class AWS_SSMSAP_API SsmSapClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SsmSapClient::UpdateApplicationSettings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapClientConfiguration.h b/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapClientConfiguration.h new file mode 100644 index 000000000000..b9872c5436f2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SsmSap { +struct AWS_SSMSAP_API SsmSapClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SsmSapClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SsmSapClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SsmSapClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SsmSapClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSsmSapSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSMSAP_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SsmSapClientConfiguration& config); +} // namespace SsmSap +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapEndpointProvider.h b/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapEndpointProvider.h index 9150f52f6787..b66d9d0a2bbd 100644 --- a/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SsmSap { namespace Endpoint { +using SsmSapClientConfiguration = Aws::SsmSap::SsmSapClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SsmSapClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SsmSapClientConfiguration = Aws::Client::GenericClientConfiguration; -using SsmSapBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSMSAP_API SsmSapBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SsmSapBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SsmSapClientConfiguration& config); + virtual void SetFromClientConfiguration(const SsmSapClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SsmSapClientConfiguration& config); +}; /** * The type for the SsmSap Client Endpoint Provider. @@ -32,6 +41,24 @@ using SsmSapEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SsmSap + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSMSAP_EXTERN template class AWS_SSMSAP_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SSMSAP_EXTERN template class AWS_SSMSAP_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SsmSap { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapServiceClientModel.h b/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapServiceClientModel.h index f416b6f42089..b21ec9212fb9 100644 --- a/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapServiceClientModel.h @@ -79,7 +79,6 @@ class RetryStrategy; } // namespace Client namespace SsmSap { -using SsmSapClientConfiguration = Aws::Client::GenericClientConfiguration; using SsmSapEndpointProviderBase = Aws::SsmSap::Endpoint::SsmSapEndpointProviderBase; using SsmSapEndpointProvider = Aws::SsmSap::Endpoint::SsmSapEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapClient.cpp b/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapClient.cpp index 23ed47069006..eda655c90e07 100644 --- a/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapClient.cpp +++ b/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapClient.cpp @@ -104,41 +104,6 @@ SsmSapClient::SsmSapClient(const std::shared_ptr& creden init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SsmSapClient::SsmSapClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SsmSapClient::SsmSapClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SsmSapClient::SsmSapClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SsmSapClient::~SsmSapClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SsmSapClient::accessEndpointProvider() { return m_endpointProvider; } @@ -156,12 +121,7 @@ void SsmSapClient::init(const SsmSap::SsmSapClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ssm-sap"); -} - -void SsmSapClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SsmSapClient::InvokeOperationOutcome SsmSapClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapClientConfiguration.cpp new file mode 100644 index 000000000000..b42dd1af1288 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SsmSap { + +void SsmSapClientConfiguration::LoadSsmSapSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SsmSapClientConfiguration::SsmSapClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSsmSapSpecificConfig(this->profileName); +} + +SsmSapClientConfiguration::SsmSapClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSsmSapSpecificConfig(Aws::String(inputProfileName)); +} + +SsmSapClientConfiguration::SsmSapClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSsmSapSpecificConfig(this->profileName); +} + +SsmSapClientConfiguration::SsmSapClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSsmSapSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SsmSapClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SsmSap +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapEndpointProvider.cpp index bfffab4bf58a..95467b732915 100644 --- a/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SSMSAP_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SsmSap { namespace Endpoint { SsmSapEndpointProvider::SsmSapEndpointProvider() : SsmSapDefaultEpProviderBase(Aws::SsmSap::SsmSapEndpointRules::GetRulesBlob(), Aws::SsmSap::SsmSapEndpointRules::RulesBlobSize) {} +void SsmSapBuiltInParameters::SetFromClientConfiguration(const SsmSapClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SsmSapBuiltInParameters::SetFromClientConfiguration(const SsmSapClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SsmSapBuiltInParameters::SetServiceSpecificParameters(const SsmSapClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SsmSap } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClient.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClient.h index 109c21a761b6..c71b3f67f006 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClient.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClient.h @@ -77,27 +77,6 @@ class AWS_SSM_API SSMClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SSM::SSMClientConfiguration& clientConfiguration = Aws::SSM::SSMClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SSMClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SSMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SSMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SSMClient(); /** @@ -4995,7 +4974,6 @@ class AWS_SSM_API SSMClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SSMClient::ValidateCloudConnector, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClientConfiguration.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClientConfiguration.h new file mode 100644 index 000000000000..8152a5f470d7 --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SSM { +struct AWS_SSM_API SSMClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SSMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSMClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SSMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSSMSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSM_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMClientConfiguration& config); +} // namespace SSM +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMEndpointProvider.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMEndpointProvider.h index eb6556db06ed..99997c42e495 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SSM { namespace Endpoint { +using SSMClientConfiguration = Aws::SSM::SSMClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SSMClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SSMClientConfiguration = Aws::Client::GenericClientConfiguration; -using SSMBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSM_API SSMBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SSMBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SSMClientConfiguration& config); + virtual void SetFromClientConfiguration(const SSMClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SSMClientConfiguration& config); +}; /** * The type for the SSM Client Endpoint Provider. @@ -32,6 +41,22 @@ using SSMEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SSM + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSM_EXTERN template class AWS_SSM_API Aws::Endpoint::EndpointProviderBase< + SSM::Endpoint::SSMClientConfiguration, SSM::Endpoint::SSMBuiltInParameters, SSM::Endpoint::SSMClientContextParameters>; + +AWS_SSM_EXTERN template class AWS_SSM_API Aws::Endpoint::BDDEndpointProvider< + SSM::Endpoint::SSMClientConfiguration, SSM::Endpoint::SSMBuiltInParameters, SSM::Endpoint::SSMClientContextParameters>; +} // namespace Endpoint + +namespace SSM { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMServiceClientModel.h b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMServiceClientModel.h index a34c3ad52588..e4649dac8763 100644 --- a/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMServiceClientModel.h @@ -229,7 +229,6 @@ class RetryStrategy; } // namespace Client namespace SSM { -using SSMClientConfiguration = Aws::Client::GenericClientConfiguration; using SSMEndpointProviderBase = Aws::SSM::Endpoint::SSMEndpointProviderBase; using SSMEndpointProvider = Aws::SSM::Endpoint::SSMEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-ssm/source/SSMClient.cpp b/generated/src/aws-cpp-sdk-ssm/source/SSMClient.cpp index 3def851c146d..9bbb752bfaa8 100644 --- a/generated/src/aws-cpp-sdk-ssm/source/SSMClient.cpp +++ b/generated/src/aws-cpp-sdk-ssm/source/SSMClient.cpp @@ -227,41 +227,6 @@ SSMClient::SSMClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SSMClient::SSMClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMClient::SSMClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSMClient::SSMClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SSMClient::~SSMClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SSMClient::accessEndpointProvider() { return m_endpointProvider; } @@ -279,12 +244,7 @@ void SSMClient::init(const SSM::SSMClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "ssm"); -} - -void SSMClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SSMClient::InvokeOperationOutcome SSMClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-ssm/source/SSMClientConfiguration.cpp b/generated/src/aws-cpp-sdk-ssm/source/SSMClientConfiguration.cpp new file mode 100644 index 000000000000..0387386721ab --- /dev/null +++ b/generated/src/aws-cpp-sdk-ssm/source/SSMClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SSM { + +void SSMClientConfiguration::LoadSSMSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SSMClientConfiguration::SSMClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSSMSpecificConfig(this->profileName); +} + +SSMClientConfiguration::SSMClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSSMSpecificConfig(Aws::String(inputProfileName)); +} + +SSMClientConfiguration::SSMClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSSMSpecificConfig(this->profileName); +} + +SSMClientConfiguration::SSMClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadSSMSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSMClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SSM +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-ssm/source/SSMEndpointProvider.cpp b/generated/src/aws-cpp-sdk-ssm/source/SSMEndpointProvider.cpp index 4e18ee8db133..ab057681327f 100644 --- a/generated/src/aws-cpp-sdk-ssm/source/SSMEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-ssm/source/SSMEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SSM_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SSM { namespace Endpoint { SSMEndpointProvider::SSMEndpointProvider() : SSMDefaultEpProviderBase(Aws::SSM::SSMEndpointRules::GetRulesBlob(), Aws::SSM::SSMEndpointRules::RulesBlobSize) {} +void SSMBuiltInParameters::SetFromClientConfiguration(const SSMClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SSMBuiltInParameters::SetFromClientConfiguration(const SSMClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SSMBuiltInParameters::SetServiceSpecificParameters(const SSMClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SSM } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminClient.h b/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminClient.h index 3087380c3654..f3fe83a3d06c 100644 --- a/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminClient.h +++ b/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminClient.h @@ -76,27 +76,6 @@ class AWS_SSOADMIN_API SSOAdminClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SSOAdmin::SSOAdminClientConfiguration& clientConfiguration = Aws::SSOAdmin::SSOAdminClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SSOAdminClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SSOAdminClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SSOAdminClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SSOAdminClient(); /** @@ -2588,7 +2567,6 @@ class AWS_SSOADMIN_API SSOAdminClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SSOAdminClient::UpdateTrustedTokenIssuer, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminClientConfiguration.h b/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminClientConfiguration.h new file mode 100644 index 000000000000..74576e1c0e10 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SSOAdmin { +struct AWS_SSOADMIN_API SSOAdminClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SSOAdminClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSOAdminClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSOAdminClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SSOAdminClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSSOAdminSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSOADMIN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSOAdminClientConfiguration& config); +} // namespace SSOAdmin +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminEndpointProvider.h b/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminEndpointProvider.h index 36822915d010..927c12408e76 100644 --- a/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SSOAdmin { namespace Endpoint { +using SSOAdminClientConfiguration = Aws::SSOAdmin::SSOAdminClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SSOAdminClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SSOAdminClientConfiguration = Aws::Client::GenericClientConfiguration; -using SSOAdminBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSOADMIN_API SSOAdminBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SSOAdminBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SSOAdminClientConfiguration& config); + virtual void SetFromClientConfiguration(const SSOAdminClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SSOAdminClientConfiguration& config); +}; /** * The type for the SSOAdmin Client Endpoint Provider. @@ -34,6 +43,24 @@ using SSOAdminEndpointProviderBase = using SSOAdminDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SSOAdmin + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSOADMIN_EXTERN template class AWS_SSOADMIN_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SSOADMIN_EXTERN template class AWS_SSOADMIN_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SSOAdmin { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminServiceClientModel.h b/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminServiceClientModel.h index 81467011c54c..3c422c7bc08d 100644 --- a/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminServiceClientModel.h @@ -123,7 +123,6 @@ class RetryStrategy; } // namespace Client namespace SSOAdmin { -using SSOAdminClientConfiguration = Aws::Client::GenericClientConfiguration; using SSOAdminEndpointProviderBase = Aws::SSOAdmin::Endpoint::SSOAdminEndpointProviderBase; using SSOAdminEndpointProvider = Aws::SSOAdmin::Endpoint::SSOAdminEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminClient.cpp b/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminClient.cpp index 887ee4f419b7..ddf1e6a61221 100644 --- a/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminClient.cpp +++ b/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminClient.cpp @@ -156,41 +156,6 @@ SSOAdminClient::SSOAdminClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SSOAdminClient::SSOAdminClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSOAdminClient::SSOAdminClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSOAdminClient::SSOAdminClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SSOAdminClient::~SSOAdminClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SSOAdminClient::accessEndpointProvider() { return m_endpointProvider; } @@ -208,12 +173,7 @@ void SSOAdminClient::init(const SSOAdmin::SSOAdminClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sso"); -} - -void SSOAdminClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SSOAdminClient::InvokeOperationOutcome SSOAdminClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminClientConfiguration.cpp new file mode 100644 index 000000000000..29639bd94070 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SSOAdmin { + +void SSOAdminClientConfiguration::LoadSSOAdminSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SSOAdminClientConfiguration::SSOAdminClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSSOAdminSpecificConfig(this->profileName); +} + +SSOAdminClientConfiguration::SSOAdminClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSSOAdminSpecificConfig(Aws::String(inputProfileName)); +} + +SSOAdminClientConfiguration::SSOAdminClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSSOAdminSpecificConfig(this->profileName); +} + +SSOAdminClientConfiguration::SSOAdminClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSSOAdminSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSOAdminClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SSOAdmin +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminEndpointProvider.cpp index 21a9b06f36ee..3b79fa19acbd 100644 --- a/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SSOADMIN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SSOAdmin { namespace Endpoint { SSOAdminEndpointProvider::SSOAdminEndpointProvider() : SSOAdminDefaultEpProviderBase(Aws::SSOAdmin::SSOAdminEndpointRules::GetRulesBlob(), Aws::SSOAdmin::SSOAdminEndpointRules::RulesBlobSize) {} +void SSOAdminBuiltInParameters::SetFromClientConfiguration(const SSOAdminClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SSOAdminBuiltInParameters::SetFromClientConfiguration(const SSOAdminClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SSOAdminBuiltInParameters::SetServiceSpecificParameters(const SSOAdminClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SSOAdmin } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClient.h b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClient.h index b4e19822f4f9..35ec2b78e88b 100644 --- a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClient.h +++ b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClient.h @@ -84,27 +84,6 @@ class AWS_SSOOIDC_API SSOOIDCClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SSOOIDC::SSOOIDCClientConfiguration& clientConfiguration = Aws::SSOOIDC::SSOOIDCClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SSOOIDCClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SSOOIDCClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SSOOIDCClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SSOOIDCClient(); /** @@ -228,7 +207,6 @@ class AWS_SSOOIDC_API SSOOIDCClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SSOOIDCClient::StartDeviceAuthorization, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClientConfiguration.h b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClientConfiguration.h new file mode 100644 index 000000000000..7c882d0116c5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SSOOIDC { +struct AWS_SSOOIDC_API SSOOIDCClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SSOOIDCClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSOOIDCClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSOOIDCClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SSOOIDCClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSSOOIDCSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSOOIDC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSOOIDCClientConfiguration& config); +} // namespace SSOOIDC +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCEndpointProvider.h b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCEndpointProvider.h index 5a258a7bf3d3..21444f66fbb6 100644 --- a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SSOOIDC { namespace Endpoint { +using SSOOIDCClientConfiguration = Aws::SSOOIDC::SSOOIDCClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SSOOIDCClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SSOOIDCClientConfiguration = Aws::Client::GenericClientConfiguration; -using SSOOIDCBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSOOIDC_API SSOOIDCBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SSOOIDCBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SSOOIDCClientConfiguration& config); + virtual void SetFromClientConfiguration(const SSOOIDCClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SSOOIDCClientConfiguration& config); +}; /** * The type for the SSOOIDC Client Endpoint Provider. @@ -34,6 +43,24 @@ using SSOOIDCEndpointProviderBase = using SSOOIDCDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SSOOIDC + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSOOIDC_EXTERN template class AWS_SSOOIDC_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SSOOIDC_EXTERN template class AWS_SSOOIDC_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace SSOOIDC { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCServiceClientModel.h b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCServiceClientModel.h index 8d29a81e99b6..9edd5271e458 100644 --- a/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCServiceClientModel.h @@ -50,7 +50,6 @@ class RetryStrategy; } // namespace Client namespace SSOOIDC { -using SSOOIDCClientConfiguration = Aws::Client::GenericClientConfiguration; using SSOOIDCEndpointProviderBase = Aws::SSOOIDC::Endpoint::SSOOIDCEndpointProviderBase; using SSOOIDCEndpointProvider = Aws::SSOOIDC::Endpoint::SSOOIDCEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCClient.cpp b/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCClient.cpp index 484db94c6a4f..4c1dfa20eadc 100644 --- a/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCClient.cpp +++ b/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCClient.cpp @@ -81,41 +81,6 @@ SSOOIDCClient::SSOOIDCClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SSOOIDCClient::SSOOIDCClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSOOIDCClient::SSOOIDCClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSOOIDCClient::SSOOIDCClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SSOOIDCClient::~SSOOIDCClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SSOOIDCClient::accessEndpointProvider() { return m_endpointProvider; } @@ -133,12 +98,7 @@ void SSOOIDCClient::init(const SSOOIDC::SSOOIDCClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sso-oauth"); -} - -void SSOOIDCClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SSOOIDCClient::InvokeOperationOutcome SSOOIDCClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCClientConfiguration.cpp new file mode 100644 index 000000000000..0996ecb9939f --- /dev/null +++ b/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SSOOIDC { + +void SSOOIDCClientConfiguration::LoadSSOOIDCSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SSOOIDCClientConfiguration::SSOOIDCClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSSOOIDCSpecificConfig(this->profileName); +} + +SSOOIDCClientConfiguration::SSOOIDCClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSSOOIDCSpecificConfig(Aws::String(inputProfileName)); +} + +SSOOIDCClientConfiguration::SSOOIDCClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSSOOIDCSpecificConfig(this->profileName); +} + +SSOOIDCClientConfiguration::SSOOIDCClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSSOOIDCSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSOOIDCClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SSOOIDC +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCEndpointProvider.cpp index a7ef7e165024..369450c791eb 100644 --- a/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_SSOOIDC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SSOOIDC { namespace Endpoint { SSOOIDCEndpointProvider::SSOOIDCEndpointProvider() : SSOOIDCDefaultEpProviderBase(Aws::SSOOIDC::SSOOIDCEndpointRules::GetRulesBlob(), Aws::SSOOIDC::SSOOIDCEndpointRules::RulesBlobSize) {} +void SSOOIDCBuiltInParameters::SetFromClientConfiguration(const SSOOIDCClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SSOOIDCBuiltInParameters::SetFromClientConfiguration(const SSOOIDCClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SSOOIDCBuiltInParameters::SetServiceSpecificParameters(const SSOOIDCClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SSOOIDC } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOClient.h b/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOClient.h index 1468b43b046d..0f44e2ad0c9c 100644 --- a/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOClient.h +++ b/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOClient.h @@ -68,27 +68,6 @@ class AWS_SSO_API SSOClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SSO::SSOClientConfiguration& clientConfiguration = Aws::SSO::SSOClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SSOClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SSOClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SSOClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SSOClient(); /** @@ -212,7 +191,6 @@ class AWS_SSO_API SSOClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SSOClient::Logout, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOClientConfiguration.h b/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOClientConfiguration.h new file mode 100644 index 000000000000..51ea9ff67533 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SSO { +struct AWS_SSO_API SSOClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SSOClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSOClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SSOClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SSOClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSSOSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SSO_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSOClientConfiguration& config); +} // namespace SSO +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOEndpointProvider.h b/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOEndpointProvider.h index e0f8d4c75abf..0cd012c59981 100644 --- a/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SSO { namespace Endpoint { +using SSOClientConfiguration = Aws::SSO::SSOClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SSOClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SSOClientConfiguration = Aws::Client::GenericClientConfiguration; -using SSOBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SSO_API SSOBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SSOBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SSOClientConfiguration& config); + virtual void SetFromClientConfiguration(const SSOClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SSOClientConfiguration& config); +}; /** * The type for the SSO Client Endpoint Provider. @@ -32,6 +41,22 @@ using SSOEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SSO + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SSO_EXTERN template class AWS_SSO_API Aws::Endpoint::EndpointProviderBase< + SSO::Endpoint::SSOClientConfiguration, SSO::Endpoint::SSOBuiltInParameters, SSO::Endpoint::SSOClientContextParameters>; + +AWS_SSO_EXTERN template class AWS_SSO_API Aws::Endpoint::BDDEndpointProvider< + SSO::Endpoint::SSOClientConfiguration, SSO::Endpoint::SSOBuiltInParameters, SSO::Endpoint::SSOClientContextParameters>; +} // namespace Endpoint + +namespace SSO { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOServiceClientModel.h b/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOServiceClientModel.h index e8feebb7bfee..74d6a28631b1 100644 --- a/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOServiceClientModel.h @@ -50,7 +50,6 @@ class RetryStrategy; } // namespace Client namespace SSO { -using SSOClientConfiguration = Aws::Client::GenericClientConfiguration; using SSOEndpointProviderBase = Aws::SSO::Endpoint::SSOEndpointProviderBase; using SSOEndpointProvider = Aws::SSO::Endpoint::SSOEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sso/source/SSOClient.cpp b/generated/src/aws-cpp-sdk-sso/source/SSOClient.cpp index 488f73451971..e071b4f75bbc 100644 --- a/generated/src/aws-cpp-sdk-sso/source/SSOClient.cpp +++ b/generated/src/aws-cpp-sdk-sso/source/SSOClient.cpp @@ -79,41 +79,6 @@ SSOClient::SSOClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SSOClient::SSOClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSOClient::SSOClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SSOClient::SSOClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SSOClient::~SSOClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SSOClient::accessEndpointProvider() { return m_endpointProvider; } @@ -131,12 +96,7 @@ void SSOClient::init(const SSO::SSOClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "awsssoportal"); -} - -void SSOClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SSOClient::InvokeOperationOutcome SSOClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sso/source/SSOClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sso/source/SSOClientConfiguration.cpp new file mode 100644 index 000000000000..c8380f7ce3ef --- /dev/null +++ b/generated/src/aws-cpp-sdk-sso/source/SSOClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SSO { + +void SSOClientConfiguration::LoadSSOSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SSOClientConfiguration::SSOClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSSOSpecificConfig(this->profileName); +} + +SSOClientConfiguration::SSOClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSSOSpecificConfig(Aws::String(inputProfileName)); +} + +SSOClientConfiguration::SSOClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSSOSpecificConfig(this->profileName); +} + +SSOClientConfiguration::SSOClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadSSOSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SSOClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SSO +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sso/source/SSOEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sso/source/SSOEndpointProvider.cpp index 79284b6e1d64..2cfcaa6695d9 100644 --- a/generated/src/aws-cpp-sdk-sso/source/SSOEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sso/source/SSOEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SSO_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SSO { namespace Endpoint { SSOEndpointProvider::SSOEndpointProvider() : SSODefaultEpProviderBase(Aws::SSO::SSOEndpointRules::GetRulesBlob(), Aws::SSO::SSOEndpointRules::RulesBlobSize) {} +void SSOBuiltInParameters::SetFromClientConfiguration(const SSOClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SSOBuiltInParameters::SetFromClientConfiguration(const SSOClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SSOBuiltInParameters::SetServiceSpecificParameters(const SSOClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SSO } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h index dddfebb03050..3ee025b0933a 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClient.h @@ -67,27 +67,6 @@ class AWS_SFN_API SFNClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SFN::SFNClientConfiguration& clientConfiguration = Aws::SFN::SFNClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SFNClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SFNClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SFNClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SFNClient(); /** @@ -1581,7 +1560,6 @@ class AWS_SFN_API SFNClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SFNClient::ValidateStateMachineDefinition, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClientConfiguration.h b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClientConfiguration.h new file mode 100644 index 000000000000..b9da4d1dfd29 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNClientConfiguration.h @@ -0,0 +1,68 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SFN { +struct AWS_SFN_API SFNClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SFNClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SFNClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SFNClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SFNClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadSFNSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SFN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SFNClientConfiguration& config); +} // namespace SFN +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNEndpointProvider.h b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNEndpointProvider.h index fc271ba3a43b..3b0d5e636cc1 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SFN { namespace Endpoint { +using SFNClientConfiguration = Aws::SFN::SFNClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SFNClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SFNClientConfiguration = Aws::Client::GenericClientConfiguration; -using SFNBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SFN_API SFNBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SFNBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SFNClientConfiguration& config); + virtual void SetFromClientConfiguration(const SFNClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SFNClientConfiguration& config); +}; /** * The type for the SFN Client Endpoint Provider. @@ -32,6 +41,22 @@ using SFNEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SFN + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SFN_EXTERN template class AWS_SFN_API Aws::Endpoint::EndpointProviderBase< + SFN::Endpoint::SFNClientConfiguration, SFN::Endpoint::SFNBuiltInParameters, SFN::Endpoint::SFNClientContextParameters>; + +AWS_SFN_EXTERN template class AWS_SFN_API Aws::Endpoint::BDDEndpointProvider< + SFN::Endpoint::SFNClientConfiguration, SFN::Endpoint::SFNBuiltInParameters, SFN::Endpoint::SFNClientContextParameters>; +} // namespace Endpoint + +namespace SFN { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNServiceClientModel.h b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNServiceClientModel.h index c57a560596c6..bad6579fb90d 100644 --- a/generated/src/aws-cpp-sdk-states/include/aws/states/SFNServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-states/include/aws/states/SFNServiceClientModel.h @@ -86,7 +86,6 @@ class RetryStrategy; } // namespace Client namespace SFN { -using SFNClientConfiguration = Aws::Client::GenericClientConfiguration; using SFNEndpointProviderBase = Aws::SFN::Endpoint::SFNEndpointProviderBase; using SFNEndpointProvider = Aws::SFN::Endpoint::SFNEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-states/source/SFNClient.cpp b/generated/src/aws-cpp-sdk-states/source/SFNClient.cpp index 11f0b51e6a4e..441f33805f61 100644 --- a/generated/src/aws-cpp-sdk-states/source/SFNClient.cpp +++ b/generated/src/aws-cpp-sdk-states/source/SFNClient.cpp @@ -112,41 +112,6 @@ SFNClient::SFNClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SFNClient::SFNClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SFNClient::SFNClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SFNClient::SFNClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SFNClient::~SFNClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SFNClient::accessEndpointProvider() { return m_endpointProvider; } @@ -164,12 +129,7 @@ void SFNClient::init(const SFN::SFNClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "states"); -} - -void SFNClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SFNClient::InvokeOperationOutcome SFNClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-states/source/SFNClientConfiguration.cpp b/generated/src/aws-cpp-sdk-states/source/SFNClientConfiguration.cpp new file mode 100644 index 000000000000..3a74cfdbbd77 --- /dev/null +++ b/generated/src/aws-cpp-sdk-states/source/SFNClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SFN { + +void SFNClientConfiguration::LoadSFNSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SFNClientConfiguration::SFNClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSFNSpecificConfig(this->profileName); +} + +SFNClientConfiguration::SFNClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSFNSpecificConfig(Aws::String(inputProfileName)); +} + +SFNClientConfiguration::SFNClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSFNSpecificConfig(this->profileName); +} + +SFNClientConfiguration::SFNClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadSFNSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SFNClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SFN +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-states/source/SFNEndpointProvider.cpp b/generated/src/aws-cpp-sdk-states/source/SFNEndpointProvider.cpp index d9556100bbdc..f2933bfe7649 100644 --- a/generated/src/aws-cpp-sdk-states/source/SFNEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-states/source/SFNEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SFN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SFN { namespace Endpoint { SFNEndpointProvider::SFNEndpointProvider() : SFNDefaultEpProviderBase(Aws::SFN::SFNEndpointRules::GetRulesBlob(), Aws::SFN::SFNEndpointRules::RulesBlobSize) {} +void SFNBuiltInParameters::SetFromClientConfiguration(const SFNClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SFNBuiltInParameters::SetFromClientConfiguration(const SFNClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SFNBuiltInParameters::SetServiceSpecificParameters(const SFNClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SFN } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayClient.h b/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayClient.h index dd43223d87ad..3b5bc51f6883 100644 --- a/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayClient.h +++ b/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayClient.h @@ -103,27 +103,6 @@ class AWS_STORAGEGATEWAY_API StorageGatewayClient : public Aws::Client::AWSJsonC const Aws::StorageGateway::StorageGatewayClientConfiguration& clientConfiguration = Aws::StorageGateway::StorageGatewayClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - StorageGatewayClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - StorageGatewayClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - StorageGatewayClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~StorageGatewayClient(); /** @@ -3300,7 +3279,6 @@ class AWS_STORAGEGATEWAY_API StorageGatewayClient : public Aws::Client::AWSJsonC return SubmitAsync(&StorageGatewayClient::UpdateVTLDeviceType, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayClientConfiguration.h b/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayClientConfiguration.h new file mode 100644 index 000000000000..d066b9aad697 --- /dev/null +++ b/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace StorageGateway { +struct AWS_STORAGEGATEWAY_API StorageGatewayClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + StorageGatewayClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + StorageGatewayClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + StorageGatewayClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit StorageGatewayClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadStorageGatewaySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_STORAGEGATEWAY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const StorageGatewayClientConfiguration& config); +} // namespace StorageGateway +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayEndpointProvider.h b/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayEndpointProvider.h index a45786d8e901..bb45861fac4a 100644 --- a/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace StorageGateway { namespace Endpoint { +using StorageGatewayClientConfiguration = Aws::StorageGateway::StorageGatewayClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using StorageGatewayClientContextParameters = Aws::Endpoint::ClientContextParameters; -using StorageGatewayClientConfiguration = Aws::Client::GenericClientConfiguration; -using StorageGatewayBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_STORAGEGATEWAY_API StorageGatewayBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~StorageGatewayBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const StorageGatewayClientConfiguration& config); + virtual void SetFromClientConfiguration(const StorageGatewayClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const StorageGatewayClientConfiguration& config); +}; /** * The type for the StorageGateway Client Endpoint Provider. @@ -34,6 +43,24 @@ using StorageGatewayEndpointProviderBase = using StorageGatewayDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace StorageGateway + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_STORAGEGATEWAY_EXTERN template class AWS_STORAGEGATEWAY_API Aws::Endpoint::EndpointProviderBase< + StorageGateway::Endpoint::StorageGatewayClientConfiguration, StorageGateway::Endpoint::StorageGatewayBuiltInParameters, + StorageGateway::Endpoint::StorageGatewayClientContextParameters>; + +AWS_STORAGEGATEWAY_EXTERN template class AWS_STORAGEGATEWAY_API Aws::Endpoint::BDDEndpointProvider< + StorageGateway::Endpoint::StorageGatewayClientConfiguration, StorageGateway::Endpoint::StorageGatewayBuiltInParameters, + StorageGateway::Endpoint::StorageGatewayClientContextParameters>; +} // namespace Endpoint + +namespace StorageGateway { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayServiceClientModel.h b/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayServiceClientModel.h index 62e79d32255d..ba5654d59cf5 100644 --- a/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayServiceClientModel.h @@ -151,7 +151,6 @@ class RetryStrategy; } // namespace Client namespace StorageGateway { -using StorageGatewayClientConfiguration = Aws::Client::GenericClientConfiguration; using StorageGatewayEndpointProviderBase = Aws::StorageGateway::Endpoint::StorageGatewayEndpointProviderBase; using StorageGatewayEndpointProvider = Aws::StorageGateway::Endpoint::StorageGatewayEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayClient.cpp b/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayClient.cpp index 44921d995a3c..5c518970c205 100644 --- a/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayClient.cpp +++ b/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayClient.cpp @@ -174,41 +174,6 @@ StorageGatewayClient::StorageGatewayClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -StorageGatewayClient::StorageGatewayClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -StorageGatewayClient::StorageGatewayClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ StorageGatewayClient::~StorageGatewayClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& StorageGatewayClient::accessEndpointProvider() { return m_endpointProvider; } @@ -226,12 +191,7 @@ void StorageGatewayClient::init(const StorageGateway::StorageGatewayClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "storagegateway"); -} - -void StorageGatewayClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } StorageGatewayClient::InvokeOperationOutcome StorageGatewayClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayClientConfiguration.cpp b/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayClientConfiguration.cpp new file mode 100644 index 000000000000..7006d9a7ba51 --- /dev/null +++ b/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace StorageGateway { + +void StorageGatewayClientConfiguration::LoadStorageGatewaySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +StorageGatewayClientConfiguration::StorageGatewayClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadStorageGatewaySpecificConfig(this->profileName); +} + +StorageGatewayClientConfiguration::StorageGatewayClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadStorageGatewaySpecificConfig(Aws::String(inputProfileName)); +} + +StorageGatewayClientConfiguration::StorageGatewayClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadStorageGatewaySpecificConfig(this->profileName); +} + +StorageGatewayClientConfiguration::StorageGatewayClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadStorageGatewaySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const StorageGatewayClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace StorageGateway +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayEndpointProvider.cpp b/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayEndpointProvider.cpp index 8b4677916487..f16c1b8f9d9e 100644 --- a/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_STORAGEGATEWAY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace StorageGateway { namespace Endpoint { StorageGatewayEndpointProvider::StorageGatewayEndpointProvider() : StorageGatewayDefaultEpProviderBase(Aws::StorageGateway::StorageGatewayEndpointRules::GetRulesBlob(), Aws::StorageGateway::StorageGatewayEndpointRules::RulesBlobSize) {} +void StorageGatewayBuiltInParameters::SetFromClientConfiguration(const StorageGatewayClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void StorageGatewayBuiltInParameters::SetFromClientConfiguration(const StorageGatewayClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void StorageGatewayBuiltInParameters::SetServiceSpecificParameters(const StorageGatewayClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace StorageGateway } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSClient.h b/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSClient.h index 2420cf9abd9c..77cde51cd1ae 100644 --- a/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSClient.h +++ b/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSClient.h @@ -90,27 +90,6 @@ class AWS_STS_API STSClient std::shared_ptr endpointProvider = nullptr, const Aws::STS::STSClientConfiguration& clientConfiguration = Aws::STS::STSClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - STSClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - STSClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - STSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~STSClient(); /** @@ -948,7 +927,6 @@ class AWS_STS_API STSClient return SubmitAsync(&STSClient::GetWebIdentityToken, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSClientConfiguration.h b/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSClientConfiguration.h new file mode 100644 index 000000000000..c466eea6d261 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSClientConfiguration.h @@ -0,0 +1,66 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace STS { +struct AWS_STS_API STSClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + STSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + STSClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + STSClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit STSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + + private: + void LoadSTSSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_STS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const STSClientConfiguration& config); +} // namespace STS +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSEndpointProvider.h b/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSEndpointProvider.h index f18633e836b7..ef65c41a40a0 100644 --- a/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace STS { namespace Endpoint { +using STSClientConfiguration = Aws::STS::STSClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using STSClientContextParameters = Aws::Endpoint::ClientContextParameters; -using STSClientConfiguration = Aws::Client::GenericClientConfiguration; -using STSBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_STS_API STSBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~STSBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const STSClientConfiguration& config); + virtual void SetFromClientConfiguration(const STSClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const STSClientConfiguration& config); +}; /** * The type for the STS Client Endpoint Provider. @@ -32,6 +41,22 @@ using STSEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace STS + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_STS_EXTERN template class AWS_STS_API Aws::Endpoint::EndpointProviderBase< + STS::Endpoint::STSClientConfiguration, STS::Endpoint::STSBuiltInParameters, STS::Endpoint::STSClientContextParameters>; + +AWS_STS_EXTERN template class AWS_STS_API Aws::Endpoint::BDDEndpointProvider< + STS::Endpoint::STSClientConfiguration, STS::Endpoint::STSBuiltInParameters, STS::Endpoint::STSClientContextParameters>; +} // namespace Endpoint + +namespace STS { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSServiceClientModel.h b/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSServiceClientModel.h index 2ab37eb26902..04b044c39b66 100644 --- a/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sts/include/aws/sts/STSServiceClientModel.h @@ -59,7 +59,6 @@ class RetryStrategy; } // namespace Client namespace STS { -using STSClientConfiguration = Aws::Client::GenericClientConfiguration; using STSEndpointProviderBase = Aws::STS::Endpoint::STSEndpointProviderBase; using STSEndpointProvider = Aws::STS::Endpoint::STSEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sts/source/STSClient.cpp b/generated/src/aws-cpp-sdk-sts/source/STSClient.cpp index f5a4aaa5affc..dbf3c40002ef 100644 --- a/generated/src/aws-cpp-sdk-sts/source/STSClient.cpp +++ b/generated/src/aws-cpp-sdk-sts/source/STSClient.cpp @@ -118,74 +118,11 @@ STSClient::STSClient(const std::shared_ptr& credentialsP }) {} /* Legacy constructors due deprecation */ -STSClient::STSClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "STS", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::SigV4aAuthSchemeOption::sigV4aAuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - {smithy::SigV4aAuthSchemeOption::sigV4aAuthSchemeOption.schemeId, - smithy::SigV4aAuthScheme{GetServiceName(), clientConfiguration.region, - clientConfiguration.ResolveCredentialProviderConfig()}}, - {smithy::NoAuthSchemeOption::noAuthSchemeOption.schemeId, - smithy::NoAuthScheme{GetServiceName(), clientConfiguration.region, clientConfiguration.ResolveCredentialProviderConfig()}}, - }) {} - -STSClient::STSClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "STS", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::SigV4aAuthSchemeOption::sigV4aAuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - {smithy::SigV4aAuthSchemeOption::sigV4aAuthSchemeOption.schemeId, - smithy::SigV4aAuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - {smithy::NoAuthSchemeOption::noAuthSchemeOption.schemeId, - smithy::NoAuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentials), - GetServiceName(), clientConfiguration.region}}, - }) {} - -STSClient::STSClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : AwsSmithyClientT( - clientConfiguration, GetServiceName(), "STS", Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared(ALLOCATION_TAG), Aws::MakeShared(ALLOCATION_TAG), - Aws::MakeShared>( - ALLOCATION_TAG, Aws::Vector({smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption, - smithy::SigV4aAuthSchemeOption::sigV4aAuthSchemeOption})), - { - {smithy::SigV4AuthSchemeOption::sigV4AuthSchemeOption.schemeId, - smithy::SigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - {smithy::SigV4aAuthSchemeOption::sigV4aAuthSchemeOption.schemeId, - smithy::SigV4aAuthScheme{ - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), GetServiceName(), - clientConfiguration.region}}, - {smithy::NoAuthSchemeOption::noAuthSchemeOption.schemeId, - smithy::NoAuthScheme{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), - GetServiceName(), clientConfiguration.region}}, - }) {} /* End of legacy constructors due deprecation */ STSClient::~STSClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& STSClient::accessEndpointProvider() { return m_endpointProvider; } - -void STSClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -} Aws::String STSClient::ConvertRequestToPresignedUrl(const AmazonSerializableWebServiceRequest& requestToConvert, const char* region) const { EndpointUpdateCallback endpointCallback = [&](Aws::Endpoint::AWSEndpoint& endpoint) { Aws::StringStream ss; diff --git a/generated/src/aws-cpp-sdk-sts/source/STSClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sts/source/STSClientConfiguration.cpp new file mode 100644 index 000000000000..bdbbb9044c9b --- /dev/null +++ b/generated/src/aws-cpp-sdk-sts/source/STSClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace STS { + +void STSClientConfiguration::LoadSTSSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +STSClientConfiguration::STSClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSTSSpecificConfig(this->profileName); +} + +STSClientConfiguration::STSClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSTSSpecificConfig(Aws::String(inputProfileName)); +} + +STSClientConfiguration::STSClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSTSSpecificConfig(this->profileName); +} + +STSClientConfiguration::STSClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadSTSSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const STSClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + +} // namespace STS +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sts/source/STSEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sts/source/STSEndpointProvider.cpp index c0af19bba3d9..32b228799ddb 100644 --- a/generated/src/aws-cpp-sdk-sts/source/STSEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sts/source/STSEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_STS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace STS { namespace Endpoint { STSEndpointProvider::STSEndpointProvider() : STSDefaultEpProviderBase(Aws::STS::STSEndpointRules::GetRulesBlob(), Aws::STS::STSEndpointRules::RulesBlobSize) {} +void STSBuiltInParameters::SetFromClientConfiguration(const STSClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void STSBuiltInParameters::SetFromClientConfiguration(const STSClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void STSBuiltInParameters::SetServiceSpecificParameters(const STSClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace STS } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClient.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClient.h index 8a0315225d96..9ed3071f0fdf 100644 --- a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClient.h +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClient.h @@ -63,27 +63,6 @@ class AWS_SUPPLYCHAIN_API SupplyChainClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SupplyChain::SupplyChainClientConfiguration& clientConfiguration = Aws::SupplyChain::SupplyChainClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SupplyChainClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SupplyChainClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SupplyChainClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SupplyChainClient(); /** @@ -981,7 +960,6 @@ class AWS_SUPPLYCHAIN_API SupplyChainClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SupplyChainClient::UpdateInstance, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClientConfiguration.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClientConfiguration.h new file mode 100644 index 000000000000..d99be9ac2e30 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SupplyChain { +struct AWS_SUPPLYCHAIN_API SupplyChainClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SupplyChainClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SupplyChainClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SupplyChainClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SupplyChainClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSupplyChainSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SUPPLYCHAIN_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SupplyChainClientConfiguration& config); +} // namespace SupplyChain +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointProvider.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointProvider.h index ddd361efe556..17af4051dde6 100644 --- a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SupplyChain { namespace Endpoint { +using SupplyChainClientConfiguration = Aws::SupplyChain::SupplyChainClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SupplyChainClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SupplyChainClientConfiguration = Aws::Client::GenericClientConfiguration; -using SupplyChainBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SUPPLYCHAIN_API SupplyChainBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SupplyChainBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SupplyChainClientConfiguration& config); + virtual void SetFromClientConfiguration(const SupplyChainClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SupplyChainClientConfiguration& config); +}; /** * The type for the SupplyChain Client Endpoint Provider. @@ -34,6 +43,24 @@ using SupplyChainEndpointProviderBase = using SupplyChainDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SupplyChain + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SUPPLYCHAIN_EXTERN template class AWS_SUPPLYCHAIN_API Aws::Endpoint::EndpointProviderBase< + SupplyChain::Endpoint::SupplyChainClientConfiguration, SupplyChain::Endpoint::SupplyChainBuiltInParameters, + SupplyChain::Endpoint::SupplyChainClientContextParameters>; + +AWS_SUPPLYCHAIN_EXTERN template class AWS_SUPPLYCHAIN_API Aws::Endpoint::BDDEndpointProvider< + SupplyChain::Endpoint::SupplyChainClientConfiguration, SupplyChain::Endpoint::SupplyChainBuiltInParameters, + SupplyChain::Endpoint::SupplyChainClientContextParameters>; +} // namespace Endpoint + +namespace SupplyChain { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainServiceClientModel.h b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainServiceClientModel.h index 39da7552cf68..b2b4928d2ea8 100644 --- a/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainServiceClientModel.h @@ -78,7 +78,6 @@ class RetryStrategy; } // namespace Client namespace SupplyChain { -using SupplyChainClientConfiguration = Aws::Client::GenericClientConfiguration; using SupplyChainEndpointProviderBase = Aws::SupplyChain::Endpoint::SupplyChainEndpointProviderBase; using SupplyChainEndpointProvider = Aws::SupplyChain::Endpoint::SupplyChainEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClient.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClient.cpp index fbbe42a73676..732ec8b97cf6 100644 --- a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClient.cpp +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClient.cpp @@ -107,41 +107,6 @@ SupplyChainClient::SupplyChainClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SupplyChainClient::SupplyChainClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SupplyChainClient::SupplyChainClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SupplyChainClient::~SupplyChainClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SupplyChainClient::accessEndpointProvider() { return m_endpointProvider; } @@ -159,12 +124,7 @@ void SupplyChainClient::init(const SupplyChain::SupplyChainClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "scn"); -} - -void SupplyChainClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SupplyChainClient::InvokeOperationOutcome SupplyChainClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClientConfiguration.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClientConfiguration.cpp new file mode 100644 index 000000000000..ffbc0d6334c9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SupplyChain { + +void SupplyChainClientConfiguration::LoadSupplyChainSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SupplyChainClientConfiguration::SupplyChainClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSupplyChainSpecificConfig(this->profileName); +} + +SupplyChainClientConfiguration::SupplyChainClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSupplyChainSpecificConfig(Aws::String(inputProfileName)); +} + +SupplyChainClientConfiguration::SupplyChainClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSupplyChainSpecificConfig(this->profileName); +} + +SupplyChainClientConfiguration::SupplyChainClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSupplyChainSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SupplyChainClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SupplyChain +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointProvider.cpp b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointProvider.cpp index fda17938f3df..e5ddc5e5b223 100644 --- a/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-supplychain/source/SupplyChainEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_SUPPLYCHAIN_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SupplyChain { namespace Endpoint { SupplyChainEndpointProvider::SupplyChainEndpointProvider() : SupplyChainDefaultEpProviderBase(Aws::SupplyChain::SupplyChainEndpointRules::GetRulesBlob(), Aws::SupplyChain::SupplyChainEndpointRules::RulesBlobSize) {} +void SupplyChainBuiltInParameters::SetFromClientConfiguration(const SupplyChainClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SupplyChainBuiltInParameters::SetFromClientConfiguration(const SupplyChainClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SupplyChainBuiltInParameters::SetServiceSpecificParameters(const SupplyChainClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SupplyChain } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppClient.h b/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppClient.h index 1348e414e5eb..6130a293e6ef 100644 --- a/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppClient.h +++ b/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppClient.h @@ -84,27 +84,6 @@ class AWS_SUPPORTAPP_API SupportAppClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SupportApp::SupportAppClientConfiguration& clientConfiguration = Aws::SupportApp::SupportAppClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SupportAppClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SupportAppClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SupportAppClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SupportAppClient(); /** @@ -440,7 +419,6 @@ class AWS_SUPPORTAPP_API SupportAppClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SupportAppClient::UpdateSlackChannelConfiguration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppClientConfiguration.h b/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppClientConfiguration.h new file mode 100644 index 000000000000..ba487ef2b7c8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SupportApp { +struct AWS_SUPPORTAPP_API SupportAppClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SupportAppClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SupportAppClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SupportAppClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SupportAppClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSupportAppSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SUPPORTAPP_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SupportAppClientConfiguration& config); +} // namespace SupportApp +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppEndpointProvider.h b/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppEndpointProvider.h index 98f27712600c..21687ef982b4 100644 --- a/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SupportApp { namespace Endpoint { +using SupportAppClientConfiguration = Aws::SupportApp::SupportAppClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SupportAppClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SupportAppClientConfiguration = Aws::Client::GenericClientConfiguration; -using SupportAppBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SUPPORTAPP_API SupportAppBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SupportAppBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SupportAppClientConfiguration& config); + virtual void SetFromClientConfiguration(const SupportAppClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SupportAppClientConfiguration& config); +}; /** * The type for the SupportApp Client Endpoint Provider. @@ -34,6 +43,24 @@ using SupportAppEndpointProviderBase = using SupportAppDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SupportApp + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SUPPORTAPP_EXTERN template class AWS_SUPPORTAPP_API Aws::Endpoint::EndpointProviderBase< + SupportApp::Endpoint::SupportAppClientConfiguration, SupportApp::Endpoint::SupportAppBuiltInParameters, + SupportApp::Endpoint::SupportAppClientContextParameters>; + +AWS_SUPPORTAPP_EXTERN template class AWS_SUPPORTAPP_API Aws::Endpoint::BDDEndpointProvider< + SupportApp::Endpoint::SupportAppClientConfiguration, SupportApp::Endpoint::SupportAppBuiltInParameters, + SupportApp::Endpoint::SupportAppClientContextParameters>; +} // namespace Endpoint + +namespace SupportApp { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppServiceClientModel.h b/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppServiceClientModel.h index 820104f09d7c..153655282cfa 100644 --- a/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace SupportApp { -using SupportAppClientConfiguration = Aws::Client::GenericClientConfiguration; using SupportAppEndpointProviderBase = Aws::SupportApp::Endpoint::SupportAppEndpointProviderBase; using SupportAppEndpointProvider = Aws::SupportApp::Endpoint::SupportAppEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-support-app/source/SupportAppClient.cpp b/generated/src/aws-cpp-sdk-support-app/source/SupportAppClient.cpp index 2d58dec887be..4aba2cbc7c7a 100644 --- a/generated/src/aws-cpp-sdk-support-app/source/SupportAppClient.cpp +++ b/generated/src/aws-cpp-sdk-support-app/source/SupportAppClient.cpp @@ -87,41 +87,6 @@ SupportAppClient::SupportAppClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SupportAppClient::SupportAppClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SupportAppClient::SupportAppClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SupportAppClient::SupportAppClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SupportAppClient::~SupportAppClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SupportAppClient::accessEndpointProvider() { return m_endpointProvider; } @@ -139,12 +104,7 @@ void SupportAppClient::init(const SupportApp::SupportAppClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "supportapp"); -} - -void SupportAppClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SupportAppClient::InvokeOperationOutcome SupportAppClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-support-app/source/SupportAppClientConfiguration.cpp b/generated/src/aws-cpp-sdk-support-app/source/SupportAppClientConfiguration.cpp new file mode 100644 index 000000000000..860ba6a588bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-support-app/source/SupportAppClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SupportApp { + +void SupportAppClientConfiguration::LoadSupportAppSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SupportAppClientConfiguration::SupportAppClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSupportAppSpecificConfig(this->profileName); +} + +SupportAppClientConfiguration::SupportAppClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSupportAppSpecificConfig(Aws::String(inputProfileName)); +} + +SupportAppClientConfiguration::SupportAppClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSupportAppSpecificConfig(this->profileName); +} + +SupportAppClientConfiguration::SupportAppClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSupportAppSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SupportAppClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SupportApp +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-support-app/source/SupportAppEndpointProvider.cpp b/generated/src/aws-cpp-sdk-support-app/source/SupportAppEndpointProvider.cpp index 4d599fd4277e..7d1a9e6a4935 100644 --- a/generated/src/aws-cpp-sdk-support-app/source/SupportAppEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-support-app/source/SupportAppEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SUPPORTAPP_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SupportApp { namespace Endpoint { SupportAppEndpointProvider::SupportAppEndpointProvider() : SupportAppDefaultEpProviderBase(Aws::SupportApp::SupportAppEndpointRules::GetRulesBlob(), Aws::SupportApp::SupportAppEndpointRules::RulesBlobSize) {} +void SupportAppBuiltInParameters::SetFromClientConfiguration(const SupportAppClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SupportAppBuiltInParameters::SetFromClientConfiguration(const SupportAppClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SupportAppBuiltInParameters::SetServiceSpecificParameters(const SupportAppClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SupportApp } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-support/include/aws/support/SupportClient.h b/generated/src/aws-cpp-sdk-support/include/aws/support/SupportClient.h index 375e12c893bf..0ac2fdec917b 100644 --- a/generated/src/aws-cpp-sdk-support/include/aws/support/SupportClient.h +++ b/generated/src/aws-cpp-sdk-support/include/aws/support/SupportClient.h @@ -95,27 +95,6 @@ class AWS_SUPPORT_API SupportClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Support::SupportClientConfiguration& clientConfiguration = Aws::Support::SupportClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SupportClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SupportClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SupportClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SupportClient(); /** @@ -1147,7 +1126,6 @@ class AWS_SUPPORT_API SupportClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SupportClient::ResolveCase, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-support/include/aws/support/SupportClientConfiguration.h b/generated/src/aws-cpp-sdk-support/include/aws/support/SupportClientConfiguration.h new file mode 100644 index 000000000000..c5be571e1586 --- /dev/null +++ b/generated/src/aws-cpp-sdk-support/include/aws/support/SupportClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Support { +struct AWS_SUPPORT_API SupportClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SupportClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SupportClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SupportClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SupportClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSupportSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SUPPORT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SupportClientConfiguration& config); +} // namespace Support +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-support/include/aws/support/SupportEndpointProvider.h b/generated/src/aws-cpp-sdk-support/include/aws/support/SupportEndpointProvider.h index 31d3f5d039ec..404204829998 100644 --- a/generated/src/aws-cpp-sdk-support/include/aws/support/SupportEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-support/include/aws/support/SupportEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Support { namespace Endpoint { +using SupportClientConfiguration = Aws::Support::SupportClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SupportClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SupportClientConfiguration = Aws::Client::GenericClientConfiguration; -using SupportBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SUPPORT_API SupportBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SupportBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SupportClientConfiguration& config); + virtual void SetFromClientConfiguration(const SupportClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SupportClientConfiguration& config); +}; /** * The type for the Support Client Endpoint Provider. @@ -34,6 +43,24 @@ using SupportEndpointProviderBase = using SupportDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Support + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SUPPORT_EXTERN template class AWS_SUPPORT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_SUPPORT_EXTERN template class AWS_SUPPORT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Support { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-support/include/aws/support/SupportServiceClientModel.h b/generated/src/aws-cpp-sdk-support/include/aws/support/SupportServiceClientModel.h index 3c08181fef66..91c82f8ee5f4 100644 --- a/generated/src/aws-cpp-sdk-support/include/aws/support/SupportServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-support/include/aws/support/SupportServiceClientModel.h @@ -70,7 +70,6 @@ class RetryStrategy; } // namespace Client namespace Support { -using SupportClientConfiguration = Aws::Client::GenericClientConfiguration; using SupportEndpointProviderBase = Aws::Support::Endpoint::SupportEndpointProviderBase; using SupportEndpointProvider = Aws::Support::Endpoint::SupportEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-support/source/SupportClient.cpp b/generated/src/aws-cpp-sdk-support/source/SupportClient.cpp index d6e5712842cf..8475587e5c41 100644 --- a/generated/src/aws-cpp-sdk-support/source/SupportClient.cpp +++ b/generated/src/aws-cpp-sdk-support/source/SupportClient.cpp @@ -97,41 +97,6 @@ SupportClient::SupportClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SupportClient::SupportClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SupportClient::SupportClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SupportClient::SupportClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SupportClient::~SupportClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SupportClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void SupportClient::init(const Support::SupportClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "support"); -} - -void SupportClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SupportClient::InvokeOperationOutcome SupportClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-support/source/SupportClientConfiguration.cpp b/generated/src/aws-cpp-sdk-support/source/SupportClientConfiguration.cpp new file mode 100644 index 000000000000..cd8374a8c942 --- /dev/null +++ b/generated/src/aws-cpp-sdk-support/source/SupportClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Support { + +void SupportClientConfiguration::LoadSupportSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SupportClientConfiguration::SupportClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSupportSpecificConfig(this->profileName); +} + +SupportClientConfiguration::SupportClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSupportSpecificConfig(Aws::String(inputProfileName)); +} + +SupportClientConfiguration::SupportClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSupportSpecificConfig(this->profileName); +} + +SupportClientConfiguration::SupportClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSupportSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SupportClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Support +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-support/source/SupportEndpointProvider.cpp b/generated/src/aws-cpp-sdk-support/source/SupportEndpointProvider.cpp index 793ad4a2aa6d..17c90ad12254 100644 --- a/generated/src/aws-cpp-sdk-support/source/SupportEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-support/source/SupportEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_SUPPORT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Support { namespace Endpoint { SupportEndpointProvider::SupportEndpointProvider() : SupportDefaultEpProviderBase(Aws::Support::SupportEndpointRules::GetRulesBlob(), Aws::Support::SupportEndpointRules::RulesBlobSize) {} +void SupportBuiltInParameters::SetFromClientConfiguration(const SupportClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SupportBuiltInParameters::SetFromClientConfiguration(const SupportClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SupportBuiltInParameters::SetServiceSpecificParameters(const SupportClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Support } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZClient.h b/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZClient.h index 22edc3f777b3..0b35d5a4fe1a 100644 --- a/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZClient.h +++ b/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZClient.h @@ -60,27 +60,6 @@ class AWS_SUPPORTAUTHZ_API SupportAuthZClient : public Aws::Client::AWSJsonClien std::shared_ptr endpointProvider = nullptr, const Aws::SupportAuthZ::SupportAuthZClientConfiguration& clientConfiguration = Aws::SupportAuthZ::SupportAuthZClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SupportAuthZClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SupportAuthZClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SupportAuthZClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SupportAuthZClient(); /** @@ -388,7 +367,6 @@ class AWS_SUPPORTAUTHZ_API SupportAuthZClient : public Aws::Client::AWSJsonClien return SubmitAsync(&SupportAuthZClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZClientConfiguration.h b/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZClientConfiguration.h new file mode 100644 index 000000000000..2a4b78052f06 --- /dev/null +++ b/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SupportAuthZ { +struct AWS_SUPPORTAUTHZ_API SupportAuthZClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SupportAuthZClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SupportAuthZClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SupportAuthZClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SupportAuthZClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadSupportAuthZSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SUPPORTAUTHZ_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SupportAuthZClientConfiguration& config); +} // namespace SupportAuthZ +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZEndpointProvider.h b/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZEndpointProvider.h index 746a460562ee..145f9a4f9c7d 100644 --- a/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SupportAuthZ { namespace Endpoint { +using SupportAuthZClientConfiguration = Aws::SupportAuthZ::SupportAuthZClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SupportAuthZClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SupportAuthZClientConfiguration = Aws::Client::GenericClientConfiguration; -using SupportAuthZBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SUPPORTAUTHZ_API SupportAuthZBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SupportAuthZBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SupportAuthZClientConfiguration& config); + virtual void SetFromClientConfiguration(const SupportAuthZClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SupportAuthZClientConfiguration& config); +}; /** * The type for the SupportAuthZ Client Endpoint Provider. @@ -34,6 +43,24 @@ using SupportAuthZEndpointProviderBase = using SupportAuthZDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace SupportAuthZ + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SUPPORTAUTHZ_EXTERN template class AWS_SUPPORTAUTHZ_API Aws::Endpoint::EndpointProviderBase< + SupportAuthZ::Endpoint::SupportAuthZClientConfiguration, SupportAuthZ::Endpoint::SupportAuthZBuiltInParameters, + SupportAuthZ::Endpoint::SupportAuthZClientContextParameters>; + +AWS_SUPPORTAUTHZ_EXTERN template class AWS_SUPPORTAUTHZ_API Aws::Endpoint::BDDEndpointProvider< + SupportAuthZ::Endpoint::SupportAuthZClientConfiguration, SupportAuthZ::Endpoint::SupportAuthZBuiltInParameters, + SupportAuthZ::Endpoint::SupportAuthZClientContextParameters>; +} // namespace Endpoint + +namespace SupportAuthZ { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZServiceClientModel.h b/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZServiceClientModel.h index 4cb168aec7f8..a063fcb5e3aa 100644 --- a/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZServiceClientModel.h @@ -59,7 +59,6 @@ class RetryStrategy; } // namespace Client namespace SupportAuthZ { -using SupportAuthZClientConfiguration = Aws::Client::GenericClientConfiguration; using SupportAuthZEndpointProviderBase = Aws::SupportAuthZ::Endpoint::SupportAuthZEndpointProviderBase; using SupportAuthZEndpointProvider = Aws::SupportAuthZ::Endpoint::SupportAuthZEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZClient.cpp b/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZClient.cpp index ac4bf1d29fbe..9da9f5f053d9 100644 --- a/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZClient.cpp +++ b/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZClient.cpp @@ -89,41 +89,6 @@ SupportAuthZClient::SupportAuthZClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SupportAuthZClient::SupportAuthZClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SupportAuthZClient::SupportAuthZClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SupportAuthZClient::~SupportAuthZClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SupportAuthZClient::accessEndpointProvider() { return m_endpointProvider; } @@ -141,12 +106,7 @@ void SupportAuthZClient::init(const SupportAuthZ::SupportAuthZClientConfiguratio AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "supportauthz"); -} - -void SupportAuthZClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SupportAuthZClient::InvokeOperationOutcome SupportAuthZClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZClientConfiguration.cpp b/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZClientConfiguration.cpp new file mode 100644 index 000000000000..95d41fa070aa --- /dev/null +++ b/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SupportAuthZ { + +void SupportAuthZClientConfiguration::LoadSupportAuthZSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SupportAuthZClientConfiguration::SupportAuthZClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSupportAuthZSpecificConfig(this->profileName); +} + +SupportAuthZClientConfiguration::SupportAuthZClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSupportAuthZSpecificConfig(Aws::String(inputProfileName)); +} + +SupportAuthZClientConfiguration::SupportAuthZClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSupportAuthZSpecificConfig(this->profileName); +} + +SupportAuthZClientConfiguration::SupportAuthZClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSupportAuthZSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SupportAuthZClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SupportAuthZ +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZEndpointProvider.cpp b/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZEndpointProvider.cpp index 971710ca9239..ea86bda1f1de 100644 --- a/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_SUPPORTAUTHZ_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SupportAuthZ { namespace Endpoint { SupportAuthZEndpointProvider::SupportAuthZEndpointProvider() : SupportAuthZDefaultEpProviderBase(Aws::SupportAuthZ::SupportAuthZEndpointRules::GetRulesBlob(), Aws::SupportAuthZ::SupportAuthZEndpointRules::RulesBlobSize) {} +void SupportAuthZBuiltInParameters::SetFromClientConfiguration(const SupportAuthZClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SupportAuthZBuiltInParameters::SetFromClientConfiguration(const SupportAuthZClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SupportAuthZBuiltInParameters::SetServiceSpecificParameters(const SupportAuthZClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace SupportAuthZ } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityClient.h b/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityClient.h index db16206d6e92..d8ab153ca943 100644 --- a/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityClient.h +++ b/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityClient.h @@ -70,27 +70,6 @@ class AWS_SUSTAINABILITY_API SustainabilityClient : public Aws::Client::AWSJsonC const Aws::Sustainability::SustainabilityClientConfiguration& clientConfiguration = Aws::Sustainability::SustainabilityClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SustainabilityClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SustainabilityClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SustainabilityClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SustainabilityClient(); /** @@ -219,7 +198,6 @@ class AWS_SUSTAINABILITY_API SustainabilityClient : public Aws::Client::AWSJsonC return SubmitAsync(&SustainabilityClient::GetEstimatedWaterAllocationDimensionValues, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityClientConfiguration.h b/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityClientConfiguration.h new file mode 100644 index 000000000000..6ab1ab8c50d4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityClientConfiguration.h @@ -0,0 +1,60 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Sustainability { +struct AWS_SUSTAINABILITY_API SustainabilityClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SustainabilityClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SustainabilityClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SustainabilityClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SustainabilityClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; + + private: + void LoadSustainabilitySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SUSTAINABILITY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SustainabilityClientConfiguration& config); +} // namespace Sustainability +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityEndpointProvider.h b/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityEndpointProvider.h index 86252b5afd3e..3f1408bdb589 100644 --- a/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Sustainability { namespace Endpoint { +using SustainabilityClientConfiguration = Aws::Sustainability::SustainabilityClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SustainabilityClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SustainabilityClientConfiguration = Aws::Client::GenericClientConfiguration; -using SustainabilityBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SUSTAINABILITY_API SustainabilityBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SustainabilityBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SustainabilityClientConfiguration& config); + virtual void SetFromClientConfiguration(const SustainabilityClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SustainabilityClientConfiguration& config); +}; /** * The type for the Sustainability Client Endpoint Provider. @@ -34,6 +43,24 @@ using SustainabilityEndpointProviderBase = using SustainabilityDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Sustainability + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SUSTAINABILITY_EXTERN template class AWS_SUSTAINABILITY_API Aws::Endpoint::EndpointProviderBase< + Sustainability::Endpoint::SustainabilityClientConfiguration, Sustainability::Endpoint::SustainabilityBuiltInParameters, + Sustainability::Endpoint::SustainabilityClientContextParameters>; + +AWS_SUSTAINABILITY_EXTERN template class AWS_SUSTAINABILITY_API Aws::Endpoint::BDDEndpointProvider< + Sustainability::Endpoint::SustainabilityClientConfiguration, Sustainability::Endpoint::SustainabilityBuiltInParameters, + Sustainability::Endpoint::SustainabilityClientContextParameters>; +} // namespace Endpoint + +namespace Sustainability { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityServiceClientModel.h b/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityServiceClientModel.h index 2bddf27c03c5..c87915b38d92 100644 --- a/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityServiceClientModel.h @@ -50,7 +50,6 @@ class RetryStrategy; } // namespace Client namespace Sustainability { -using SustainabilityClientConfiguration = Aws::Client::GenericClientConfiguration; using SustainabilityEndpointProviderBase = Aws::Sustainability::Endpoint::SustainabilityEndpointProviderBase; using SustainabilityEndpointProvider = Aws::Sustainability::Endpoint::SustainabilityEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityClient.cpp b/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityClient.cpp index 1bde695d42db..8cea94df9bfb 100644 --- a/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityClient.cpp +++ b/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityClient.cpp @@ -84,43 +84,6 @@ SustainabilityClient::SustainabilityClient(const std::shared_ptr( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SustainabilityClient::SustainabilityClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SustainabilityClient::SustainabilityClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SustainabilityClient::~SustainabilityClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SustainabilityClient::accessEndpointProvider() { return m_endpointProvider; } @@ -138,12 +101,7 @@ void SustainabilityClient::init(const Sustainability::SustainabilityClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "sustainability"); -} - -void SustainabilityClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SustainabilityClient::InvokeOperationOutcome SustainabilityClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityClientConfiguration.cpp b/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityClientConfiguration.cpp new file mode 100644 index 000000000000..2800f1c0e7fa --- /dev/null +++ b/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Sustainability { + +void SustainabilityClientConfiguration::LoadSustainabilitySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SustainabilityClientConfiguration::SustainabilityClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSustainabilitySpecificConfig(this->profileName); +} + +SustainabilityClientConfiguration::SustainabilityClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSustainabilitySpecificConfig(Aws::String(inputProfileName)); +} + +SustainabilityClientConfiguration::SustainabilityClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSustainabilitySpecificConfig(this->profileName); +} + +SustainabilityClientConfiguration::SustainabilityClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSustainabilitySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SustainabilityClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; + return options; +} + +} // namespace Sustainability +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityEndpointProvider.cpp b/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityEndpointProvider.cpp index c3a7ca5031c2..d08ce4be2c36 100644 --- a/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-sustainability/source/SustainabilityEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_SUSTAINABILITY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Sustainability { namespace Endpoint { SustainabilityEndpointProvider::SustainabilityEndpointProvider() : SustainabilityDefaultEpProviderBase(Aws::Sustainability::SustainabilityEndpointRules::GetRulesBlob(), Aws::Sustainability::SustainabilityEndpointRules::RulesBlobSize) {} +void SustainabilityBuiltInParameters::SetFromClientConfiguration(const SustainabilityClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SustainabilityBuiltInParameters::SetFromClientConfiguration(const SustainabilityClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SustainabilityBuiltInParameters::SetServiceSpecificParameters(const SustainabilityClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace Sustainability } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFClient.h b/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFClient.h index 3c415cfa7bb4..e20ee09b0dd2 100644 --- a/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFClient.h +++ b/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFClient.h @@ -64,27 +64,6 @@ class AWS_SWF_API SWFClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::SWF::SWFClientConfiguration& clientConfiguration = Aws::SWF::SWFClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SWFClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SWFClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SWFClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SWFClient(); /** @@ -1919,7 +1898,6 @@ class AWS_SWF_API SWFClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SWFClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFClientConfiguration.h b/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFClientConfiguration.h new file mode 100644 index 000000000000..c81c0ac7fd8a --- /dev/null +++ b/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace SWF { +struct AWS_SWF_API SWFClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SWFClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SWFClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SWFClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SWFClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSWFSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SWF_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SWFClientConfiguration& config); +} // namespace SWF +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFEndpointProvider.h b/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFEndpointProvider.h index bdd36e3e44a4..cfb3c833736a 100644 --- a/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace SWF { namespace Endpoint { +using SWFClientConfiguration = Aws::SWF::SWFClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SWFClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SWFClientConfiguration = Aws::Client::GenericClientConfiguration; -using SWFBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SWF_API SWFBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SWFBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SWFClientConfiguration& config); + virtual void SetFromClientConfiguration(const SWFClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SWFClientConfiguration& config); +}; /** * The type for the SWF Client Endpoint Provider. @@ -32,6 +41,22 @@ using SWFEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace SWF + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SWF_EXTERN template class AWS_SWF_API Aws::Endpoint::EndpointProviderBase< + SWF::Endpoint::SWFClientConfiguration, SWF::Endpoint::SWFBuiltInParameters, SWF::Endpoint::SWFClientContextParameters>; + +AWS_SWF_EXTERN template class AWS_SWF_API Aws::Endpoint::BDDEndpointProvider< + SWF::Endpoint::SWFClientConfiguration, SWF::Endpoint::SWFBuiltInParameters, SWF::Endpoint::SWFClientContextParameters>; +} // namespace Endpoint + +namespace SWF { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFServiceClientModel.h b/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFServiceClientModel.h index fc4e806e3054..934dfe9e65fc 100644 --- a/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFServiceClientModel.h @@ -66,7 +66,6 @@ class RetryStrategy; } // namespace Client namespace SWF { -using SWFClientConfiguration = Aws::Client::GenericClientConfiguration; using SWFEndpointProviderBase = Aws::SWF::Endpoint::SWFEndpointProviderBase; using SWFEndpointProvider = Aws::SWF::Endpoint::SWFEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-swf/source/SWFClient.cpp b/generated/src/aws-cpp-sdk-swf/source/SWFClient.cpp index af96201cdf5c..844efad830ce 100644 --- a/generated/src/aws-cpp-sdk-swf/source/SWFClient.cpp +++ b/generated/src/aws-cpp-sdk-swf/source/SWFClient.cpp @@ -114,41 +114,6 @@ SWFClient::SWFClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SWFClient::SWFClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SWFClient::SWFClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SWFClient::SWFClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SWFClient::~SWFClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SWFClient::accessEndpointProvider() { return m_endpointProvider; } @@ -166,12 +131,7 @@ void SWFClient::init(const SWF::SWFClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "swf"); -} - -void SWFClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SWFClient::InvokeOperationOutcome SWFClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-swf/source/SWFClientConfiguration.cpp b/generated/src/aws-cpp-sdk-swf/source/SWFClientConfiguration.cpp new file mode 100644 index 000000000000..a3aba8d57abe --- /dev/null +++ b/generated/src/aws-cpp-sdk-swf/source/SWFClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace SWF { + +void SWFClientConfiguration::LoadSWFSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SWFClientConfiguration::SWFClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSWFSpecificConfig(this->profileName); +} + +SWFClientConfiguration::SWFClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSWFSpecificConfig(Aws::String(inputProfileName)); +} + +SWFClientConfiguration::SWFClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSWFSpecificConfig(this->profileName); +} + +SWFClientConfiguration::SWFClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadSWFSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SWFClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace SWF +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-swf/source/SWFEndpointProvider.cpp b/generated/src/aws-cpp-sdk-swf/source/SWFEndpointProvider.cpp index 53d520022adb..0c26c03a47a6 100644 --- a/generated/src/aws-cpp-sdk-swf/source/SWFEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-swf/source/SWFEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_SWF_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace SWF { namespace Endpoint { SWFEndpointProvider::SWFEndpointProvider() : SWFDefaultEpProviderBase(Aws::SWF::SWFEndpointRules::GetRulesBlob(), Aws::SWF::SWFEndpointRules::RulesBlobSize) {} +void SWFBuiltInParameters::SetFromClientConfiguration(const SWFClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SWFBuiltInParameters::SetFromClientConfiguration(const SWFClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SWFBuiltInParameters::SetServiceSpecificParameters(const SWFClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace SWF } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsClient.h b/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsClient.h index b96e374fcc46..cf46f1744872 100644 --- a/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsClient.h +++ b/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsClient.h @@ -69,27 +69,6 @@ class AWS_SYNTHETICS_API SyntheticsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Synthetics::SyntheticsClientConfiguration& clientConfiguration = Aws::Synthetics::SyntheticsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - SyntheticsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - SyntheticsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - SyntheticsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~SyntheticsClient(); /** @@ -784,7 +763,6 @@ class AWS_SYNTHETICS_API SyntheticsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&SyntheticsClient::UpdateCanary, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsClientConfiguration.h b/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsClientConfiguration.h new file mode 100644 index 000000000000..fcf057827f60 --- /dev/null +++ b/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Synthetics { +struct AWS_SYNTHETICS_API SyntheticsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + SyntheticsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SyntheticsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + SyntheticsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit SyntheticsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadSyntheticsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_SYNTHETICS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const SyntheticsClientConfiguration& config); +} // namespace Synthetics +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsEndpointProvider.h b/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsEndpointProvider.h index 8e39a977780e..50b8d41b6994 100644 --- a/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Synthetics { namespace Endpoint { +using SyntheticsClientConfiguration = Aws::Synthetics::SyntheticsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using SyntheticsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using SyntheticsClientConfiguration = Aws::Client::GenericClientConfiguration; -using SyntheticsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_SYNTHETICS_API SyntheticsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~SyntheticsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const SyntheticsClientConfiguration& config); + virtual void SetFromClientConfiguration(const SyntheticsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const SyntheticsClientConfiguration& config); +}; /** * The type for the Synthetics Client Endpoint Provider. @@ -34,6 +43,24 @@ using SyntheticsEndpointProviderBase = using SyntheticsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Synthetics + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_SYNTHETICS_EXTERN template class AWS_SYNTHETICS_API Aws::Endpoint::EndpointProviderBase< + Synthetics::Endpoint::SyntheticsClientConfiguration, Synthetics::Endpoint::SyntheticsBuiltInParameters, + Synthetics::Endpoint::SyntheticsClientContextParameters>; + +AWS_SYNTHETICS_EXTERN template class AWS_SYNTHETICS_API Aws::Endpoint::BDDEndpointProvider< + Synthetics::Endpoint::SyntheticsClientConfiguration, Synthetics::Endpoint::SyntheticsBuiltInParameters, + Synthetics::Endpoint::SyntheticsClientContextParameters>; +} // namespace Endpoint + +namespace Synthetics { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsServiceClientModel.h b/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsServiceClientModel.h index 09ec523aa6c8..36b95da0271a 100644 --- a/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsServiceClientModel.h @@ -72,7 +72,6 @@ class RetryStrategy; } // namespace Client namespace Synthetics { -using SyntheticsClientConfiguration = Aws::Client::GenericClientConfiguration; using SyntheticsEndpointProviderBase = Aws::Synthetics::Endpoint::SyntheticsEndpointProviderBase; using SyntheticsEndpointProvider = Aws::Synthetics::Endpoint::SyntheticsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsClient.cpp b/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsClient.cpp index bc032e2a98c5..62a668a1ba84 100644 --- a/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsClient.cpp +++ b/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsClient.cpp @@ -99,41 +99,6 @@ SyntheticsClient::SyntheticsClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -SyntheticsClient::SyntheticsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SyntheticsClient::SyntheticsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -SyntheticsClient::SyntheticsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ SyntheticsClient::~SyntheticsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& SyntheticsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -151,12 +116,7 @@ void SyntheticsClient::init(const Synthetics::SyntheticsClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "synthetics"); -} - -void SyntheticsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } SyntheticsClient::InvokeOperationOutcome SyntheticsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsClientConfiguration.cpp new file mode 100644 index 000000000000..7cf21f2661b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Synthetics { + +void SyntheticsClientConfiguration::LoadSyntheticsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +SyntheticsClientConfiguration::SyntheticsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadSyntheticsSpecificConfig(this->profileName); +} + +SyntheticsClientConfiguration::SyntheticsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadSyntheticsSpecificConfig(Aws::String(inputProfileName)); +} + +SyntheticsClientConfiguration::SyntheticsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadSyntheticsSpecificConfig(this->profileName); +} + +SyntheticsClientConfiguration::SyntheticsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadSyntheticsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const SyntheticsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Synthetics +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsEndpointProvider.cpp index 2d10a4e2344e..99a6146c8874 100644 --- a/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-synthetics/source/SyntheticsEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_SYNTHETICS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Synthetics { namespace Endpoint { SyntheticsEndpointProvider::SyntheticsEndpointProvider() : SyntheticsDefaultEpProviderBase(Aws::Synthetics::SyntheticsEndpointRules::GetRulesBlob(), Aws::Synthetics::SyntheticsEndpointRules::RulesBlobSize) {} +void SyntheticsBuiltInParameters::SetFromClientConfiguration(const SyntheticsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void SyntheticsBuiltInParameters::SetFromClientConfiguration(const SyntheticsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void SyntheticsBuiltInParameters::SetServiceSpecificParameters(const SyntheticsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Synthetics } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsClient.h b/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsClient.h index eb6d1fa7796e..406c6ec6aed0 100644 --- a/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsClient.h +++ b/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsClient.h @@ -61,27 +61,6 @@ class AWS_TAXSETTINGS_API TaxSettingsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::TaxSettings::TaxSettingsClientConfiguration& clientConfiguration = Aws::TaxSettings::TaxSettingsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TaxSettingsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TaxSettingsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TaxSettingsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TaxSettingsClient(); /** @@ -860,7 +839,6 @@ class AWS_TAXSETTINGS_API TaxSettingsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&TaxSettingsClient::PutTaxRegistration, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsClientConfiguration.h b/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsClientConfiguration.h new file mode 100644 index 000000000000..4793502993a6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace TaxSettings { +struct AWS_TAXSETTINGS_API TaxSettingsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + TaxSettingsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TaxSettingsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TaxSettingsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TaxSettingsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadTaxSettingsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TAXSETTINGS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TaxSettingsClientConfiguration& config); +} // namespace TaxSettings +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsEndpointProvider.h b/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsEndpointProvider.h index 720cf8b9e209..26e4ed3d30f4 100644 --- a/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace TaxSettings { namespace Endpoint { +using TaxSettingsClientConfiguration = Aws::TaxSettings::TaxSettingsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using TaxSettingsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using TaxSettingsClientConfiguration = Aws::Client::GenericClientConfiguration; -using TaxSettingsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_TAXSETTINGS_API TaxSettingsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~TaxSettingsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const TaxSettingsClientConfiguration& config); + virtual void SetFromClientConfiguration(const TaxSettingsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TaxSettingsClientConfiguration& config); +}; /** * The type for the TaxSettings Client Endpoint Provider. @@ -34,6 +43,24 @@ using TaxSettingsEndpointProviderBase = using TaxSettingsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace TaxSettings + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_TAXSETTINGS_EXTERN template class AWS_TAXSETTINGS_API Aws::Endpoint::EndpointProviderBase< + TaxSettings::Endpoint::TaxSettingsClientConfiguration, TaxSettings::Endpoint::TaxSettingsBuiltInParameters, + TaxSettings::Endpoint::TaxSettingsClientContextParameters>; + +AWS_TAXSETTINGS_EXTERN template class AWS_TAXSETTINGS_API Aws::Endpoint::BDDEndpointProvider< + TaxSettings::Endpoint::TaxSettingsClientConfiguration, TaxSettings::Endpoint::TaxSettingsBuiltInParameters, + TaxSettings::Endpoint::TaxSettingsClientContextParameters>; +} // namespace Endpoint + +namespace TaxSettings { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsServiceClientModel.h b/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsServiceClientModel.h index 114debc2eb33..c9030040b1cc 100644 --- a/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsServiceClientModel.h @@ -70,7 +70,6 @@ class RetryStrategy; } // namespace Client namespace TaxSettings { -using TaxSettingsClientConfiguration = Aws::Client::GenericClientConfiguration; using TaxSettingsEndpointProviderBase = Aws::TaxSettings::Endpoint::TaxSettingsEndpointProviderBase; using TaxSettingsEndpointProvider = Aws::TaxSettings::Endpoint::TaxSettingsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsClient.cpp b/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsClient.cpp index b6a82830c9b5..2c39a029abd0 100644 --- a/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsClient.cpp +++ b/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsClient.cpp @@ -93,41 +93,6 @@ TaxSettingsClient::TaxSettingsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TaxSettingsClient::TaxSettingsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TaxSettingsClient::TaxSettingsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TaxSettingsClient::~TaxSettingsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TaxSettingsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -145,12 +110,7 @@ void TaxSettingsClient::init(const TaxSettings::TaxSettingsClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "tax"); -} - -void TaxSettingsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TaxSettingsClient::InvokeOperationOutcome TaxSettingsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsClientConfiguration.cpp new file mode 100644 index 000000000000..fa01439069db --- /dev/null +++ b/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace TaxSettings { + +void TaxSettingsClientConfiguration::LoadTaxSettingsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +TaxSettingsClientConfiguration::TaxSettingsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadTaxSettingsSpecificConfig(this->profileName); +} + +TaxSettingsClientConfiguration::TaxSettingsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadTaxSettingsSpecificConfig(Aws::String(inputProfileName)); +} + +TaxSettingsClientConfiguration::TaxSettingsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadTaxSettingsSpecificConfig(this->profileName); +} + +TaxSettingsClientConfiguration::TaxSettingsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadTaxSettingsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TaxSettingsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace TaxSettings +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsEndpointProvider.cpp index 782f0e5a8226..ab9c220036a8 100644 --- a/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_TAXSETTINGS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace TaxSettings { namespace Endpoint { TaxSettingsEndpointProvider::TaxSettingsEndpointProvider() : TaxSettingsDefaultEpProviderBase(Aws::TaxSettings::TaxSettingsEndpointRules::GetRulesBlob(), Aws::TaxSettings::TaxSettingsEndpointRules::RulesBlobSize) {} +void TaxSettingsBuiltInParameters::SetFromClientConfiguration(const TaxSettingsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void TaxSettingsBuiltInParameters::SetFromClientConfiguration(const TaxSettingsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void TaxSettingsBuiltInParameters::SetServiceSpecificParameters(const TaxSettingsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace TaxSettings } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractClient.h b/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractClient.h index d30b336fdbf6..3d98b44a0c5a 100644 --- a/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractClient.h +++ b/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractClient.h @@ -54,27 +54,6 @@ class AWS_TEXTRACT_API TextractClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Textract::TextractClientConfiguration& clientConfiguration = Aws::Textract::TextractClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TextractClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TextractClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TextractClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TextractClient(); /** @@ -988,7 +967,6 @@ class AWS_TEXTRACT_API TextractClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&TextractClient::UpdateAdapter, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractClientConfiguration.h b/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractClientConfiguration.h new file mode 100644 index 000000000000..22678bcf0abb --- /dev/null +++ b/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Textract { +struct AWS_TEXTRACT_API TextractClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + TextractClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TextractClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TextractClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TextractClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadTextractSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TEXTRACT_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TextractClientConfiguration& config); +} // namespace Textract +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractEndpointProvider.h b/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractEndpointProvider.h index 9ef88a28e543..8ec97faf7949 100644 --- a/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Textract { namespace Endpoint { +using TextractClientConfiguration = Aws::Textract::TextractClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using TextractClientContextParameters = Aws::Endpoint::ClientContextParameters; -using TextractClientConfiguration = Aws::Client::GenericClientConfiguration; -using TextractBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_TEXTRACT_API TextractBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~TextractBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const TextractClientConfiguration& config); + virtual void SetFromClientConfiguration(const TextractClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TextractClientConfiguration& config); +}; /** * The type for the Textract Client Endpoint Provider. @@ -34,6 +43,24 @@ using TextractEndpointProviderBase = using TextractDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Textract + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_TEXTRACT_EXTERN template class AWS_TEXTRACT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_TEXTRACT_EXTERN template class AWS_TEXTRACT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Textract { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractServiceClientModel.h b/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractServiceClientModel.h index 191a1e8d4e4a..0a97e948fe71 100644 --- a/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractServiceClientModel.h @@ -73,7 +73,6 @@ class RetryStrategy; } // namespace Client namespace Textract { -using TextractClientConfiguration = Aws::Client::GenericClientConfiguration; using TextractEndpointProviderBase = Aws::Textract::Endpoint::TextractEndpointProviderBase; using TextractEndpointProvider = Aws::Textract::Endpoint::TextractEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-textract/source/TextractClient.cpp b/generated/src/aws-cpp-sdk-textract/source/TextractClient.cpp index 6816991a77cb..872886d977cf 100644 --- a/generated/src/aws-cpp-sdk-textract/source/TextractClient.cpp +++ b/generated/src/aws-cpp-sdk-textract/source/TextractClient.cpp @@ -102,41 +102,6 @@ TextractClient::TextractClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -TextractClient::TextractClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TextractClient::TextractClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TextractClient::TextractClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TextractClient::~TextractClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TextractClient::accessEndpointProvider() { return m_endpointProvider; } @@ -154,12 +119,7 @@ void TextractClient::init(const Textract::TextractClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "textract"); -} - -void TextractClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TextractClient::InvokeOperationOutcome TextractClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-textract/source/TextractClientConfiguration.cpp b/generated/src/aws-cpp-sdk-textract/source/TextractClientConfiguration.cpp new file mode 100644 index 000000000000..b424cb3c8fe2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-textract/source/TextractClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Textract { + +void TextractClientConfiguration::LoadTextractSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +TextractClientConfiguration::TextractClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadTextractSpecificConfig(this->profileName); +} + +TextractClientConfiguration::TextractClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadTextractSpecificConfig(Aws::String(inputProfileName)); +} + +TextractClientConfiguration::TextractClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadTextractSpecificConfig(this->profileName); +} + +TextractClientConfiguration::TextractClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadTextractSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TextractClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Textract +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-textract/source/TextractEndpointProvider.cpp b/generated/src/aws-cpp-sdk-textract/source/TextractEndpointProvider.cpp index 7fac7a699290..8a8cad779627 100644 --- a/generated/src/aws-cpp-sdk-textract/source/TextractEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-textract/source/TextractEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_TEXTRACT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Textract { namespace Endpoint { TextractEndpointProvider::TextractEndpointProvider() : TextractDefaultEpProviderBase(Aws::Textract::TextractEndpointRules::GetRulesBlob(), Aws::Textract::TextractEndpointRules::RulesBlobSize) {} +void TextractBuiltInParameters::SetFromClientConfiguration(const TextractClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void TextractBuiltInParameters::SetFromClientConfiguration(const TextractClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void TextractBuiltInParameters::SetServiceSpecificParameters(const TextractClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Textract } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBClient.h b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBClient.h index c6a0495c0aa6..8e7fc5114016 100644 --- a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBClient.h +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBClient.h @@ -61,27 +61,6 @@ class AWS_TIMESTREAMINFLUXDB_API TimestreamInfluxDBClient : public Aws::Client:: const Aws::TimestreamInfluxDB::TimestreamInfluxDBClientConfiguration& clientConfiguration = Aws::TimestreamInfluxDB::TimestreamInfluxDBClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TimestreamInfluxDBClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TimestreamInfluxDBClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TimestreamInfluxDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TimestreamInfluxDBClient(); /** @@ -715,7 +694,6 @@ class AWS_TIMESTREAMINFLUXDB_API TimestreamInfluxDBClient : public Aws::Client:: return SubmitAsync(&TimestreamInfluxDBClient::UpdateDbInstance, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBClientConfiguration.h b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBClientConfiguration.h new file mode 100644 index 000000000000..db33c1b34d08 --- /dev/null +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace TimestreamInfluxDB { +struct AWS_TIMESTREAMINFLUXDB_API TimestreamInfluxDBClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + TimestreamInfluxDBClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TimestreamInfluxDBClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TimestreamInfluxDBClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TimestreamInfluxDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadTimestreamInfluxDBSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TIMESTREAMINFLUXDB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TimestreamInfluxDBClientConfiguration& config); +} // namespace TimestreamInfluxDB +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBEndpointProvider.h b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBEndpointProvider.h index cfda9f13516e..2b1b5ab58f07 100644 --- a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace TimestreamInfluxDB { namespace Endpoint { +using TimestreamInfluxDBClientConfiguration = Aws::TimestreamInfluxDB::TimestreamInfluxDBClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using TimestreamInfluxDBClientContextParameters = Aws::Endpoint::ClientContextParameters; -using TimestreamInfluxDBClientConfiguration = Aws::Client::GenericClientConfiguration; -using TimestreamInfluxDBBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_TIMESTREAMINFLUXDB_API TimestreamInfluxDBBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~TimestreamInfluxDBBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const TimestreamInfluxDBClientConfiguration& config); + virtual void SetFromClientConfiguration(const TimestreamInfluxDBClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TimestreamInfluxDBClientConfiguration& config); +}; /** * The type for the TimestreamInfluxDB Client Endpoint Provider. @@ -36,6 +45,24 @@ using TimestreamInfluxDBDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace TimestreamInfluxDB + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_TIMESTREAMINFLUXDB_EXTERN template class AWS_TIMESTREAMINFLUXDB_API Aws::Endpoint::EndpointProviderBase< + TimestreamInfluxDB::Endpoint::TimestreamInfluxDBClientConfiguration, TimestreamInfluxDB::Endpoint::TimestreamInfluxDBBuiltInParameters, + TimestreamInfluxDB::Endpoint::TimestreamInfluxDBClientContextParameters>; + +AWS_TIMESTREAMINFLUXDB_EXTERN template class AWS_TIMESTREAMINFLUXDB_API Aws::Endpoint::BDDEndpointProvider< + TimestreamInfluxDB::Endpoint::TimestreamInfluxDBClientConfiguration, TimestreamInfluxDB::Endpoint::TimestreamInfluxDBBuiltInParameters, + TimestreamInfluxDB::Endpoint::TimestreamInfluxDBClientContextParameters>; +} // namespace Endpoint + +namespace TimestreamInfluxDB { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBServiceClientModel.h b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBServiceClientModel.h index 4b770ba6c0c4..0ac48cf7ae84 100644 --- a/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBServiceClientModel.h @@ -73,7 +73,6 @@ class RetryStrategy; } // namespace Client namespace TimestreamInfluxDB { -using TimestreamInfluxDBClientConfiguration = Aws::Client::GenericClientConfiguration; using TimestreamInfluxDBEndpointProviderBase = Aws::TimestreamInfluxDB::Endpoint::TimestreamInfluxDBEndpointProviderBase; using TimestreamInfluxDBEndpointProvider = Aws::TimestreamInfluxDB::Endpoint::TimestreamInfluxDBEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBClient.cpp b/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBClient.cpp index db6ed1d658da..171b9f8e22f8 100644 --- a/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBClient.cpp +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBClient.cpp @@ -105,42 +105,6 @@ TimestreamInfluxDBClient::TimestreamInfluxDBClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TimestreamInfluxDBClient::TimestreamInfluxDBClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TimestreamInfluxDBClient::TimestreamInfluxDBClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TimestreamInfluxDBClient::~TimestreamInfluxDBClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TimestreamInfluxDBClient::accessEndpointProvider() { return m_endpointProvider; } @@ -158,12 +122,7 @@ void TimestreamInfluxDBClient::init(const TimestreamInfluxDB::TimestreamInfluxDB AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "timestream-influxdb"); -} - -void TimestreamInfluxDBClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TimestreamInfluxDBClient::InvokeOperationOutcome TimestreamInfluxDBClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBClientConfiguration.cpp b/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBClientConfiguration.cpp new file mode 100644 index 000000000000..b494189a2a81 --- /dev/null +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace TimestreamInfluxDB { + +void TimestreamInfluxDBClientConfiguration::LoadTimestreamInfluxDBSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +TimestreamInfluxDBClientConfiguration::TimestreamInfluxDBClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadTimestreamInfluxDBSpecificConfig(this->profileName); +} + +TimestreamInfluxDBClientConfiguration::TimestreamInfluxDBClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadTimestreamInfluxDBSpecificConfig(Aws::String(inputProfileName)); +} + +TimestreamInfluxDBClientConfiguration::TimestreamInfluxDBClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadTimestreamInfluxDBSpecificConfig(this->profileName); +} + +TimestreamInfluxDBClientConfiguration::TimestreamInfluxDBClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadTimestreamInfluxDBSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TimestreamInfluxDBClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace TimestreamInfluxDB +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBEndpointProvider.cpp b/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBEndpointProvider.cpp index 16f7d3ada085..98e417662f2a 100644 --- a/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_TIMESTREAMINFLUXDB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace TimestreamInfluxDB { namespace Endpoint { TimestreamInfluxDBEndpointProvider::TimestreamInfluxDBEndpointProvider() : TimestreamInfluxDBDefaultEpProviderBase(Aws::TimestreamInfluxDB::TimestreamInfluxDBEndpointRules::GetRulesBlob(), Aws::TimestreamInfluxDB::TimestreamInfluxDBEndpointRules::RulesBlobSize) {} +void TimestreamInfluxDBBuiltInParameters::SetFromClientConfiguration(const TimestreamInfluxDBClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void TimestreamInfluxDBBuiltInParameters::SetFromClientConfiguration(const TimestreamInfluxDBClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void TimestreamInfluxDBBuiltInParameters::SetServiceSpecificParameters(const TimestreamInfluxDBClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace TimestreamInfluxDB } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryClient.h b/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryClient.h index 3aa4de277de4..4bf07642ebca 100644 --- a/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryClient.h +++ b/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryClient.h @@ -56,27 +56,6 @@ class AWS_TIMESTREAMQUERY_API TimestreamQueryClient : public Aws::Client::AWSJso const Aws::TimestreamQuery::TimestreamQueryClientConfiguration& clientConfiguration = Aws::TimestreamQuery::TimestreamQueryClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TimestreamQueryClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TimestreamQueryClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TimestreamQueryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TimestreamQueryClient(); /** @@ -542,7 +521,6 @@ class AWS_TIMESTREAMQUERY_API TimestreamQueryClient : public Aws::Client::AWSJso return SubmitAsync(&TimestreamQueryClient::UpdateScheduledQuery, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryClientConfiguration.h b/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryClientConfiguration.h index 308d7013e23a..36d5ba7bb306 100644 --- a/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryClientConfiguration.h @@ -15,25 +15,6 @@ struct AWS_TIMESTREAMQUERY_API TimestreamQueryClientConfiguration : public Aws:: static const bool EndpointDiscoverySupported = true; static const bool EndpointDiscoveryRequired = true; - TimestreamQueryClientConfiguration(const TimestreamQueryClientConfiguration& other) - : Aws::Client::GenericClientConfiguration(other), enableEndpointDiscovery(BaseClientConfigClass::enableEndpointDiscovery) {} - - TimestreamQueryClientConfiguration(TimestreamQueryClientConfiguration&& other) noexcept - : Aws::Client::GenericClientConfiguration(std::move(other)), - enableEndpointDiscovery(BaseClientConfigClass::enableEndpointDiscovery) {} - - TimestreamQueryClientConfiguration& operator=(const TimestreamQueryClientConfiguration& other) { - if (this == &other) return *this; - Aws::Client::GenericClientConfiguration::operator=(other); - return *this; - } - - TimestreamQueryClientConfiguration& operator=(TimestreamQueryClientConfiguration&& other) noexcept { - if (this == &other) return *this; - Aws::Client::GenericClientConfiguration::operator=(std::move(other)); - return *this; - } - TimestreamQueryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); /** @@ -53,9 +34,22 @@ struct AWS_TIMESTREAMQUERY_API TimestreamQueryClientConfiguration : public Aws:: TimestreamQueryClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TimestreamQueryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. */ - TimestreamQueryClientConfiguration(const Aws::Client::ClientConfiguration& config); + bool useDualStack = false; /** * Enable endpoint discovery @@ -67,10 +61,15 @@ struct AWS_TIMESTREAMQUERY_API TimestreamQueryClientConfiguration : public Aws:: * such that SDK will decide the default behavior as stated before, if no value specified. * Timestream Query service client requires endpoint discovery. The default value for this setting is Enabled. */ - Aws::Crt::Optional& enableEndpointDiscovery; + Aws::Crt::Optional enableEndpointDiscovery; private: void LoadTimestreamQuerySpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TIMESTREAMQUERY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TimestreamQueryClientConfiguration& config); } // namespace TimestreamQuery } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryEndpointProvider.h b/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryEndpointProvider.h index 9919022b06ec..790c847af087 100644 --- a/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-timestream-query/include/aws/timestream-query/TimestreamQueryEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_TIMESTREAMQUERY_API TimestreamQueryBuiltInParameters : public Aws::End using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const TimestreamQueryClientConfiguration& config); virtual void SetFromClientConfiguration(const TimestreamQueryClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TimestreamQueryClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryClient.cpp b/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryClient.cpp index 76ba2b132b95..69866b86297c 100644 --- a/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryClient.cpp +++ b/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryClient.cpp @@ -97,41 +97,6 @@ TimestreamQueryClient::TimestreamQueryClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TimestreamQueryClient::TimestreamQueryClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TimestreamQueryClient::TimestreamQueryClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TimestreamQueryClient::~TimestreamQueryClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TimestreamQueryClient::accessEndpointProvider() { return m_endpointProvider; } @@ -149,12 +114,7 @@ void TimestreamQueryClient::init(const TimestreamQuery::TimestreamQueryClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "timestream"); -} - -void TimestreamQueryClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TimestreamQueryClient::InvokeOperationOutcome TimestreamQueryClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryClientConfiguration.cpp b/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryClientConfiguration.cpp index 21e8785694e7..a5db93f487c2 100644 --- a/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryClientConfiguration.cpp @@ -34,32 +34,39 @@ bool IsEndpointDiscoveryEnabled(const Aws::String& endpointOverride, const Aws:: } void TimestreamQueryClientConfiguration::LoadTimestreamQuerySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); if (!enableEndpointDiscovery) { enableEndpointDiscovery = IsEndpointDiscoveryEnabled(this->endpointOverride, inputProfileName); } } TimestreamQueryClientConfiguration::TimestreamQueryClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) - : BaseClientConfigClass(configuration), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(configuration) { LoadTimestreamQuerySpecificConfig(this->profileName); } TimestreamQueryClientConfiguration::TimestreamQueryClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) - : BaseClientConfigClass(inputProfileName, shouldDisableIMDS), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { LoadTimestreamQuerySpecificConfig(Aws::String(inputProfileName)); } TimestreamQueryClientConfiguration::TimestreamQueryClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) - : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS), - enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { LoadTimestreamQuerySpecificConfig(this->profileName); } -TimestreamQueryClientConfiguration::TimestreamQueryClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { +TimestreamQueryClientConfiguration::TimestreamQueryClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadTimestreamQuerySpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TimestreamQueryClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + } // namespace TimestreamQuery } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryEndpointProvider.cpp b/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryEndpointProvider.cpp index da181c60e4ea..5bb5f3370115 100644 --- a/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-timestream-query/source/TimestreamQueryEndpointProvider.cpp @@ -30,13 +30,23 @@ TimestreamQueryEndpointProvider::TimestreamQueryEndpointProvider() void TimestreamQueryBuiltInParameters::SetFromClientConfiguration(const TimestreamQueryClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void TimestreamQueryBuiltInParameters::SetFromClientConfiguration(const TimestreamQueryClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void TimestreamQueryBuiltInParameters::SetServiceSpecificParameters(const TimestreamQueryClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace TimestreamQuery } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteClient.h b/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteClient.h index 76f32e7dd879..ec28033a4c50 100644 --- a/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteClient.h +++ b/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteClient.h @@ -69,27 +69,6 @@ class AWS_TIMESTREAMWRITE_API TimestreamWriteClient : public Aws::Client::AWSJso const Aws::TimestreamWrite::TimestreamWriteClientConfiguration& clientConfiguration = Aws::TimestreamWrite::TimestreamWriteClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TimestreamWriteClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TimestreamWriteClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TimestreamWriteClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TimestreamWriteClient(); /** @@ -715,7 +694,6 @@ class AWS_TIMESTREAMWRITE_API TimestreamWriteClient : public Aws::Client::AWSJso return SubmitAsync(&TimestreamWriteClient::WriteRecords, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteClientConfiguration.h b/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteClientConfiguration.h index 4d18e4080fe1..2653eb2398b6 100644 --- a/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteClientConfiguration.h +++ b/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteClientConfiguration.h @@ -15,25 +15,6 @@ struct AWS_TIMESTREAMWRITE_API TimestreamWriteClientConfiguration : public Aws:: static const bool EndpointDiscoverySupported = true; static const bool EndpointDiscoveryRequired = true; - TimestreamWriteClientConfiguration(const TimestreamWriteClientConfiguration& other) - : Aws::Client::GenericClientConfiguration(other), enableEndpointDiscovery(BaseClientConfigClass::enableEndpointDiscovery) {} - - TimestreamWriteClientConfiguration(TimestreamWriteClientConfiguration&& other) noexcept - : Aws::Client::GenericClientConfiguration(std::move(other)), - enableEndpointDiscovery(BaseClientConfigClass::enableEndpointDiscovery) {} - - TimestreamWriteClientConfiguration& operator=(const TimestreamWriteClientConfiguration& other) { - if (this == &other) return *this; - Aws::Client::GenericClientConfiguration::operator=(other); - return *this; - } - - TimestreamWriteClientConfiguration& operator=(TimestreamWriteClientConfiguration&& other) noexcept { - if (this == &other) return *this; - Aws::Client::GenericClientConfiguration::operator=(std::move(other)); - return *this; - } - TimestreamWriteClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); /** @@ -53,9 +34,22 @@ struct AWS_TIMESTREAMWRITE_API TimestreamWriteClientConfiguration : public Aws:: TimestreamWriteClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TimestreamWriteClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. */ - TimestreamWriteClientConfiguration(const Aws::Client::ClientConfiguration& config); + bool useDualStack = false; /** * Enable endpoint discovery @@ -67,10 +61,15 @@ struct AWS_TIMESTREAMWRITE_API TimestreamWriteClientConfiguration : public Aws:: * such that SDK will decide the default behavior as stated before, if no value specified. * Timestream Write service client requires endpoint discovery. The default value for this setting is Enabled. */ - Aws::Crt::Optional& enableEndpointDiscovery; + Aws::Crt::Optional enableEndpointDiscovery; private: void LoadTimestreamWriteSpecificConfig(const Aws::String& profileName); }; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TIMESTREAMWRITE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TimestreamWriteClientConfiguration& config); } // namespace TimestreamWrite } // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteEndpointProvider.h b/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteEndpointProvider.h index afbb43697642..10f85f8e4951 100644 --- a/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-timestream-write/include/aws/timestream-write/TimestreamWriteEndpointProvider.h @@ -27,6 +27,9 @@ class AWS_TIMESTREAMWRITE_API TimestreamWriteBuiltInParameters : public Aws::End using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; virtual void SetFromClientConfiguration(const TimestreamWriteClientConfiguration& config); virtual void SetFromClientConfiguration(const TimestreamWriteClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TimestreamWriteClientConfiguration& config); }; /** diff --git a/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteClient.cpp b/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteClient.cpp index d6f8e2abc1a6..cbf847982a9b 100644 --- a/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteClient.cpp +++ b/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteClient.cpp @@ -101,41 +101,6 @@ TimestreamWriteClient::TimestreamWriteClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TimestreamWriteClient::TimestreamWriteClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TimestreamWriteClient::TimestreamWriteClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TimestreamWriteClient::~TimestreamWriteClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TimestreamWriteClient::accessEndpointProvider() { return m_endpointProvider; } @@ -153,12 +118,7 @@ void TimestreamWriteClient::init(const TimestreamWrite::TimestreamWriteClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "timestream"); -} - -void TimestreamWriteClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TimestreamWriteClient::InvokeOperationOutcome TimestreamWriteClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteClientConfiguration.cpp b/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteClientConfiguration.cpp index c1f7c5c10d46..8cca49aeabcb 100644 --- a/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteClientConfiguration.cpp +++ b/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteClientConfiguration.cpp @@ -34,32 +34,39 @@ bool IsEndpointDiscoveryEnabled(const Aws::String& endpointOverride, const Aws:: } void TimestreamWriteClientConfiguration::LoadTimestreamWriteSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); if (!enableEndpointDiscovery) { enableEndpointDiscovery = IsEndpointDiscoveryEnabled(this->endpointOverride, inputProfileName); } } TimestreamWriteClientConfiguration::TimestreamWriteClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) - : BaseClientConfigClass(configuration), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(configuration) { LoadTimestreamWriteSpecificConfig(this->profileName); } TimestreamWriteClientConfiguration::TimestreamWriteClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) - : BaseClientConfigClass(inputProfileName, shouldDisableIMDS), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { LoadTimestreamWriteSpecificConfig(Aws::String(inputProfileName)); } TimestreamWriteClientConfiguration::TimestreamWriteClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) - : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS), - enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { LoadTimestreamWriteSpecificConfig(this->profileName); } -TimestreamWriteClientConfiguration::TimestreamWriteClientConfiguration(const Aws::Client::ClientConfiguration& config) - : BaseClientConfigClass(config), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery) { +TimestreamWriteClientConfiguration::TimestreamWriteClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { LoadTimestreamWriteSpecificConfig(this->profileName); } +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TimestreamWriteClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + } // namespace TimestreamWrite } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteEndpointProvider.cpp b/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteEndpointProvider.cpp index a9b7f026c9e8..b602a1be27c1 100644 --- a/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-timestream-write/source/TimestreamWriteEndpointProvider.cpp @@ -30,13 +30,23 @@ TimestreamWriteEndpointProvider::TimestreamWriteEndpointProvider() void TimestreamWriteBuiltInParameters::SetFromClientConfiguration(const TimestreamWriteClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); } void TimestreamWriteBuiltInParameters::SetFromClientConfiguration(const TimestreamWriteClientConfiguration& config, const Aws::String& serviceName) { SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); } +void TimestreamWriteBuiltInParameters::SetServiceSpecificParameters(const TimestreamWriteClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace TimestreamWrite } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceClient.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceClient.h index aad499847aed..860d9cae6f87 100644 --- a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceClient.h +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceClient.h @@ -65,27 +65,6 @@ class AWS_TRANSCRIBESERVICE_API TranscribeServiceClient : public Aws::Client::AW const Aws::TranscribeService::TranscribeServiceClientConfiguration& clientConfiguration = Aws::TranscribeService::TranscribeServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TranscribeServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TranscribeServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TranscribeServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TranscribeServiceClient(); /** @@ -1581,7 +1560,6 @@ class AWS_TRANSCRIBESERVICE_API TranscribeServiceClient : public Aws::Client::AW return SubmitAsync(&TranscribeServiceClient::UpdateVocabularyFilter, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceClientConfiguration.h new file mode 100644 index 000000000000..e29bb817fb3b --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace TranscribeService { +struct AWS_TRANSCRIBESERVICE_API TranscribeServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + TranscribeServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TranscribeServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TranscribeServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TranscribeServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadTranscribeServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TRANSCRIBESERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TranscribeServiceClientConfiguration& config); +} // namespace TranscribeService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceEndpointProvider.h index 1c03e7b38048..b6081a6e7455 100644 --- a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace TranscribeService { namespace Endpoint { +using TranscribeServiceClientConfiguration = Aws::TranscribeService::TranscribeServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using TranscribeServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using TranscribeServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using TranscribeServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_TRANSCRIBESERVICE_API TranscribeServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~TranscribeServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const TranscribeServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const TranscribeServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TranscribeServiceClientConfiguration& config); +}; /** * The type for the TranscribeService Client Endpoint Provider. @@ -34,6 +43,24 @@ using TranscribeServiceEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace TranscribeService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_TRANSCRIBESERVICE_EXTERN template class AWS_TRANSCRIBESERVICE_API Aws::Endpoint::EndpointProviderBase< + TranscribeService::Endpoint::TranscribeServiceClientConfiguration, TranscribeService::Endpoint::TranscribeServiceBuiltInParameters, + TranscribeService::Endpoint::TranscribeServiceClientContextParameters>; + +AWS_TRANSCRIBESERVICE_EXTERN template class AWS_TRANSCRIBESERVICE_API Aws::Endpoint::BDDEndpointProvider< + TranscribeService::Endpoint::TranscribeServiceClientConfiguration, TranscribeService::Endpoint::TranscribeServiceBuiltInParameters, + TranscribeService::Endpoint::TranscribeServiceClientContextParameters>; +} // namespace Endpoint + +namespace TranscribeService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceServiceClientModel.h index dd915b165818..44027ad393d6 100644 --- a/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceServiceClientModel.h @@ -93,7 +93,6 @@ class RetryStrategy; } // namespace Client namespace TranscribeService { -using TranscribeServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using TranscribeServiceEndpointProviderBase = Aws::TranscribeService::Endpoint::TranscribeServiceEndpointProviderBase; using TranscribeServiceEndpointProvider = Aws::TranscribeService::Endpoint::TranscribeServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceClient.cpp b/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceClient.cpp index 1b89eda77e61..c3b147cf263f 100644 --- a/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceClient.cpp @@ -125,42 +125,6 @@ TranscribeServiceClient::TranscribeServiceClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TranscribeServiceClient::TranscribeServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TranscribeServiceClient::TranscribeServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TranscribeServiceClient::~TranscribeServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TranscribeServiceClient::accessEndpointProvider() { return m_endpointProvider; } @@ -178,12 +142,7 @@ void TranscribeServiceClient::init(const TranscribeService::TranscribeServiceCli AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "transcribe"); -} - -void TranscribeServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TranscribeServiceClient::InvokeOperationOutcome TranscribeServiceClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceClientConfiguration.cpp new file mode 100644 index 000000000000..65932d892659 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace TranscribeService { + +void TranscribeServiceClientConfiguration::LoadTranscribeServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +TranscribeServiceClientConfiguration::TranscribeServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadTranscribeServiceSpecificConfig(this->profileName); +} + +TranscribeServiceClientConfiguration::TranscribeServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadTranscribeServiceSpecificConfig(Aws::String(inputProfileName)); +} + +TranscribeServiceClientConfiguration::TranscribeServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadTranscribeServiceSpecificConfig(this->profileName); +} + +TranscribeServiceClientConfiguration::TranscribeServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadTranscribeServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TranscribeServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace TranscribeService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceEndpointProvider.cpp index 8b0eb937e8a2..a26b0dfce292 100644 --- a/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_TRANSCRIBESERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace TranscribeService { namespace Endpoint { TranscribeServiceEndpointProvider::TranscribeServiceEndpointProvider() : TranscribeServiceDefaultEpProviderBase(Aws::TranscribeService::TranscribeServiceEndpointRules::GetRulesBlob(), Aws::TranscribeService::TranscribeServiceEndpointRules::RulesBlobSize) {} +void TranscribeServiceBuiltInParameters::SetFromClientConfiguration(const TranscribeServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void TranscribeServiceBuiltInParameters::SetFromClientConfiguration(const TranscribeServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void TranscribeServiceBuiltInParameters::SetServiceSpecificParameters(const TranscribeServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace TranscribeService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClient.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClient.h index d40cb1656f83..1ca46ebe52c3 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClient.h +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClient.h @@ -73,28 +73,6 @@ class AWS_TRANSCRIBESTREAMINGSERVICE_API TranscribeStreamingServiceClient const Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration& clientConfiguration = Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TranscribeStreamingServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TranscribeStreamingServiceClient(const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TranscribeStreamingServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TranscribeStreamingServiceClient(); /** @@ -237,7 +215,6 @@ class AWS_TRANSCRIBESTREAMINGSERVICE_API TranscribeStreamingServiceClient const StartStreamTranscriptionResponseReceivedHandler& handler, const std::shared_ptr& handlerContext = nullptr) const; - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClientConfiguration.h new file mode 100644 index 000000000000..9f1ce44fcf0e --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClientConfiguration.h @@ -0,0 +1,94 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace TranscribeStreamingService { +struct AWS_TRANSCRIBESTREAMINGSERVICE_API TranscribeStreamingServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + TranscribeStreamingServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TranscribeStreamingServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TranscribeStreamingServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TranscribeStreamingServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + + private: + void LoadTranscribeStreamingServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TRANSCRIBESTREAMINGSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const TranscribeStreamingServiceClientConfiguration& config); +} // namespace TranscribeStreamingService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceEndpointProvider.h index 52cc58e4ce66..065aea64cf04 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace TranscribeStreamingService { namespace Endpoint { +using TranscribeStreamingServiceClientConfiguration = Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using TranscribeStreamingServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using TranscribeStreamingServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using TranscribeStreamingServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_TRANSCRIBESTREAMINGSERVICE_API TranscribeStreamingServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~TranscribeStreamingServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const TranscribeStreamingServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const TranscribeStreamingServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TranscribeStreamingServiceClientConfiguration& config); +}; /** * The type for the TranscribeStreamingService Client Endpoint Provider. @@ -36,6 +45,26 @@ using TranscribeStreamingServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace TranscribeStreamingService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_TRANSCRIBESTREAMINGSERVICE_EXTERN template class AWS_TRANSCRIBESTREAMINGSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_TRANSCRIBESTREAMINGSERVICE_EXTERN template class AWS_TRANSCRIBESTREAMINGSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace TranscribeStreamingService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceServiceClientModel.h index d8999959b148..c3445101dda7 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace TranscribeStreamingService { -using TranscribeStreamingServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using TranscribeStreamingServiceEndpointProviderBase = Aws::TranscribeStreamingService::Endpoint::TranscribeStreamingServiceEndpointProviderBase; using TranscribeStreamingServiceEndpointProvider = Aws::TranscribeStreamingService::Endpoint::TranscribeStreamingServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClient.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClient.cpp index 7a0ebcd23121..ccebe5245e48 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClient.cpp @@ -93,44 +93,6 @@ TranscribeStreamingServiceClient::TranscribeStreamingServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -TranscribeStreamingServiceClient::TranscribeStreamingServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS( - clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TranscribeStreamingServiceClient::TranscribeStreamingServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared( - ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TranscribeStreamingServiceClient::TranscribeStreamingServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TranscribeStreamingServiceClient::~TranscribeStreamingServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TranscribeStreamingServiceClient::accessEndpointProvider() { @@ -150,12 +112,7 @@ void TranscribeStreamingServiceClient::init(const TranscribeStreamingService::Tr AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "transcribe"); -} - -void TranscribeStreamingServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TranscribeStreamingServiceClient::InvokeOperationOutcome TranscribeStreamingServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClientConfiguration.cpp new file mode 100644 index 000000000000..c5904a88dce9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClientConfiguration.cpp @@ -0,0 +1,54 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace TranscribeStreamingService { + +void TranscribeStreamingServiceClientConfiguration::LoadTranscribeStreamingServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +TranscribeStreamingServiceClientConfiguration::TranscribeStreamingServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadTranscribeStreamingServiceSpecificConfig(this->profileName); +} + +TranscribeStreamingServiceClientConfiguration::TranscribeStreamingServiceClientConfiguration(const char* inputProfileName, + bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadTranscribeStreamingServiceSpecificConfig(Aws::String(inputProfileName)); +} + +TranscribeStreamingServiceClientConfiguration::TranscribeStreamingServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadTranscribeStreamingServiceSpecificConfig(this->profileName); +} + +TranscribeStreamingServiceClientConfiguration::TranscribeStreamingServiceClientConfiguration( + const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadTranscribeStreamingServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TranscribeStreamingServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; + return options; +} + +} // namespace TranscribeStreamingService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceEndpointProvider.cpp index 39ccc881e4fc..3fdaea08a17c 100644 --- a/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceEndpointProvider.cpp @@ -7,6 +7,21 @@ #include namespace Aws { +#ifndef AWS_TRANSCRIBESTREAMINGSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace TranscribeStreamingService { namespace Endpoint { TranscribeStreamingServiceEndpointProvider::TranscribeStreamingServiceEndpointProvider() @@ -14,6 +29,26 @@ TranscribeStreamingServiceEndpointProvider::TranscribeStreamingServiceEndpointPr Aws::TranscribeStreamingService::TranscribeStreamingServiceEndpointRules::GetRulesBlob(), Aws::TranscribeStreamingService::TranscribeStreamingServiceEndpointRules::RulesBlobSize) {} +void TranscribeStreamingServiceBuiltInParameters::SetFromClientConfiguration(const TranscribeStreamingServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void TranscribeStreamingServiceBuiltInParameters::SetFromClientConfiguration(const TranscribeStreamingServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void TranscribeStreamingServiceBuiltInParameters::SetServiceSpecificParameters( + const TranscribeStreamingServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace TranscribeStreamingService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateClient.h b/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateClient.h index 6b5324f6b664..af7212270390 100644 --- a/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateClient.h +++ b/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateClient.h @@ -53,27 +53,6 @@ class AWS_TRANSLATE_API TranslateClient : public Aws::Client::AWSRpcV2CborClient std::shared_ptr endpointProvider = nullptr, const Aws::Translate::TranslateClientConfiguration& clientConfiguration = Aws::Translate::TranslateClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TranslateClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TranslateClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TranslateClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TranslateClient(); /** @@ -634,7 +613,6 @@ class AWS_TRANSLATE_API TranslateClient : public Aws::Client::AWSRpcV2CborClient return SubmitAsync(&TranslateClient::UpdateParallelData, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateClientConfiguration.h b/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateClientConfiguration.h new file mode 100644 index 000000000000..1e9eebcae216 --- /dev/null +++ b/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Translate { +struct AWS_TRANSLATE_API TranslateClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + TranslateClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TranslateClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TranslateClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TranslateClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadTranslateSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TRANSLATE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TranslateClientConfiguration& config); +} // namespace Translate +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateEndpointProvider.h b/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateEndpointProvider.h index 00164370eebb..c2edf7bfc1af 100644 --- a/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Translate { namespace Endpoint { +using TranslateClientConfiguration = Aws::Translate::TranslateClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using TranslateClientContextParameters = Aws::Endpoint::ClientContextParameters; -using TranslateClientConfiguration = Aws::Client::GenericClientConfiguration; -using TranslateBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_TRANSLATE_API TranslateBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~TranslateBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const TranslateClientConfiguration& config); + virtual void SetFromClientConfiguration(const TranslateClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TranslateClientConfiguration& config); +}; /** * The type for the Translate Client Endpoint Provider. @@ -34,6 +43,24 @@ using TranslateEndpointProviderBase = using TranslateDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace Translate + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_TRANSLATE_EXTERN template class AWS_TRANSLATE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_TRANSLATE_EXTERN template class AWS_TRANSLATE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace Translate { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateServiceClientModel.h b/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateServiceClientModel.h index 3c0a4f9bdf12..3faaa8c0c206 100644 --- a/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateServiceClientModel.h @@ -69,7 +69,6 @@ class RetryStrategy; } // namespace Client namespace Translate { -using TranslateClientConfiguration = Aws::Client::GenericClientConfiguration; using TranslateEndpointProviderBase = Aws::Translate::Endpoint::TranslateEndpointProviderBase; using TranslateEndpointProvider = Aws::Translate::Endpoint::TranslateEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-translate/source/TranslateClient.cpp b/generated/src/aws-cpp-sdk-translate/source/TranslateClient.cpp index 737e47375b9f..4d7f6e91d5f4 100644 --- a/generated/src/aws-cpp-sdk-translate/source/TranslateClient.cpp +++ b/generated/src/aws-cpp-sdk-translate/source/TranslateClient.cpp @@ -96,41 +96,6 @@ TranslateClient::TranslateClient(const std::shared_ptr& init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -TranslateClient::TranslateClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TranslateClient::TranslateClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TranslateClient::TranslateClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TranslateClient::~TranslateClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TranslateClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +113,7 @@ void TranslateClient::init(const Translate::TranslateClientConfiguration& config AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "translate"); -} - -void TranslateClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TranslateClient::InvokeOperationOutcome TranslateClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-translate/source/TranslateClientConfiguration.cpp b/generated/src/aws-cpp-sdk-translate/source/TranslateClientConfiguration.cpp new file mode 100644 index 000000000000..b47731bcd67f --- /dev/null +++ b/generated/src/aws-cpp-sdk-translate/source/TranslateClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Translate { + +void TranslateClientConfiguration::LoadTranslateSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +TranslateClientConfiguration::TranslateClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadTranslateSpecificConfig(this->profileName); +} + +TranslateClientConfiguration::TranslateClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadTranslateSpecificConfig(Aws::String(inputProfileName)); +} + +TranslateClientConfiguration::TranslateClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadTranslateSpecificConfig(this->profileName); +} + +TranslateClientConfiguration::TranslateClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadTranslateSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TranslateClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Translate +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-translate/source/TranslateEndpointProvider.cpp b/generated/src/aws-cpp-sdk-translate/source/TranslateEndpointProvider.cpp index f8e35beee6c4..dabe20933994 100644 --- a/generated/src/aws-cpp-sdk-translate/source/TranslateEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-translate/source/TranslateEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_TRANSLATE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Translate { namespace Endpoint { TranslateEndpointProvider::TranslateEndpointProvider() : TranslateDefaultEpProviderBase(Aws::Translate::TranslateEndpointRules::GetRulesBlob(), Aws::Translate::TranslateEndpointRules::RulesBlobSize) {} +void TranslateBuiltInParameters::SetFromClientConfiguration(const TranslateClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void TranslateBuiltInParameters::SetFromClientConfiguration(const TranslateClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void TranslateBuiltInParameters::SetServiceSpecificParameters(const TranslateClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Translate } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorClient.h b/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorClient.h index bdc53afc1980..cd336832b33b 100644 --- a/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorClient.h +++ b/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorClient.h @@ -56,27 +56,6 @@ class AWS_TRUSTEDADVISOR_API TrustedAdvisorClient : public Aws::Client::AWSJsonC const Aws::TrustedAdvisor::TrustedAdvisorClientConfiguration& clientConfiguration = Aws::TrustedAdvisor::TrustedAdvisorClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - TrustedAdvisorClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - TrustedAdvisorClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - TrustedAdvisorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~TrustedAdvisorClient(); /** @@ -453,7 +432,6 @@ class AWS_TRUSTEDADVISOR_API TrustedAdvisorClient : public Aws::Client::AWSJsonC return SubmitAsync(&TrustedAdvisorClient::UpdateRecommendationLifecycle, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorClientConfiguration.h b/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorClientConfiguration.h new file mode 100644 index 000000000000..a4d1529b37bf --- /dev/null +++ b/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace TrustedAdvisor { +struct AWS_TRUSTEDADVISOR_API TrustedAdvisorClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + TrustedAdvisorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TrustedAdvisorClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + TrustedAdvisorClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit TrustedAdvisorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadTrustedAdvisorSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_TRUSTEDADVISOR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const TrustedAdvisorClientConfiguration& config); +} // namespace TrustedAdvisor +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorEndpointProvider.h b/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorEndpointProvider.h index b26a4a5087eb..d8c6a4feaf13 100644 --- a/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace TrustedAdvisor { namespace Endpoint { +using TrustedAdvisorClientConfiguration = Aws::TrustedAdvisor::TrustedAdvisorClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using TrustedAdvisorClientContextParameters = Aws::Endpoint::ClientContextParameters; -using TrustedAdvisorClientConfiguration = Aws::Client::GenericClientConfiguration; -using TrustedAdvisorBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_TRUSTEDADVISOR_API TrustedAdvisorBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~TrustedAdvisorBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const TrustedAdvisorClientConfiguration& config); + virtual void SetFromClientConfiguration(const TrustedAdvisorClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const TrustedAdvisorClientConfiguration& config); +}; /** * The type for the TrustedAdvisor Client Endpoint Provider. @@ -34,6 +43,24 @@ using TrustedAdvisorEndpointProviderBase = using TrustedAdvisorDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace TrustedAdvisor + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_TRUSTEDADVISOR_EXTERN template class AWS_TRUSTEDADVISOR_API Aws::Endpoint::EndpointProviderBase< + TrustedAdvisor::Endpoint::TrustedAdvisorClientConfiguration, TrustedAdvisor::Endpoint::TrustedAdvisorBuiltInParameters, + TrustedAdvisor::Endpoint::TrustedAdvisorClientContextParameters>; + +AWS_TRUSTEDADVISOR_EXTERN template class AWS_TRUSTEDADVISOR_API Aws::Endpoint::BDDEndpointProvider< + TrustedAdvisor::Endpoint::TrustedAdvisorClientConfiguration, TrustedAdvisor::Endpoint::TrustedAdvisorBuiltInParameters, + TrustedAdvisor::Endpoint::TrustedAdvisorClientContextParameters>; +} // namespace Endpoint + +namespace TrustedAdvisor { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorServiceClientModel.h b/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorServiceClientModel.h index a1783ec5888e..c5c971f02047 100644 --- a/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorServiceClientModel.h @@ -60,7 +60,6 @@ class RetryStrategy; } // namespace Client namespace TrustedAdvisor { -using TrustedAdvisorClientConfiguration = Aws::Client::GenericClientConfiguration; using TrustedAdvisorEndpointProviderBase = Aws::TrustedAdvisor::Endpoint::TrustedAdvisorEndpointProviderBase; using TrustedAdvisorEndpointProvider = Aws::TrustedAdvisor::Endpoint::TrustedAdvisorEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorClient.cpp b/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorClient.cpp index b06532fc2c3c..ab9efff720b3 100644 --- a/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorClient.cpp +++ b/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorClient.cpp @@ -90,41 +90,6 @@ TrustedAdvisorClient::TrustedAdvisorClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TrustedAdvisorClient::TrustedAdvisorClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -TrustedAdvisorClient::TrustedAdvisorClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ TrustedAdvisorClient::~TrustedAdvisorClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& TrustedAdvisorClient::accessEndpointProvider() { return m_endpointProvider; } @@ -142,12 +107,7 @@ void TrustedAdvisorClient::init(const TrustedAdvisor::TrustedAdvisorClientConfig AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "trustedadvisor"); -} - -void TrustedAdvisorClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } TrustedAdvisorClient::InvokeOperationOutcome TrustedAdvisorClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorClientConfiguration.cpp b/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorClientConfiguration.cpp new file mode 100644 index 000000000000..a6d6137894b5 --- /dev/null +++ b/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace TrustedAdvisor { + +void TrustedAdvisorClientConfiguration::LoadTrustedAdvisorSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +TrustedAdvisorClientConfiguration::TrustedAdvisorClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadTrustedAdvisorSpecificConfig(this->profileName); +} + +TrustedAdvisorClientConfiguration::TrustedAdvisorClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadTrustedAdvisorSpecificConfig(Aws::String(inputProfileName)); +} + +TrustedAdvisorClientConfiguration::TrustedAdvisorClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadTrustedAdvisorSpecificConfig(this->profileName); +} + +TrustedAdvisorClientConfiguration::TrustedAdvisorClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadTrustedAdvisorSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const TrustedAdvisorClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace TrustedAdvisor +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorEndpointProvider.cpp b/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorEndpointProvider.cpp index e7afc3c07d30..47a409a4f215 100644 --- a/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_TRUSTEDADVISOR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace TrustedAdvisor { namespace Endpoint { TrustedAdvisorEndpointProvider::TrustedAdvisorEndpointProvider() : TrustedAdvisorDefaultEpProviderBase(Aws::TrustedAdvisor::TrustedAdvisorEndpointRules::GetRulesBlob(), Aws::TrustedAdvisor::TrustedAdvisorEndpointRules::RulesBlobSize) {} +void TrustedAdvisorBuiltInParameters::SetFromClientConfiguration(const TrustedAdvisorClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void TrustedAdvisorBuiltInParameters::SetFromClientConfiguration(const TrustedAdvisorClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void TrustedAdvisorBuiltInParameters::SetServiceSpecificParameters(const TrustedAdvisorClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace TrustedAdvisor } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcClient.h b/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcClient.h index e6662c434bc8..2183384cb61f 100644 --- a/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcClient.h +++ b/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcClient.h @@ -66,27 +66,6 @@ class AWS_UXC_API UxcClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::uxc::UxcClientConfiguration& clientConfiguration = Aws::uxc::UxcClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - UxcClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - UxcClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - UxcClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~UxcClient(); /** @@ -195,7 +174,6 @@ class AWS_UXC_API UxcClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&UxcClient::UpdateAccountCustomizations, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcClientConfiguration.h b/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcClientConfiguration.h new file mode 100644 index 000000000000..85021a244476 --- /dev/null +++ b/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace uxc { +struct AWS_UXC_API UxcClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + UxcClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + UxcClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + UxcClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit UxcClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoaduxcSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_UXC_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const UxcClientConfiguration& config); +} // namespace uxc +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcEndpointProvider.h b/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcEndpointProvider.h index e30c4d61bb47..1f27afe5b68f 100644 --- a/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace uxc { namespace Endpoint { +using UxcClientConfiguration = Aws::uxc::UxcClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using UxcClientContextParameters = Aws::Endpoint::ClientContextParameters; -using UxcClientConfiguration = Aws::Client::GenericClientConfiguration; -using UxcBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_UXC_API UxcBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~UxcBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const UxcClientConfiguration& config); + virtual void SetFromClientConfiguration(const UxcClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const UxcClientConfiguration& config); +}; /** * The type for the uxc Client Endpoint Provider. @@ -32,6 +41,22 @@ using UxcEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace uxc + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_UXC_EXTERN template class AWS_UXC_API Aws::Endpoint::EndpointProviderBase< + uxc::Endpoint::UxcClientConfiguration, uxc::Endpoint::UxcBuiltInParameters, uxc::Endpoint::UxcClientContextParameters>; + +AWS_UXC_EXTERN template class AWS_UXC_API Aws::Endpoint::BDDEndpointProvider< + uxc::Endpoint::UxcClientConfiguration, uxc::Endpoint::UxcBuiltInParameters, uxc::Endpoint::UxcClientContextParameters>; +} // namespace Endpoint + +namespace uxc { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcServiceClientModel.h b/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcServiceClientModel.h index 887780fb096a..53ea0cfb26e7 100644 --- a/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcServiceClientModel.h @@ -52,7 +52,6 @@ class RetryStrategy; } // namespace Client namespace uxc { -using UxcClientConfiguration = Aws::Client::GenericClientConfiguration; using UxcEndpointProviderBase = Aws::uxc::Endpoint::UxcEndpointProviderBase; using UxcEndpointProvider = Aws::uxc::Endpoint::UxcEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-uxc/source/UxcClient.cpp b/generated/src/aws-cpp-sdk-uxc/source/UxcClient.cpp index 705dceefd24b..ae55a23eb36c 100644 --- a/generated/src/aws-cpp-sdk-uxc/source/UxcClient.cpp +++ b/generated/src/aws-cpp-sdk-uxc/source/UxcClient.cpp @@ -78,41 +78,6 @@ UxcClient::UxcClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -UxcClient::UxcClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -UxcClient::UxcClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -UxcClient::UxcClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ UxcClient::~UxcClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& UxcClient::accessEndpointProvider() { return m_endpointProvider; } @@ -130,12 +95,7 @@ void UxcClient::init(const uxc::UxcClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "uxc"); -} - -void UxcClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } UxcClient::InvokeOperationOutcome UxcClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-uxc/source/UxcClientConfiguration.cpp b/generated/src/aws-cpp-sdk-uxc/source/UxcClientConfiguration.cpp new file mode 100644 index 000000000000..4e3c4d8f80ca --- /dev/null +++ b/generated/src/aws-cpp-sdk-uxc/source/UxcClientConfiguration.cpp @@ -0,0 +1,46 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace uxc { + +void UxcClientConfiguration::LoaduxcSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +UxcClientConfiguration::UxcClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoaduxcSpecificConfig(this->profileName); +} + +UxcClientConfiguration::UxcClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoaduxcSpecificConfig(Aws::String(inputProfileName)); +} + +UxcClientConfiguration::UxcClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoaduxcSpecificConfig(this->profileName); +} + +UxcClientConfiguration::UxcClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoaduxcSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const UxcClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace uxc +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-uxc/source/UxcEndpointProvider.cpp b/generated/src/aws-cpp-sdk-uxc/source/UxcEndpointProvider.cpp index e38a487f2f7c..25f41cabd159 100644 --- a/generated/src/aws-cpp-sdk-uxc/source/UxcEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-uxc/source/UxcEndpointProvider.cpp @@ -7,11 +7,39 @@ #include namespace Aws { +#ifndef AWS_UXC_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace uxc { namespace Endpoint { UxcEndpointProvider::UxcEndpointProvider() : UxcDefaultEpProviderBase(Aws::uxc::UxcEndpointRules::GetRulesBlob(), Aws::uxc::UxcEndpointRules::RulesBlobSize) {} +void UxcBuiltInParameters::SetFromClientConfiguration(const UxcClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void UxcBuiltInParameters::SetFromClientConfiguration(const UxcClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void UxcBuiltInParameters::SetServiceSpecificParameters(const UxcClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace uxc } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsClient.h b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsClient.h index 094dc7711ed4..a45ddab5a526 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsClient.h +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsClient.h @@ -103,27 +103,6 @@ class AWS_VERIFIEDPERMISSIONS_API VerifiedPermissionsClient : public Aws::Client const Aws::VerifiedPermissions::VerifiedPermissionsClientConfiguration& clientConfiguration = Aws::VerifiedPermissions::VerifiedPermissionsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - VerifiedPermissionsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - VerifiedPermissionsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - VerifiedPermissionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~VerifiedPermissionsClient(); /** @@ -1244,7 +1223,6 @@ class AWS_VERIFIEDPERMISSIONS_API VerifiedPermissionsClient : public Aws::Client return SubmitAsync(&VerifiedPermissionsClient::UpdatePolicyTemplate, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsClientConfiguration.h b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsClientConfiguration.h new file mode 100644 index 000000000000..f1763ec0ff43 --- /dev/null +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace VerifiedPermissions { +struct AWS_VERIFIEDPERMISSIONS_API VerifiedPermissionsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + VerifiedPermissionsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + VerifiedPermissionsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + VerifiedPermissionsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit VerifiedPermissionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadVerifiedPermissionsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_VERIFIEDPERMISSIONS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const VerifiedPermissionsClientConfiguration& config); +} // namespace VerifiedPermissions +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsEndpointProvider.h b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsEndpointProvider.h index db3b4e70c15b..44640a0815be 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace VerifiedPermissions { namespace Endpoint { +using VerifiedPermissionsClientConfiguration = Aws::VerifiedPermissions::VerifiedPermissionsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using VerifiedPermissionsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using VerifiedPermissionsClientConfiguration = Aws::Client::GenericClientConfiguration; -using VerifiedPermissionsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_VERIFIEDPERMISSIONS_API VerifiedPermissionsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~VerifiedPermissionsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const VerifiedPermissionsClientConfiguration& config); + virtual void SetFromClientConfiguration(const VerifiedPermissionsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const VerifiedPermissionsClientConfiguration& config); +}; /** * The type for the VerifiedPermissions Client Endpoint Provider. @@ -36,6 +45,26 @@ using VerifiedPermissionsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace VerifiedPermissions + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_VERIFIEDPERMISSIONS_EXTERN template class AWS_VERIFIEDPERMISSIONS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_VERIFIEDPERMISSIONS_EXTERN template class AWS_VERIFIEDPERMISSIONS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace VerifiedPermissions { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsServiceClientModel.h b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsServiceClientModel.h index 1ab57ba7daba..1d07221eb435 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsServiceClientModel.h @@ -82,7 +82,6 @@ class RetryStrategy; } // namespace Client namespace VerifiedPermissions { -using VerifiedPermissionsClientConfiguration = Aws::Client::GenericClientConfiguration; using VerifiedPermissionsEndpointProviderBase = Aws::VerifiedPermissions::Endpoint::VerifiedPermissionsEndpointProviderBase; using VerifiedPermissionsEndpointProvider = Aws::VerifiedPermissions::Endpoint::VerifiedPermissionsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsClient.cpp b/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsClient.cpp index bce392636e05..0ce89cb96f59 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsClient.cpp +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsClient.cpp @@ -115,42 +115,6 @@ VerifiedPermissionsClient::VerifiedPermissionsClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -VerifiedPermissionsClient::VerifiedPermissionsClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -VerifiedPermissionsClient::VerifiedPermissionsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ VerifiedPermissionsClient::~VerifiedPermissionsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& VerifiedPermissionsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -168,12 +132,7 @@ void VerifiedPermissionsClient::init(const VerifiedPermissions::VerifiedPermissi AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "verifiedpermissions"); -} - -void VerifiedPermissionsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } VerifiedPermissionsClient::InvokeOperationOutcome VerifiedPermissionsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsClientConfiguration.cpp new file mode 100644 index 000000000000..688da2c7c416 --- /dev/null +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace VerifiedPermissions { + +void VerifiedPermissionsClientConfiguration::LoadVerifiedPermissionsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +VerifiedPermissionsClientConfiguration::VerifiedPermissionsClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadVerifiedPermissionsSpecificConfig(this->profileName); +} + +VerifiedPermissionsClientConfiguration::VerifiedPermissionsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadVerifiedPermissionsSpecificConfig(Aws::String(inputProfileName)); +} + +VerifiedPermissionsClientConfiguration::VerifiedPermissionsClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadVerifiedPermissionsSpecificConfig(this->profileName); +} + +VerifiedPermissionsClientConfiguration::VerifiedPermissionsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadVerifiedPermissionsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const VerifiedPermissionsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace VerifiedPermissions +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsEndpointProvider.cpp index 4486caac143d..472793424a6d 100644 --- a/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_VERIFIEDPERMISSIONS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace VerifiedPermissions { namespace Endpoint { VerifiedPermissionsEndpointProvider::VerifiedPermissionsEndpointProvider() : VerifiedPermissionsDefaultEpProviderBase(Aws::VerifiedPermissions::VerifiedPermissionsEndpointRules::GetRulesBlob(), Aws::VerifiedPermissions::VerifiedPermissionsEndpointRules::RulesBlobSize) {} +void VerifiedPermissionsBuiltInParameters::SetFromClientConfiguration(const VerifiedPermissionsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void VerifiedPermissionsBuiltInParameters::SetFromClientConfiguration(const VerifiedPermissionsClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void VerifiedPermissionsBuiltInParameters::SetServiceSpecificParameters(const VerifiedPermissionsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace VerifiedPermissions } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDClient.h b/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDClient.h index b438d7299134..49e89861ff54 100644 --- a/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDClient.h +++ b/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDClient.h @@ -54,27 +54,6 @@ class AWS_VOICEID_API VoiceIDClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::VoiceID::VoiceIDClientConfiguration& clientConfiguration = Aws::VoiceID::VoiceIDClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - VoiceIDClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - VoiceIDClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - VoiceIDClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~VoiceIDClient(); /** @@ -866,7 +845,6 @@ class AWS_VOICEID_API VoiceIDClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&VoiceIDClient::UpdateWatchlist, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDClientConfiguration.h b/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDClientConfiguration.h new file mode 100644 index 000000000000..1275036673e9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace VoiceID { +struct AWS_VOICEID_API VoiceIDClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + VoiceIDClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + VoiceIDClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + VoiceIDClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit VoiceIDClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadVoiceIDSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_VOICEID_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const VoiceIDClientConfiguration& config); +} // namespace VoiceID +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDEndpointProvider.h b/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDEndpointProvider.h index 4e6935b6e870..1f330ae2053d 100644 --- a/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace VoiceID { namespace Endpoint { +using VoiceIDClientConfiguration = Aws::VoiceID::VoiceIDClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using VoiceIDClientContextParameters = Aws::Endpoint::ClientContextParameters; -using VoiceIDClientConfiguration = Aws::Client::GenericClientConfiguration; -using VoiceIDBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_VOICEID_API VoiceIDBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~VoiceIDBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const VoiceIDClientConfiguration& config); + virtual void SetFromClientConfiguration(const VoiceIDClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const VoiceIDClientConfiguration& config); +}; /** * The type for the VoiceID Client Endpoint Provider. @@ -34,6 +43,24 @@ using VoiceIDEndpointProviderBase = using VoiceIDDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace VoiceID + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_VOICEID_EXTERN template class AWS_VOICEID_API + Aws::Endpoint::EndpointProviderBase; + +AWS_VOICEID_EXTERN template class AWS_VOICEID_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace VoiceID { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDServiceClientModel.h b/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDServiceClientModel.h index 26ac0d5aaca6..f1ee0cec5d8f 100644 --- a/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDServiceClientModel.h @@ -73,7 +73,6 @@ class RetryStrategy; } // namespace Client namespace VoiceID { -using VoiceIDClientConfiguration = Aws::Client::GenericClientConfiguration; using VoiceIDEndpointProviderBase = Aws::VoiceID::Endpoint::VoiceIDEndpointProviderBase; using VoiceIDEndpointProvider = Aws::VoiceID::Endpoint::VoiceIDEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDClient.cpp b/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDClient.cpp index f738dadf844e..b17ad6d9bddd 100644 --- a/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDClient.cpp +++ b/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDClient.cpp @@ -106,41 +106,6 @@ VoiceIDClient::VoiceIDClient(const std::shared_ptr& cred init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -VoiceIDClient::VoiceIDClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -VoiceIDClient::VoiceIDClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -VoiceIDClient::VoiceIDClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ VoiceIDClient::~VoiceIDClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& VoiceIDClient::accessEndpointProvider() { return m_endpointProvider; } @@ -158,12 +123,7 @@ void VoiceIDClient::init(const VoiceID::VoiceIDClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "voiceid"); -} - -void VoiceIDClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } VoiceIDClient::InvokeOperationOutcome VoiceIDClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDClientConfiguration.cpp b/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDClientConfiguration.cpp new file mode 100644 index 000000000000..5fa4cd6ffdad --- /dev/null +++ b/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace VoiceID { + +void VoiceIDClientConfiguration::LoadVoiceIDSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +VoiceIDClientConfiguration::VoiceIDClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadVoiceIDSpecificConfig(this->profileName); +} + +VoiceIDClientConfiguration::VoiceIDClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadVoiceIDSpecificConfig(Aws::String(inputProfileName)); +} + +VoiceIDClientConfiguration::VoiceIDClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadVoiceIDSpecificConfig(this->profileName); +} + +VoiceIDClientConfiguration::VoiceIDClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadVoiceIDSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const VoiceIDClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace VoiceID +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDEndpointProvider.cpp b/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDEndpointProvider.cpp index 9eef1c4d7a23..24e7c200af1b 100644 --- a/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-voice-id/source/VoiceIDEndpointProvider.cpp @@ -7,11 +7,44 @@ #include namespace Aws { +#ifndef AWS_VOICEID_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace VoiceID { namespace Endpoint { VoiceIDEndpointProvider::VoiceIDEndpointProvider() : VoiceIDDefaultEpProviderBase(Aws::VoiceID::VoiceIDEndpointRules::GetRulesBlob(), Aws::VoiceID::VoiceIDEndpointRules::RulesBlobSize) {} +void VoiceIDBuiltInParameters::SetFromClientConfiguration(const VoiceIDClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void VoiceIDBuiltInParameters::SetFromClientConfiguration(const VoiceIDClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void VoiceIDBuiltInParameters::SetServiceSpecificParameters(const VoiceIDClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace VoiceID } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClient.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClient.h index 46757c454f5e..6dba2de80efc 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClient.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClient.h @@ -61,27 +61,6 @@ class AWS_VPCLATTICE_API VPCLatticeClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::VPCLattice::VPCLatticeClientConfiguration& clientConfiguration = Aws::VPCLattice::VPCLatticeClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - VPCLatticeClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - VPCLatticeClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - VPCLatticeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~VPCLatticeClient(); /** @@ -2206,7 +2185,6 @@ class AWS_VPCLATTICE_API VPCLatticeClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&VPCLatticeClient::UpdateTargetGroup, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClientConfiguration.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClientConfiguration.h new file mode 100644 index 000000000000..f2fd181b1238 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace VPCLattice { +struct AWS_VPCLATTICE_API VPCLatticeClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + VPCLatticeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + VPCLatticeClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + VPCLatticeClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit VPCLatticeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadVPCLatticeSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_VPCLATTICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const VPCLatticeClientConfiguration& config); +} // namespace VPCLattice +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeEndpointProvider.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeEndpointProvider.h index 4e23634980ae..8741c18c494e 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace VPCLattice { namespace Endpoint { +using VPCLatticeClientConfiguration = Aws::VPCLattice::VPCLatticeClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using VPCLatticeClientContextParameters = Aws::Endpoint::ClientContextParameters; -using VPCLatticeClientConfiguration = Aws::Client::GenericClientConfiguration; -using VPCLatticeBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_VPCLATTICE_API VPCLatticeBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~VPCLatticeBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const VPCLatticeClientConfiguration& config); + virtual void SetFromClientConfiguration(const VPCLatticeClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const VPCLatticeClientConfiguration& config); +}; /** * The type for the VPCLattice Client Endpoint Provider. @@ -34,6 +43,24 @@ using VPCLatticeEndpointProviderBase = using VPCLatticeDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace VPCLattice + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_VPCLATTICE_EXTERN template class AWS_VPCLATTICE_API Aws::Endpoint::EndpointProviderBase< + VPCLattice::Endpoint::VPCLatticeClientConfiguration, VPCLattice::Endpoint::VPCLatticeBuiltInParameters, + VPCLattice::Endpoint::VPCLatticeClientContextParameters>; + +AWS_VPCLATTICE_EXTERN template class AWS_VPCLATTICE_API Aws::Endpoint::BDDEndpointProvider< + VPCLattice::Endpoint::VPCLatticeClientConfiguration, VPCLattice::Endpoint::VPCLatticeBuiltInParameters, + VPCLattice::Endpoint::VPCLatticeClientContextParameters>; +} // namespace Endpoint + +namespace VPCLattice { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeServiceClientModel.h b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeServiceClientModel.h index e97645cdb08c..daaf0c42fb78 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeServiceClientModel.h @@ -128,7 +128,6 @@ class RetryStrategy; } // namespace Client namespace VPCLattice { -using VPCLatticeClientConfiguration = Aws::Client::GenericClientConfiguration; using VPCLatticeEndpointProviderBase = Aws::VPCLattice::Endpoint::VPCLatticeEndpointProviderBase; using VPCLatticeEndpointProvider = Aws::VPCLattice::Endpoint::VPCLatticeEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClient.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClient.cpp index e3c866a3fb8c..c881e25dbcb2 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClient.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClient.cpp @@ -150,41 +150,6 @@ VPCLatticeClient::VPCLatticeClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -VPCLatticeClient::VPCLatticeClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -VPCLatticeClient::VPCLatticeClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -VPCLatticeClient::VPCLatticeClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ VPCLatticeClient::~VPCLatticeClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& VPCLatticeClient::accessEndpointProvider() { return m_endpointProvider; } @@ -202,12 +167,7 @@ void VPCLatticeClient::init(const VPCLattice::VPCLatticeClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "vpc-lattice"); -} - -void VPCLatticeClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } VPCLatticeClient::InvokeOperationOutcome VPCLatticeClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClientConfiguration.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClientConfiguration.cpp new file mode 100644 index 000000000000..21344c3c5ee4 --- /dev/null +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace VPCLattice { + +void VPCLatticeClientConfiguration::LoadVPCLatticeSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +VPCLatticeClientConfiguration::VPCLatticeClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadVPCLatticeSpecificConfig(this->profileName); +} + +VPCLatticeClientConfiguration::VPCLatticeClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadVPCLatticeSpecificConfig(Aws::String(inputProfileName)); +} + +VPCLatticeClientConfiguration::VPCLatticeClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadVPCLatticeSpecificConfig(this->profileName); +} + +VPCLatticeClientConfiguration::VPCLatticeClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadVPCLatticeSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const VPCLatticeClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace VPCLattice +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeEndpointProvider.cpp b/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeEndpointProvider.cpp index 16c245e0801a..4ac2d645eba5 100644 --- a/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_VPCLATTICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace VPCLattice { namespace Endpoint { VPCLatticeEndpointProvider::VPCLatticeEndpointProvider() : VPCLatticeDefaultEpProviderBase(Aws::VPCLattice::VPCLatticeEndpointRules::GetRulesBlob(), Aws::VPCLattice::VPCLatticeEndpointRules::RulesBlobSize) {} +void VPCLatticeBuiltInParameters::SetFromClientConfiguration(const VPCLatticeClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void VPCLatticeBuiltInParameters::SetFromClientConfiguration(const VPCLatticeClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void VPCLatticeBuiltInParameters::SetServiceSpecificParameters(const VPCLatticeClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace VPCLattice } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalClient.h b/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalClient.h index 5308f08c6c0a..ba9db78b6652 100644 --- a/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalClient.h +++ b/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalClient.h @@ -75,27 +75,6 @@ class AWS_WAFREGIONAL_API WAFRegionalClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::WAFRegional::WAFRegionalClientConfiguration& clientConfiguration = Aws::WAFRegional::WAFRegionalClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WAFRegionalClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WAFRegionalClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WAFRegionalClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WAFRegionalClient(); /** @@ -3654,7 +3633,6 @@ class AWS_WAFREGIONAL_API WAFRegionalClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&WAFRegionalClient::UpdateXssMatchSet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalClientConfiguration.h b/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalClientConfiguration.h new file mode 100644 index 000000000000..596e37c23e0f --- /dev/null +++ b/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WAFRegional { +struct AWS_WAFREGIONAL_API WAFRegionalClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WAFRegionalClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WAFRegionalClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WAFRegionalClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WAFRegionalClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWAFRegionalSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WAFREGIONAL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WAFRegionalClientConfiguration& config); +} // namespace WAFRegional +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalEndpointProvider.h b/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalEndpointProvider.h index d18739c7c810..1b260eecc2d6 100644 --- a/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WAFRegional { namespace Endpoint { +using WAFRegionalClientConfiguration = Aws::WAFRegional::WAFRegionalClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WAFRegionalClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WAFRegionalClientConfiguration = Aws::Client::GenericClientConfiguration; -using WAFRegionalBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WAFREGIONAL_API WAFRegionalBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WAFRegionalBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WAFRegionalClientConfiguration& config); + virtual void SetFromClientConfiguration(const WAFRegionalClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WAFRegionalClientConfiguration& config); +}; /** * The type for the WAFRegional Client Endpoint Provider. @@ -34,6 +43,24 @@ using WAFRegionalEndpointProviderBase = using WAFRegionalDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WAFRegional + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WAFREGIONAL_EXTERN template class AWS_WAFREGIONAL_API Aws::Endpoint::EndpointProviderBase< + WAFRegional::Endpoint::WAFRegionalClientConfiguration, WAFRegional::Endpoint::WAFRegionalBuiltInParameters, + WAFRegional::Endpoint::WAFRegionalClientContextParameters>; + +AWS_WAFREGIONAL_EXTERN template class AWS_WAFREGIONAL_API Aws::Endpoint::BDDEndpointProvider< + WAFRegional::Endpoint::WAFRegionalClientConfiguration, WAFRegional::Endpoint::WAFRegionalBuiltInParameters, + WAFRegional::Endpoint::WAFRegionalClientContextParameters>; +} // namespace Endpoint + +namespace WAFRegional { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalServiceClientModel.h b/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalServiceClientModel.h index 897bc210879c..0fae768e9a30 100644 --- a/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalServiceClientModel.h @@ -143,7 +143,6 @@ class RetryStrategy; } // namespace Client namespace WAFRegional { -using WAFRegionalClientConfiguration = Aws::Client::GenericClientConfiguration; using WAFRegionalEndpointProviderBase = Aws::WAFRegional::Endpoint::WAFRegionalEndpointProviderBase; using WAFRegionalEndpointProvider = Aws::WAFRegional::Endpoint::WAFRegionalEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalClient.cpp b/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalClient.cpp index 640423dc4d6c..97dd6291a081 100644 --- a/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalClient.cpp +++ b/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalClient.cpp @@ -158,41 +158,6 @@ WAFRegionalClient::WAFRegionalClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WAFRegionalClient::WAFRegionalClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WAFRegionalClient::WAFRegionalClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WAFRegionalClient::~WAFRegionalClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WAFRegionalClient::accessEndpointProvider() { return m_endpointProvider; } @@ -210,12 +175,7 @@ void WAFRegionalClient::init(const WAFRegional::WAFRegionalClientConfiguration& AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "waf-regional"); -} - -void WAFRegionalClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WAFRegionalClient::InvokeOperationOutcome WAFRegionalClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalClientConfiguration.cpp b/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalClientConfiguration.cpp new file mode 100644 index 000000000000..235d613e795e --- /dev/null +++ b/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WAFRegional { + +void WAFRegionalClientConfiguration::LoadWAFRegionalSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WAFRegionalClientConfiguration::WAFRegionalClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWAFRegionalSpecificConfig(this->profileName); +} + +WAFRegionalClientConfiguration::WAFRegionalClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWAFRegionalSpecificConfig(Aws::String(inputProfileName)); +} + +WAFRegionalClientConfiguration::WAFRegionalClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWAFRegionalSpecificConfig(this->profileName); +} + +WAFRegionalClientConfiguration::WAFRegionalClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWAFRegionalSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WAFRegionalClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WAFRegional +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalEndpointProvider.cpp b/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalEndpointProvider.cpp index b5d4de3ac645..e4e39855c5df 100644 --- a/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_WAFREGIONAL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WAFRegional { namespace Endpoint { WAFRegionalEndpointProvider::WAFRegionalEndpointProvider() : WAFRegionalDefaultEpProviderBase(Aws::WAFRegional::WAFRegionalEndpointRules::GetRulesBlob(), Aws::WAFRegional::WAFRegionalEndpointRules::RulesBlobSize) {} +void WAFRegionalBuiltInParameters::SetFromClientConfiguration(const WAFRegionalClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WAFRegionalBuiltInParameters::SetFromClientConfiguration(const WAFRegionalClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WAFRegionalBuiltInParameters::SetServiceSpecificParameters(const WAFRegionalClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WAFRegional } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFClient.h b/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFClient.h index 3447602982d1..b3248aafde59 100644 --- a/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFClient.h +++ b/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFClient.h @@ -68,27 +68,6 @@ class AWS_WAF_API WAFClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::WAF::WAFClientConfiguration& clientConfiguration = Aws::WAF::WAFClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WAFClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WAFClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WAFClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WAFClient(); /** @@ -3507,7 +3486,6 @@ class AWS_WAF_API WAFClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&WAFClient::UpdateXssMatchSet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFClientConfiguration.h b/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFClientConfiguration.h new file mode 100644 index 000000000000..4216bf0a14eb --- /dev/null +++ b/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WAF { +struct AWS_WAF_API WAFClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WAFClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WAFClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WAFClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WAFClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWAFSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WAF_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WAFClientConfiguration& config); +} // namespace WAF +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFEndpointProvider.h b/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFEndpointProvider.h index c21e63165b0a..b640112ad661 100644 --- a/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WAF { namespace Endpoint { +using WAFClientConfiguration = Aws::WAF::WAFClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WAFClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WAFClientConfiguration = Aws::Client::GenericClientConfiguration; -using WAFBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WAF_API WAFBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WAFBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WAFClientConfiguration& config); + virtual void SetFromClientConfiguration(const WAFClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WAFClientConfiguration& config); +}; /** * The type for the WAF Client Endpoint Provider. @@ -32,6 +41,22 @@ using WAFEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace WAF + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WAF_EXTERN template class AWS_WAF_API Aws::Endpoint::EndpointProviderBase< + WAF::Endpoint::WAFClientConfiguration, WAF::Endpoint::WAFBuiltInParameters, WAF::Endpoint::WAFClientContextParameters>; + +AWS_WAF_EXTERN template class AWS_WAF_API Aws::Endpoint::BDDEndpointProvider< + WAF::Endpoint::WAFClientConfiguration, WAF::Endpoint::WAFBuiltInParameters, WAF::Endpoint::WAFClientContextParameters>; +} // namespace Endpoint + +namespace WAF { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFServiceClientModel.h b/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFServiceClientModel.h index a6c069c1a5bc..806a4ee535c1 100644 --- a/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFServiceClientModel.h @@ -139,7 +139,6 @@ class RetryStrategy; } // namespace Client namespace WAF { -using WAFClientConfiguration = Aws::Client::GenericClientConfiguration; using WAFEndpointProviderBase = Aws::WAF::Endpoint::WAFEndpointProviderBase; using WAFEndpointProvider = Aws::WAF::Endpoint::WAFEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-waf/source/WAFClient.cpp b/generated/src/aws-cpp-sdk-waf/source/WAFClient.cpp index a50bfac1b73c..f3ad9e55dbb2 100644 --- a/generated/src/aws-cpp-sdk-waf/source/WAFClient.cpp +++ b/generated/src/aws-cpp-sdk-waf/source/WAFClient.cpp @@ -152,41 +152,6 @@ WAFClient::WAFClient(const std::shared_ptr& credentialsP init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -WAFClient::WAFClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WAFClient::WAFClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WAFClient::WAFClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WAFClient::~WAFClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WAFClient::accessEndpointProvider() { return m_endpointProvider; } @@ -204,12 +169,7 @@ void WAFClient::init(const WAF::WAFClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "waf"); -} - -void WAFClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WAFClient::InvokeOperationOutcome WAFClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-waf/source/WAFClientConfiguration.cpp b/generated/src/aws-cpp-sdk-waf/source/WAFClientConfiguration.cpp new file mode 100644 index 000000000000..4612d6339ab0 --- /dev/null +++ b/generated/src/aws-cpp-sdk-waf/source/WAFClientConfiguration.cpp @@ -0,0 +1,47 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WAF { + +void WAFClientConfiguration::LoadWAFSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WAFClientConfiguration::WAFClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWAFSpecificConfig(this->profileName); +} + +WAFClientConfiguration::WAFClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWAFSpecificConfig(Aws::String(inputProfileName)); +} + +WAFClientConfiguration::WAFClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWAFSpecificConfig(this->profileName); +} + +WAFClientConfiguration::WAFClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) : BaseClientConfigClass(sharedConfig) { + LoadWAFSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WAFClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WAF +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-waf/source/WAFEndpointProvider.cpp b/generated/src/aws-cpp-sdk-waf/source/WAFEndpointProvider.cpp index 3378bf1dbe6f..fb8aacbc145e 100644 --- a/generated/src/aws-cpp-sdk-waf/source/WAFEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-waf/source/WAFEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_WAF_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WAF { namespace Endpoint { WAFEndpointProvider::WAFEndpointProvider() : WAFDefaultEpProviderBase(Aws::WAF::WAFEndpointRules::GetRulesBlob(), Aws::WAF::WAFEndpointRules::RulesBlobSize) {} +void WAFBuiltInParameters::SetFromClientConfiguration(const WAFClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WAFBuiltInParameters::SetFromClientConfiguration(const WAFClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WAFBuiltInParameters::SetServiceSpecificParameters(const WAFClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WAF } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2Client.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2Client.h index ca042498a279..702465376054 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2Client.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2Client.h @@ -89,27 +89,6 @@ class AWS_WAFV2_API WAFV2Client : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::WAFV2::WAFV2ClientConfiguration& clientConfiguration = Aws::WAFV2::WAFV2ClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WAFV2Client(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WAFV2Client(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WAFV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WAFV2Client(); /** @@ -2098,7 +2077,6 @@ class AWS_WAFV2_API WAFV2Client : public Aws::Client::AWSJsonClient, return SubmitAsync(&WAFV2Client::UpdateWebACL, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2ClientConfiguration.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2ClientConfiguration.h new file mode 100644 index 000000000000..111ef8c04978 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2ClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WAFV2 { +struct AWS_WAFV2_API WAFV2ClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WAFV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WAFV2ClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WAFV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WAFV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWAFV2SpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WAFV2_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WAFV2ClientConfiguration& config); +} // namespace WAFV2 +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2EndpointProvider.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2EndpointProvider.h index b1911a0370a9..0ff89da30df0 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2EndpointProvider.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2EndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WAFV2 { namespace Endpoint { +using WAFV2ClientConfiguration = Aws::WAFV2::WAFV2ClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WAFV2ClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WAFV2ClientConfiguration = Aws::Client::GenericClientConfiguration; -using WAFV2BuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WAFV2_API WAFV2BuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WAFV2BuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WAFV2ClientConfiguration& config); + virtual void SetFromClientConfiguration(const WAFV2ClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WAFV2ClientConfiguration& config); +}; /** * The type for the WAFV2 Client Endpoint Provider. @@ -32,6 +41,22 @@ using WAFV2EndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace WAFV2 + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WAFV2_EXTERN template class AWS_WAFV2_API Aws::Endpoint::EndpointProviderBase< + WAFV2::Endpoint::WAFV2ClientConfiguration, WAFV2::Endpoint::WAFV2BuiltInParameters, WAFV2::Endpoint::WAFV2ClientContextParameters>; + +AWS_WAFV2_EXTERN template class AWS_WAFV2_API Aws::Endpoint::BDDEndpointProvider< + WAFV2::Endpoint::WAFV2ClientConfiguration, WAFV2::Endpoint::WAFV2BuiltInParameters, WAFV2::Endpoint::WAFV2ClientContextParameters>; +} // namespace Endpoint + +namespace WAFV2 { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2ServiceClientModel.h b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2ServiceClientModel.h index f14d1f3822e2..f54f901d067e 100644 --- a/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2ServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2ServiceClientModel.h @@ -107,7 +107,6 @@ class RetryStrategy; } // namespace Client namespace WAFV2 { -using WAFV2ClientConfiguration = Aws::Client::GenericClientConfiguration; using WAFV2EndpointProviderBase = Aws::WAFV2::Endpoint::WAFV2EndpointProviderBase; using WAFV2EndpointProvider = Aws::WAFV2::Endpoint::WAFV2EndpointProvider; diff --git a/generated/src/aws-cpp-sdk-wafv2/source/WAFV2Client.cpp b/generated/src/aws-cpp-sdk-wafv2/source/WAFV2Client.cpp index 742ecd0b43ab..ae94f922771e 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/WAFV2Client.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/WAFV2Client.cpp @@ -136,41 +136,6 @@ WAFV2Client::WAFV2Client(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -WAFV2Client::WAFV2Client(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WAFV2Client::WAFV2Client(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WAFV2Client::WAFV2Client(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WAFV2Client::~WAFV2Client() { ShutdownSdkClient(this, -1); } std::shared_ptr& WAFV2Client::accessEndpointProvider() { return m_endpointProvider; } @@ -188,12 +153,7 @@ void WAFV2Client::init(const WAFV2::WAFV2ClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "wafv2"); -} - -void WAFV2Client::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WAFV2Client::InvokeOperationOutcome WAFV2Client::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-wafv2/source/WAFV2ClientConfiguration.cpp b/generated/src/aws-cpp-sdk-wafv2/source/WAFV2ClientConfiguration.cpp new file mode 100644 index 000000000000..9839371291e6 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wafv2/source/WAFV2ClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WAFV2 { + +void WAFV2ClientConfiguration::LoadWAFV2SpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WAFV2ClientConfiguration::WAFV2ClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWAFV2SpecificConfig(this->profileName); +} + +WAFV2ClientConfiguration::WAFV2ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWAFV2SpecificConfig(Aws::String(inputProfileName)); +} + +WAFV2ClientConfiguration::WAFV2ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWAFV2SpecificConfig(this->profileName); +} + +WAFV2ClientConfiguration::WAFV2ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWAFV2SpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WAFV2ClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WAFV2 +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wafv2/source/WAFV2EndpointProvider.cpp b/generated/src/aws-cpp-sdk-wafv2/source/WAFV2EndpointProvider.cpp index 6513429417ed..1fd13e30033a 100644 --- a/generated/src/aws-cpp-sdk-wafv2/source/WAFV2EndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-wafv2/source/WAFV2EndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_WAFV2_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WAFV2 { namespace Endpoint { WAFV2EndpointProvider::WAFV2EndpointProvider() : WAFV2DefaultEpProviderBase(Aws::WAFV2::WAFV2EndpointRules::GetRulesBlob(), Aws::WAFV2::WAFV2EndpointRules::RulesBlobSize) {} +void WAFV2BuiltInParameters::SetFromClientConfiguration(const WAFV2ClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WAFV2BuiltInParameters::SetFromClientConfiguration(const WAFV2ClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WAFV2BuiltInParameters::SetServiceSpecificParameters(const WAFV2ClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WAFV2 } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedClient.h b/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedClient.h index fa5944ab270a..32d11bcdee8e 100644 --- a/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedClient.h +++ b/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedClient.h @@ -71,27 +71,6 @@ class AWS_WELLARCHITECTED_API WellArchitectedClient : public Aws::Client::AWSJso const Aws::WellArchitected::WellArchitectedClientConfiguration& clientConfiguration = Aws::WellArchitected::WellArchitectedClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WellArchitectedClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WellArchitectedClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WellArchitectedClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WellArchitectedClient(); /** @@ -2766,7 +2745,6 @@ class AWS_WELLARCHITECTED_API WellArchitectedClient : public Aws::Client::AWSJso return SubmitAsync(&WellArchitectedClient::UpgradeReviewTemplateLensReview, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedClientConfiguration.h b/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedClientConfiguration.h new file mode 100644 index 000000000000..8f04f22489c2 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WellArchitected { +struct AWS_WELLARCHITECTED_API WellArchitectedClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WellArchitectedClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WellArchitectedClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WellArchitectedClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WellArchitectedClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWellArchitectedSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WELLARCHITECTED_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WellArchitectedClientConfiguration& config); +} // namespace WellArchitected +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedEndpointProvider.h b/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedEndpointProvider.h index 0a08c0439cff..26399aea9963 100644 --- a/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WellArchitected { namespace Endpoint { +using WellArchitectedClientConfiguration = Aws::WellArchitected::WellArchitectedClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WellArchitectedClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WellArchitectedClientConfiguration = Aws::Client::GenericClientConfiguration; -using WellArchitectedBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WELLARCHITECTED_API WellArchitectedBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WellArchitectedBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WellArchitectedClientConfiguration& config); + virtual void SetFromClientConfiguration(const WellArchitectedClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WellArchitectedClientConfiguration& config); +}; /** * The type for the WellArchitected Client Endpoint Provider. @@ -34,6 +43,24 @@ using WellArchitectedEndpointProviderBase = using WellArchitectedDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WellArchitected + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WELLARCHITECTED_EXTERN template class AWS_WELLARCHITECTED_API Aws::Endpoint::EndpointProviderBase< + WellArchitected::Endpoint::WellArchitectedClientConfiguration, WellArchitected::Endpoint::WellArchitectedBuiltInParameters, + WellArchitected::Endpoint::WellArchitectedClientContextParameters>; + +AWS_WELLARCHITECTED_EXTERN template class AWS_WELLARCHITECTED_API Aws::Endpoint::BDDEndpointProvider< + WellArchitected::Endpoint::WellArchitectedClientConfiguration, WellArchitected::Endpoint::WellArchitectedBuiltInParameters, + WellArchitected::Endpoint::WellArchitectedClientContextParameters>; +} // namespace Endpoint + +namespace WellArchitected { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedServiceClientModel.h b/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedServiceClientModel.h index 3ce2199a7cd9..0f421b744200 100644 --- a/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedServiceClientModel.h @@ -136,7 +136,6 @@ class RetryStrategy; } // namespace Client namespace WellArchitected { -using WellArchitectedClientConfiguration = Aws::Client::GenericClientConfiguration; using WellArchitectedEndpointProviderBase = Aws::WellArchitected::Endpoint::WellArchitectedEndpointProviderBase; using WellArchitectedEndpointProvider = Aws::WellArchitected::Endpoint::WellArchitectedEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedClient.cpp b/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedClient.cpp index 0f4c64f9a54e..eaf54178e280 100644 --- a/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedClient.cpp +++ b/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedClient.cpp @@ -176,41 +176,6 @@ WellArchitectedClient::WellArchitectedClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WellArchitectedClient::WellArchitectedClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WellArchitectedClient::WellArchitectedClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WellArchitectedClient::~WellArchitectedClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WellArchitectedClient::accessEndpointProvider() { return m_endpointProvider; } @@ -228,12 +193,7 @@ void WellArchitectedClient::init(const WellArchitected::WellArchitectedClientCon AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "wellarchitected"); -} - -void WellArchitectedClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WellArchitectedClient::InvokeOperationOutcome WellArchitectedClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedClientConfiguration.cpp b/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedClientConfiguration.cpp new file mode 100644 index 000000000000..8aaf73ff35d1 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WellArchitected { + +void WellArchitectedClientConfiguration::LoadWellArchitectedSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WellArchitectedClientConfiguration::WellArchitectedClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWellArchitectedSpecificConfig(this->profileName); +} + +WellArchitectedClientConfiguration::WellArchitectedClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWellArchitectedSpecificConfig(Aws::String(inputProfileName)); +} + +WellArchitectedClientConfiguration::WellArchitectedClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWellArchitectedSpecificConfig(this->profileName); +} + +WellArchitectedClientConfiguration::WellArchitectedClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWellArchitectedSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WellArchitectedClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WellArchitected +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedEndpointProvider.cpp b/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedEndpointProvider.cpp index dc553604beeb..a722185c2fb6 100644 --- a/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_WELLARCHITECTED_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WellArchitected { namespace Endpoint { WellArchitectedEndpointProvider::WellArchitectedEndpointProvider() : WellArchitectedDefaultEpProviderBase(Aws::WellArchitected::WellArchitectedEndpointRules::GetRulesBlob(), Aws::WellArchitected::WellArchitectedEndpointRules::RulesBlobSize) {} +void WellArchitectedBuiltInParameters::SetFromClientConfiguration(const WellArchitectedClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WellArchitectedBuiltInParameters::SetFromClientConfiguration(const WellArchitectedClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WellArchitectedBuiltInParameters::SetServiceSpecificParameters(const WellArchitectedClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WellArchitected } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrClient.h b/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrClient.h index 3f9fbe2e574d..e6c653f94a30 100644 --- a/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrClient.h +++ b/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrClient.h @@ -104,27 +104,6 @@ class AWS_WICKR_API WickrClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::Wickr::WickrClientConfiguration& clientConfiguration = Aws::Wickr::WickrClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WickrClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WickrClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WickrClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WickrClient(); /** @@ -1350,7 +1329,6 @@ class AWS_WICKR_API WickrClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&WickrClient::UpdateUser, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrClientConfiguration.h b/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrClientConfiguration.h new file mode 100644 index 000000000000..eabca8f228f3 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace Wickr { +struct AWS_WICKR_API WickrClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WickrClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WickrClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WickrClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WickrClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWickrSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WICKR_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WickrClientConfiguration& config); +} // namespace Wickr +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrEndpointProvider.h b/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrEndpointProvider.h index b9213923d6a0..82edf9eadfc1 100644 --- a/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace Wickr { namespace Endpoint { +using WickrClientConfiguration = Aws::Wickr::WickrClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WickrClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WickrClientConfiguration = Aws::Client::GenericClientConfiguration; -using WickrBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WICKR_API WickrBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WickrBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WickrClientConfiguration& config); + virtual void SetFromClientConfiguration(const WickrClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WickrClientConfiguration& config); +}; /** * The type for the Wickr Client Endpoint Provider. @@ -32,6 +41,22 @@ using WickrEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace Wickr + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WICKR_EXTERN template class AWS_WICKR_API Aws::Endpoint::EndpointProviderBase< + Wickr::Endpoint::WickrClientConfiguration, Wickr::Endpoint::WickrBuiltInParameters, Wickr::Endpoint::WickrClientContextParameters>; + +AWS_WICKR_EXTERN template class AWS_WICKR_API Aws::Endpoint::BDDEndpointProvider< + Wickr::Endpoint::WickrClientConfiguration, Wickr::Endpoint::WickrBuiltInParameters, Wickr::Endpoint::WickrClientContextParameters>; +} // namespace Endpoint + +namespace Wickr { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrServiceClientModel.h b/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrServiceClientModel.h index c4953b563ee6..b63dc2639845 100644 --- a/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrServiceClientModel.h @@ -91,7 +91,6 @@ class RetryStrategy; } // namespace Client namespace Wickr { -using WickrClientConfiguration = Aws::Client::GenericClientConfiguration; using WickrEndpointProviderBase = Aws::Wickr::Endpoint::WickrEndpointProviderBase; using WickrEndpointProvider = Aws::Wickr::Endpoint::WickrEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-wickr/source/WickrClient.cpp b/generated/src/aws-cpp-sdk-wickr/source/WickrClient.cpp index fe6979fe65c9..830c5f34382e 100644 --- a/generated/src/aws-cpp-sdk-wickr/source/WickrClient.cpp +++ b/generated/src/aws-cpp-sdk-wickr/source/WickrClient.cpp @@ -121,41 +121,6 @@ WickrClient::WickrClient(const std::shared_ptr& credenti init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -WickrClient::WickrClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WickrClient::WickrClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WickrClient::WickrClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WickrClient::~WickrClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WickrClient::accessEndpointProvider() { return m_endpointProvider; } @@ -173,12 +138,7 @@ void WickrClient::init(const Wickr::WickrClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "wickr"); -} - -void WickrClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WickrClient::InvokeOperationOutcome WickrClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-wickr/source/WickrClientConfiguration.cpp b/generated/src/aws-cpp-sdk-wickr/source/WickrClientConfiguration.cpp new file mode 100644 index 000000000000..a0359479c788 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wickr/source/WickrClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace Wickr { + +void WickrClientConfiguration::LoadWickrSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WickrClientConfiguration::WickrClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWickrSpecificConfig(this->profileName); +} + +WickrClientConfiguration::WickrClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWickrSpecificConfig(Aws::String(inputProfileName)); +} + +WickrClientConfiguration::WickrClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWickrSpecificConfig(this->profileName); +} + +WickrClientConfiguration::WickrClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWickrSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WickrClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace Wickr +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wickr/source/WickrEndpointProvider.cpp b/generated/src/aws-cpp-sdk-wickr/source/WickrEndpointProvider.cpp index 2cce8da389b5..05267ad625fb 100644 --- a/generated/src/aws-cpp-sdk-wickr/source/WickrEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-wickr/source/WickrEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_WICKR_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace Wickr { namespace Endpoint { WickrEndpointProvider::WickrEndpointProvider() : WickrDefaultEpProviderBase(Aws::Wickr::WickrEndpointRules::GetRulesBlob(), Aws::Wickr::WickrEndpointRules::RulesBlobSize) {} +void WickrBuiltInParameters::SetFromClientConfiguration(const WickrClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WickrBuiltInParameters::SetFromClientConfiguration(const WickrClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WickrBuiltInParameters::SetServiceSpecificParameters(const WickrClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace Wickr } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceClient.h b/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceClient.h index ca5036a9cad1..a25dcbc64827 100644 --- a/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceClient.h +++ b/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceClient.h @@ -61,27 +61,6 @@ class AWS_CONNECTWISDOMSERVICE_API ConnectWisdomServiceClient const Aws::ConnectWisdomService::ConnectWisdomServiceClientConfiguration& clientConfiguration = Aws::ConnectWisdomService::ConnectWisdomServiceClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - ConnectWisdomServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - ConnectWisdomServiceClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - ConnectWisdomServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~ConnectWisdomServiceClient(); /** @@ -1163,7 +1142,6 @@ class AWS_CONNECTWISDOMSERVICE_API ConnectWisdomServiceClient return SubmitAsync(&ConnectWisdomServiceClient::UpdateQuickResponse, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceClientConfiguration.h b/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceClientConfiguration.h new file mode 100644 index 000000000000..3f8bfbcb2d84 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceClientConfiguration.h @@ -0,0 +1,62 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace ConnectWisdomService { +struct AWS_CONNECTWISDOMSERVICE_API ConnectWisdomServiceClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + ConnectWisdomServiceClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectWisdomServiceClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + ConnectWisdomServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit ConnectWisdomServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadConnectWisdomServiceSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_CONNECTWISDOMSERVICE_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const ConnectWisdomServiceClientConfiguration& config); +} // namespace ConnectWisdomService +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceEndpointProvider.h b/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceEndpointProvider.h index 98e6418d1a34..998b3c76c78c 100644 --- a/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace ConnectWisdomService { namespace Endpoint { +using ConnectWisdomServiceClientConfiguration = Aws::ConnectWisdomService::ConnectWisdomServiceClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using ConnectWisdomServiceClientContextParameters = Aws::Endpoint::ClientContextParameters; -using ConnectWisdomServiceClientConfiguration = Aws::Client::GenericClientConfiguration; -using ConnectWisdomServiceBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_CONNECTWISDOMSERVICE_API ConnectWisdomServiceBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~ConnectWisdomServiceBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const ConnectWisdomServiceClientConfiguration& config); + virtual void SetFromClientConfiguration(const ConnectWisdomServiceClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const ConnectWisdomServiceClientConfiguration& config); +}; /** * The type for the ConnectWisdomService Client Endpoint Provider. @@ -36,6 +45,26 @@ using ConnectWisdomServiceDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace ConnectWisdomService + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_CONNECTWISDOMSERVICE_EXTERN template class AWS_CONNECTWISDOMSERVICE_API + Aws::Endpoint::EndpointProviderBase; + +AWS_CONNECTWISDOMSERVICE_EXTERN template class AWS_CONNECTWISDOMSERVICE_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace ConnectWisdomService { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceServiceClientModel.h b/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceServiceClientModel.h index 3cfd4356efde..412ade6287ca 100644 --- a/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceServiceClientModel.h @@ -87,7 +87,6 @@ class RetryStrategy; } // namespace Client namespace ConnectWisdomService { -using ConnectWisdomServiceClientConfiguration = Aws::Client::GenericClientConfiguration; using ConnectWisdomServiceEndpointProviderBase = Aws::ConnectWisdomService::Endpoint::ConnectWisdomServiceEndpointProviderBase; using ConnectWisdomServiceEndpointProvider = Aws::ConnectWisdomService::Endpoint::ConnectWisdomServiceEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceClient.cpp b/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceClient.cpp index c7b1914e81e8..b3a9935df2ac 100644 --- a/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceClient.cpp +++ b/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceClient.cpp @@ -122,42 +122,6 @@ ConnectWisdomServiceClient::ConnectWisdomServiceClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -ConnectWisdomServiceClient::ConnectWisdomServiceClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectWisdomServiceClient::ConnectWisdomServiceClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -ConnectWisdomServiceClient::ConnectWisdomServiceClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ ConnectWisdomServiceClient::~ConnectWisdomServiceClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& ConnectWisdomServiceClient::accessEndpointProvider() { @@ -177,12 +141,7 @@ void ConnectWisdomServiceClient::init(const ConnectWisdomService::ConnectWisdomS AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "wisdom"); -} - -void ConnectWisdomServiceClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } ConnectWisdomServiceClient::InvokeOperationOutcome ConnectWisdomServiceClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceClientConfiguration.cpp b/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceClientConfiguration.cpp new file mode 100644 index 000000000000..580f1bb2f663 --- /dev/null +++ b/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace ConnectWisdomService { + +void ConnectWisdomServiceClientConfiguration::LoadConnectWisdomServiceSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +ConnectWisdomServiceClientConfiguration::ConnectWisdomServiceClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadConnectWisdomServiceSpecificConfig(this->profileName); +} + +ConnectWisdomServiceClientConfiguration::ConnectWisdomServiceClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadConnectWisdomServiceSpecificConfig(Aws::String(inputProfileName)); +} + +ConnectWisdomServiceClientConfiguration::ConnectWisdomServiceClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadConnectWisdomServiceSpecificConfig(this->profileName); +} + +ConnectWisdomServiceClientConfiguration::ConnectWisdomServiceClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadConnectWisdomServiceSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ConnectWisdomServiceClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace ConnectWisdomService +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceEndpointProvider.cpp b/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceEndpointProvider.cpp index 93fd3694508e..f5123d64e216 100644 --- a/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_CONNECTWISDOMSERVICE_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace ConnectWisdomService { namespace Endpoint { ConnectWisdomServiceEndpointProvider::ConnectWisdomServiceEndpointProvider() : ConnectWisdomServiceDefaultEpProviderBase(Aws::ConnectWisdomService::ConnectWisdomServiceEndpointRules::GetRulesBlob(), Aws::ConnectWisdomService::ConnectWisdomServiceEndpointRules::RulesBlobSize) {} +void ConnectWisdomServiceBuiltInParameters::SetFromClientConfiguration(const ConnectWisdomServiceClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void ConnectWisdomServiceBuiltInParameters::SetFromClientConfiguration(const ConnectWisdomServiceClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void ConnectWisdomServiceBuiltInParameters::SetServiceSpecificParameters(const ConnectWisdomServiceClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace ConnectWisdomService } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsClient.h b/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsClient.h index 2bf2a725097b..52dd1f2f8c20 100644 --- a/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsClient.h +++ b/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsClient.h @@ -83,27 +83,6 @@ class AWS_WORKDOCS_API WorkDocsClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::WorkDocs::WorkDocsClientConfiguration& clientConfiguration = Aws::WorkDocs::WorkDocsClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WorkDocsClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WorkDocsClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WorkDocsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WorkDocsClient(); /** @@ -1342,7 +1321,6 @@ class AWS_WORKDOCS_API WorkDocsClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&WorkDocsClient::UpdateUser, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsClientConfiguration.h b/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsClientConfiguration.h new file mode 100644 index 000000000000..4d4cb0e15c5d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WorkDocs { +struct AWS_WORKDOCS_API WorkDocsClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WorkDocsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkDocsClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkDocsClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WorkDocsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWorkDocsSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WORKDOCS_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkDocsClientConfiguration& config); +} // namespace WorkDocs +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsEndpointProvider.h b/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsEndpointProvider.h index 268f41ded646..7c77afbd7ad3 100644 --- a/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WorkDocs { namespace Endpoint { +using WorkDocsClientConfiguration = Aws::WorkDocs::WorkDocsClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WorkDocsClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WorkDocsClientConfiguration = Aws::Client::GenericClientConfiguration; -using WorkDocsBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WORKDOCS_API WorkDocsBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WorkDocsBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WorkDocsClientConfiguration& config); + virtual void SetFromClientConfiguration(const WorkDocsClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WorkDocsClientConfiguration& config); +}; /** * The type for the WorkDocs Client Endpoint Provider. @@ -34,6 +43,24 @@ using WorkDocsEndpointProviderBase = using WorkDocsDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WorkDocs + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WORKDOCS_EXTERN template class AWS_WORKDOCS_API + Aws::Endpoint::EndpointProviderBase; + +AWS_WORKDOCS_EXTERN template class AWS_WORKDOCS_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace WorkDocs { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsServiceClientModel.h b/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsServiceClientModel.h index fdd9b169315d..d346cf985f21 100644 --- a/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsServiceClientModel.h @@ -81,7 +81,6 @@ class RetryStrategy; } // namespace Client namespace WorkDocs { -using WorkDocsClientConfiguration = Aws::Client::GenericClientConfiguration; using WorkDocsEndpointProviderBase = Aws::WorkDocs::Endpoint::WorkDocsEndpointProviderBase; using WorkDocsEndpointProvider = Aws::WorkDocs::Endpoint::WorkDocsEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsClient.cpp b/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsClient.cpp index a9033007b211..9acffb461dcb 100644 --- a/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsClient.cpp +++ b/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsClient.cpp @@ -121,41 +121,6 @@ WorkDocsClient::WorkDocsClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -WorkDocsClient::WorkDocsClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkDocsClient::WorkDocsClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkDocsClient::WorkDocsClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WorkDocsClient::~WorkDocsClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WorkDocsClient::accessEndpointProvider() { return m_endpointProvider; } @@ -173,12 +138,7 @@ void WorkDocsClient::init(const WorkDocs::WorkDocsClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "workdocs"); -} - -void WorkDocsClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WorkDocsClient::InvokeOperationOutcome WorkDocsClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsClientConfiguration.cpp b/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsClientConfiguration.cpp new file mode 100644 index 000000000000..862b9327f585 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WorkDocs { + +void WorkDocsClientConfiguration::LoadWorkDocsSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WorkDocsClientConfiguration::WorkDocsClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWorkDocsSpecificConfig(this->profileName); +} + +WorkDocsClientConfiguration::WorkDocsClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWorkDocsSpecificConfig(Aws::String(inputProfileName)); +} + +WorkDocsClientConfiguration::WorkDocsClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWorkDocsSpecificConfig(this->profileName); +} + +WorkDocsClientConfiguration::WorkDocsClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWorkDocsSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkDocsClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WorkDocs +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsEndpointProvider.cpp index ba0fac7badd8..6b1f7e820274 100644 --- a/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-workdocs/source/WorkDocsEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_WORKDOCS_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WorkDocs { namespace Endpoint { WorkDocsEndpointProvider::WorkDocsEndpointProvider() : WorkDocsDefaultEpProviderBase(Aws::WorkDocs::WorkDocsEndpointRules::GetRulesBlob(), Aws::WorkDocs::WorkDocsEndpointRules::RulesBlobSize) {} +void WorkDocsBuiltInParameters::SetFromClientConfiguration(const WorkDocsClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WorkDocsBuiltInParameters::SetFromClientConfiguration(const WorkDocsClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WorkDocsBuiltInParameters::SetServiceSpecificParameters(const WorkDocsClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WorkDocs } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClient.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClient.h index 6dddfd264e74..08ed32dd662f 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClient.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClient.h @@ -70,27 +70,6 @@ class AWS_WORKMAIL_API WorkMailClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::WorkMail::WorkMailClientConfiguration& clientConfiguration = Aws::WorkMail::WorkMailClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WorkMailClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WorkMailClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WorkMailClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WorkMailClient(); /** @@ -2740,7 +2719,6 @@ class AWS_WORKMAIL_API WorkMailClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&WorkMailClient::UpdateUser, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClientConfiguration.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClientConfiguration.h new file mode 100644 index 000000000000..6c5cbf8773af --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WorkMail { +struct AWS_WORKMAIL_API WorkMailClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WorkMailClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkMailClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkMailClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WorkMailClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWorkMailSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WORKMAIL_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkMailClientConfiguration& config); +} // namespace WorkMail +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailEndpointProvider.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailEndpointProvider.h index dc91c49bad21..1cc4c7f15aab 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WorkMail { namespace Endpoint { +using WorkMailClientConfiguration = Aws::WorkMail::WorkMailClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WorkMailClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WorkMailClientConfiguration = Aws::Client::GenericClientConfiguration; -using WorkMailBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WORKMAIL_API WorkMailBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WorkMailBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WorkMailClientConfiguration& config); + virtual void SetFromClientConfiguration(const WorkMailClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WorkMailClientConfiguration& config); +}; /** * The type for the WorkMail Client Endpoint Provider. @@ -34,6 +43,24 @@ using WorkMailEndpointProviderBase = using WorkMailDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WorkMail + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WORKMAIL_EXTERN template class AWS_WORKMAIL_API + Aws::Endpoint::EndpointProviderBase; + +AWS_WORKMAIL_EXTERN template class AWS_WORKMAIL_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace WorkMail { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailServiceClientModel.h b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailServiceClientModel.h index 1bf27f33908c..a5107ae4d836 100644 --- a/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailServiceClientModel.h @@ -139,7 +139,6 @@ class RetryStrategy; } // namespace Client namespace WorkMail { -using WorkMailClientConfiguration = Aws::Client::GenericClientConfiguration; using WorkMailEndpointProviderBase = Aws::WorkMail::Endpoint::WorkMailEndpointProviderBase; using WorkMailEndpointProvider = Aws::WorkMail::Endpoint::WorkMailEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-workmail/source/WorkMailClient.cpp b/generated/src/aws-cpp-sdk-workmail/source/WorkMailClient.cpp index 8cb80080ce99..e30b1371f227 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/WorkMailClient.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/WorkMailClient.cpp @@ -169,41 +169,6 @@ WorkMailClient::WorkMailClient(const std::shared_ptr& cr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -WorkMailClient::WorkMailClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkMailClient::WorkMailClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkMailClient::WorkMailClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WorkMailClient::~WorkMailClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WorkMailClient::accessEndpointProvider() { return m_endpointProvider; } @@ -221,12 +186,7 @@ void WorkMailClient::init(const WorkMail::WorkMailClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "workmail"); -} - -void WorkMailClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WorkMailClient::InvokeOperationOutcome WorkMailClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-workmail/source/WorkMailClientConfiguration.cpp b/generated/src/aws-cpp-sdk-workmail/source/WorkMailClientConfiguration.cpp new file mode 100644 index 000000000000..a33ef1371842 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmail/source/WorkMailClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WorkMail { + +void WorkMailClientConfiguration::LoadWorkMailSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WorkMailClientConfiguration::WorkMailClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWorkMailSpecificConfig(this->profileName); +} + +WorkMailClientConfiguration::WorkMailClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWorkMailSpecificConfig(Aws::String(inputProfileName)); +} + +WorkMailClientConfiguration::WorkMailClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWorkMailSpecificConfig(this->profileName); +} + +WorkMailClientConfiguration::WorkMailClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWorkMailSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkMailClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WorkMail +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmail/source/WorkMailEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workmail/source/WorkMailEndpointProvider.cpp index fefc2b74d9d3..a5d7dcd1ef2e 100644 --- a/generated/src/aws-cpp-sdk-workmail/source/WorkMailEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-workmail/source/WorkMailEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_WORKMAIL_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WorkMail { namespace Endpoint { WorkMailEndpointProvider::WorkMailEndpointProvider() : WorkMailDefaultEpProviderBase(Aws::WorkMail::WorkMailEndpointRules::GetRulesBlob(), Aws::WorkMail::WorkMailEndpointRules::RulesBlobSize) {} +void WorkMailBuiltInParameters::SetFromClientConfiguration(const WorkMailClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WorkMailBuiltInParameters::SetFromClientConfiguration(const WorkMailClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WorkMailBuiltInParameters::SetServiceSpecificParameters(const WorkMailClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WorkMail } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowClient.h b/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowClient.h index ee5c055186e1..b1221002334c 100644 --- a/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowClient.h +++ b/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowClient.h @@ -57,27 +57,6 @@ class AWS_WORKMAILMESSAGEFLOW_API WorkMailMessageFlowClient : public Aws::Client const Aws::WorkMailMessageFlow::WorkMailMessageFlowClientConfiguration& clientConfiguration = Aws::WorkMailMessageFlow::WorkMailMessageFlowClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WorkMailMessageFlowClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WorkMailMessageFlowClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WorkMailMessageFlowClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WorkMailMessageFlowClient(); /** @@ -144,7 +123,6 @@ class AWS_WORKMAILMESSAGEFLOW_API WorkMailMessageFlowClient : public Aws::Client return SubmitAsync(&WorkMailMessageFlowClient::PutRawMessageContent, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowClientConfiguration.h b/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowClientConfiguration.h new file mode 100644 index 000000000000..01507e04f306 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WorkMailMessageFlow { +struct AWS_WORKMAILMESSAGEFLOW_API WorkMailMessageFlowClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WorkMailMessageFlowClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkMailMessageFlowClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkMailMessageFlowClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WorkMailMessageFlowClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWorkMailMessageFlowSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WORKMAILMESSAGEFLOW_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkMailMessageFlowClientConfiguration& config); +} // namespace WorkMailMessageFlow +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowEndpointProvider.h b/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowEndpointProvider.h index ddaf070adde6..6dbc040a5fab 100644 --- a/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WorkMailMessageFlow { namespace Endpoint { +using WorkMailMessageFlowClientConfiguration = Aws::WorkMailMessageFlow::WorkMailMessageFlowClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WorkMailMessageFlowClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WorkMailMessageFlowClientConfiguration = Aws::Client::GenericClientConfiguration; -using WorkMailMessageFlowBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WORKMAILMESSAGEFLOW_API WorkMailMessageFlowBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WorkMailMessageFlowBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WorkMailMessageFlowClientConfiguration& config); + virtual void SetFromClientConfiguration(const WorkMailMessageFlowClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WorkMailMessageFlowClientConfiguration& config); +}; /** * The type for the WorkMailMessageFlow Client Endpoint Provider. @@ -36,6 +45,26 @@ using WorkMailMessageFlowDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WorkMailMessageFlow + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WORKMAILMESSAGEFLOW_EXTERN template class AWS_WORKMAILMESSAGEFLOW_API + Aws::Endpoint::EndpointProviderBase; + +AWS_WORKMAILMESSAGEFLOW_EXTERN template class AWS_WORKMAILMESSAGEFLOW_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace WorkMailMessageFlow { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowServiceClientModel.h b/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowServiceClientModel.h index 9e90d9685fc1..9d68462aacc3 100644 --- a/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowServiceClientModel.h @@ -48,7 +48,6 @@ class RetryStrategy; } // namespace Client namespace WorkMailMessageFlow { -using WorkMailMessageFlowClientConfiguration = Aws::Client::GenericClientConfiguration; using WorkMailMessageFlowEndpointProviderBase = Aws::WorkMailMessageFlow::Endpoint::WorkMailMessageFlowEndpointProviderBase; using WorkMailMessageFlowEndpointProvider = Aws::WorkMailMessageFlow::Endpoint::WorkMailMessageFlowEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowClient.cpp b/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowClient.cpp index 7a6bd8a7b443..b06487b15f8d 100644 --- a/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowClient.cpp +++ b/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowClient.cpp @@ -83,42 +83,6 @@ WorkMailMessageFlowClient::WorkMailMessageFlowClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkMailMessageFlowClient::WorkMailMessageFlowClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkMailMessageFlowClient::WorkMailMessageFlowClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WorkMailMessageFlowClient::~WorkMailMessageFlowClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WorkMailMessageFlowClient::accessEndpointProvider() { return m_endpointProvider; } @@ -136,12 +100,7 @@ void WorkMailMessageFlowClient::init(const WorkMailMessageFlow::WorkMailMessageF AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "workmailmessageflow"); -} - -void WorkMailMessageFlowClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WorkMailMessageFlowClient::InvokeOperationOutcome WorkMailMessageFlowClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowClientConfiguration.cpp b/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowClientConfiguration.cpp new file mode 100644 index 000000000000..a9f1438352d9 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WorkMailMessageFlow { + +void WorkMailMessageFlowClientConfiguration::LoadWorkMailMessageFlowSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WorkMailMessageFlowClientConfiguration::WorkMailMessageFlowClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWorkMailMessageFlowSpecificConfig(this->profileName); +} + +WorkMailMessageFlowClientConfiguration::WorkMailMessageFlowClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWorkMailMessageFlowSpecificConfig(Aws::String(inputProfileName)); +} + +WorkMailMessageFlowClientConfiguration::WorkMailMessageFlowClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWorkMailMessageFlowSpecificConfig(this->profileName); +} + +WorkMailMessageFlowClientConfiguration::WorkMailMessageFlowClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWorkMailMessageFlowSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkMailMessageFlowClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WorkMailMessageFlow +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowEndpointProvider.cpp index 123772832066..5b6944e3c80d 100644 --- a/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_WORKMAILMESSAGEFLOW_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WorkMailMessageFlow { namespace Endpoint { WorkMailMessageFlowEndpointProvider::WorkMailMessageFlowEndpointProvider() : WorkMailMessageFlowDefaultEpProviderBase(Aws::WorkMailMessageFlow::WorkMailMessageFlowEndpointRules::GetRulesBlob(), Aws::WorkMailMessageFlow::WorkMailMessageFlowEndpointRules::RulesBlobSize) {} +void WorkMailMessageFlowBuiltInParameters::SetFromClientConfiguration(const WorkMailMessageFlowClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WorkMailMessageFlowBuiltInParameters::SetFromClientConfiguration(const WorkMailMessageFlowClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WorkMailMessageFlowBuiltInParameters::SetServiceSpecificParameters(const WorkMailMessageFlowClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WorkMailMessageFlow } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h index 9cda719b285c..3d3378be2693 100644 --- a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClient.h @@ -58,27 +58,6 @@ class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesClient : public Aws::Client const Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration& clientConfiguration = Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WorkspacesInstancesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WorkspacesInstancesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WorkspacesInstancesClient(); /** @@ -470,7 +449,6 @@ class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesClient : public Aws::Client return SubmitAsync(&WorkspacesInstancesClient::UntagResource, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClientConfiguration.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClientConfiguration.h new file mode 100644 index 000000000000..159afdb0b134 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClientConfiguration.h @@ -0,0 +1,55 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WorkspacesInstances { +struct AWS_WORKSPACESINSTANCES_API WorkspacesInstancesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WorkspacesInstancesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkspacesInstancesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkspacesInstancesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WorkspacesInstancesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + private: + void LoadWorkspacesInstancesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WORKSPACESINSTANCES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkspacesInstancesClientConfiguration& config); +} // namespace WorkspacesInstances +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h index 28ff61965692..5075df3b8b49 100644 --- a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WorkspacesInstances { namespace Endpoint { +using WorkspacesInstancesClientConfiguration = Aws::WorkspacesInstances::WorkspacesInstancesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WorkspacesInstancesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WorkspacesInstancesClientConfiguration = Aws::Client::GenericClientConfiguration; -using WorkspacesInstancesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WORKSPACESINSTANCES_API WorkspacesInstancesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WorkspacesInstancesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WorkspacesInstancesClientConfiguration& config); + virtual void SetFromClientConfiguration(const WorkspacesInstancesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WorkspacesInstancesClientConfiguration& config); +}; /** * The type for the WorkspacesInstances Client Endpoint Provider. @@ -36,6 +45,26 @@ using WorkspacesInstancesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WorkspacesInstances + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WORKSPACESINSTANCES_EXTERN template class AWS_WORKSPACESINSTANCES_API + Aws::Endpoint::EndpointProviderBase; + +AWS_WORKSPACESINSTANCES_EXTERN template class AWS_WORKSPACESINSTANCES_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace WorkspacesInstances { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h index aaa4ad663f5c..f4c8b7f701ce 100644 --- a/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesServiceClientModel.h @@ -63,7 +63,6 @@ class RetryStrategy; } // namespace Client namespace WorkspacesInstances { -using WorkspacesInstancesClientConfiguration = Aws::Client::GenericClientConfiguration; using WorkspacesInstancesEndpointProviderBase = Aws::WorkspacesInstances::Endpoint::WorkspacesInstancesEndpointProviderBase; using WorkspacesInstancesEndpointProvider = Aws::WorkspacesInstances::Endpoint::WorkspacesInstancesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp index 7e10cfde81ae..8686d4a0a9ee 100644 --- a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClient.cpp @@ -95,42 +95,6 @@ WorkspacesInstancesClient::WorkspacesInstancesClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkspacesInstancesClient::WorkspacesInstancesClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkspacesInstancesClient::WorkspacesInstancesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WorkspacesInstancesClient::~WorkspacesInstancesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WorkspacesInstancesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -148,12 +112,7 @@ void WorkspacesInstancesClient::init(const WorkspacesInstances::WorkspacesInstan AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "workspaces-instances"); -} - -void WorkspacesInstancesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WorkspacesInstancesClient::InvokeOperationOutcome WorkspacesInstancesClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClientConfiguration.cpp new file mode 100644 index 000000000000..497ecbfaee44 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClientConfiguration.cpp @@ -0,0 +1,49 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WorkspacesInstances { + +void WorkspacesInstancesClientConfiguration::LoadWorkspacesInstancesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WorkspacesInstancesClientConfiguration::WorkspacesInstancesClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWorkspacesInstancesSpecificConfig(this->profileName); +} + +WorkspacesInstancesClientConfiguration::WorkspacesInstancesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWorkspacesInstancesSpecificConfig(Aws::String(inputProfileName)); +} + +WorkspacesInstancesClientConfiguration::WorkspacesInstancesClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWorkspacesInstancesSpecificConfig(this->profileName); +} + +WorkspacesInstancesClientConfiguration::WorkspacesInstancesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWorkspacesInstancesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkspacesInstancesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WorkspacesInstances +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp index 08713ff51338..5555434d0e24 100644 --- a/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesEndpointProvider.cpp @@ -7,12 +7,43 @@ #include namespace Aws { +#ifndef AWS_WORKSPACESINSTANCES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WorkspacesInstances { namespace Endpoint { WorkspacesInstancesEndpointProvider::WorkspacesInstancesEndpointProvider() : WorkspacesInstancesDefaultEpProviderBase(Aws::WorkspacesInstances::WorkspacesInstancesEndpointRules::GetRulesBlob(), Aws::WorkspacesInstances::WorkspacesInstancesEndpointRules::RulesBlobSize) {} +void WorkspacesInstancesBuiltInParameters::SetFromClientConfiguration(const WorkspacesInstancesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WorkspacesInstancesBuiltInParameters::SetFromClientConfiguration(const WorkspacesInstancesClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WorkspacesInstancesBuiltInParameters::SetServiceSpecificParameters(const WorkspacesInstancesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +} } // namespace Endpoint } // namespace WorkspacesInstances } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClient.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClient.h index 8bac961b98aa..0a03a454bc2e 100644 --- a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClient.h +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClient.h @@ -73,27 +73,6 @@ class AWS_WORKSPACESTHINCLIENT_API WorkSpacesThinClientClient const Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration& clientConfiguration = Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WorkSpacesThinClientClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WorkSpacesThinClientClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WorkSpacesThinClientClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WorkSpacesThinClientClient(); /** @@ -509,7 +488,6 @@ class AWS_WORKSPACESTHINCLIENT_API WorkSpacesThinClientClient return SubmitAsync(&WorkSpacesThinClientClient::UpdateSoftwareSet, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClientConfiguration.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClientConfiguration.h new file mode 100644 index 000000000000..5e1a659ba247 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClientConfiguration.h @@ -0,0 +1,69 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WorkSpacesThinClient { +struct AWS_WORKSPACESTHINCLIENT_API WorkSpacesThinClientClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WorkSpacesThinClientClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkSpacesThinClientClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkSpacesThinClientClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WorkSpacesThinClientClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for + * DiscoverInstances request. Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; + + private: + void LoadWorkSpacesThinClientSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WORKSPACESTHINCLIENT_API Aws::Client::ServiceClientOptions GetServiceClientOptions( + const WorkSpacesThinClientClientConfiguration& config); +} // namespace WorkSpacesThinClient +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointProvider.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointProvider.h index 1bae4611c36a..82b9a6ecae16 100644 --- a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WorkSpacesThinClient { namespace Endpoint { +using WorkSpacesThinClientClientConfiguration = Aws::WorkSpacesThinClient::WorkSpacesThinClientClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WorkSpacesThinClientClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WorkSpacesThinClientClientConfiguration = Aws::Client::GenericClientConfiguration; -using WorkSpacesThinClientBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WORKSPACESTHINCLIENT_API WorkSpacesThinClientBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WorkSpacesThinClientBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WorkSpacesThinClientClientConfiguration& config); + virtual void SetFromClientConfiguration(const WorkSpacesThinClientClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WorkSpacesThinClientClientConfiguration& config); +}; /** * The type for the WorkSpacesThinClient Client Endpoint Provider. @@ -36,6 +45,26 @@ using WorkSpacesThinClientDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WorkSpacesThinClient + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WORKSPACESTHINCLIENT_EXTERN template class AWS_WORKSPACESTHINCLIENT_API + Aws::Endpoint::EndpointProviderBase; + +AWS_WORKSPACESTHINCLIENT_EXTERN template class AWS_WORKSPACESTHINCLIENT_API + Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint + +namespace WorkSpacesThinClient { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientServiceClientModel.h b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientServiceClientModel.h index 6fd5917a449b..719754da571f 100644 --- a/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientServiceClientModel.h @@ -65,7 +65,6 @@ class RetryStrategy; } // namespace Client namespace WorkSpacesThinClient { -using WorkSpacesThinClientClientConfiguration = Aws::Client::GenericClientConfiguration; using WorkSpacesThinClientEndpointProviderBase = Aws::WorkSpacesThinClient::Endpoint::WorkSpacesThinClientEndpointProviderBase; using WorkSpacesThinClientEndpointProvider = Aws::WorkSpacesThinClient::Endpoint::WorkSpacesThinClientEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClient.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClient.cpp index aa7d140f4664..9f5e4210c6b8 100644 --- a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClient.cpp +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClient.cpp @@ -99,42 +99,6 @@ WorkSpacesThinClientClient::WorkSpacesThinClientClient( init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -WorkSpacesThinClientClient::WorkSpacesThinClientClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkSpacesThinClientClient::WorkSpacesThinClientClient(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkSpacesThinClientClient::WorkSpacesThinClientClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WorkSpacesThinClientClient::~WorkSpacesThinClientClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WorkSpacesThinClientClient::accessEndpointProvider() { @@ -154,12 +118,7 @@ void WorkSpacesThinClientClient::init(const WorkSpacesThinClient::WorkSpacesThin AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "thinclient"); -} - -void WorkSpacesThinClientClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WorkSpacesThinClientClient::InvokeOperationOutcome WorkSpacesThinClientClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClientConfiguration.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClientConfiguration.cpp new file mode 100644 index 000000000000..b8690f31f824 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClientConfiguration.cpp @@ -0,0 +1,50 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WorkSpacesThinClient { + +void WorkSpacesThinClientClientConfiguration::LoadWorkSpacesThinClientSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WorkSpacesThinClientClientConfiguration::WorkSpacesThinClientClientConfiguration( + const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWorkSpacesThinClientSpecificConfig(this->profileName); +} + +WorkSpacesThinClientClientConfiguration::WorkSpacesThinClientClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWorkSpacesThinClientSpecificConfig(Aws::String(inputProfileName)); +} + +WorkSpacesThinClientClientConfiguration::WorkSpacesThinClientClientConfiguration(bool useSmartDefaults, const char* defaultMode, + bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWorkSpacesThinClientSpecificConfig(this->profileName); +} + +WorkSpacesThinClientClientConfiguration::WorkSpacesThinClientClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWorkSpacesThinClientSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkSpacesThinClientClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WorkSpacesThinClient +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointProvider.cpp index 6a3ce0ab9a66..d4c999bb6ea1 100644 --- a/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_WORKSPACESTHINCLIENT_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WorkSpacesThinClient { namespace Endpoint { WorkSpacesThinClientEndpointProvider::WorkSpacesThinClientEndpointProvider() : WorkSpacesThinClientDefaultEpProviderBase(Aws::WorkSpacesThinClient::WorkSpacesThinClientEndpointRules::GetRulesBlob(), Aws::WorkSpacesThinClient::WorkSpacesThinClientEndpointRules::RulesBlobSize) {} +void WorkSpacesThinClientBuiltInParameters::SetFromClientConfiguration(const WorkSpacesThinClientClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WorkSpacesThinClientBuiltInParameters::SetFromClientConfiguration(const WorkSpacesThinClientClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WorkSpacesThinClientBuiltInParameters::SetServiceSpecificParameters(const WorkSpacesThinClientClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WorkSpacesThinClient } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebClient.h b/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebClient.h index 0a5bad6a1bbf..156a167a57f0 100644 --- a/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebClient.h +++ b/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebClient.h @@ -63,27 +63,6 @@ class AWS_WORKSPACESWEB_API WorkSpacesWebClient : public Aws::Client::AWSJsonCli const Aws::WorkSpacesWeb::WorkSpacesWebClientConfiguration& clientConfiguration = Aws::WorkSpacesWeb::WorkSpacesWebClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WorkSpacesWebClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WorkSpacesWebClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WorkSpacesWebClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WorkSpacesWebClient(); /** @@ -2138,7 +2117,6 @@ class AWS_WORKSPACESWEB_API WorkSpacesWebClient : public Aws::Client::AWSJsonCli return SubmitAsync(&WorkSpacesWebClient::UpdateUserSettings, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebClientConfiguration.h b/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebClientConfiguration.h new file mode 100644 index 000000000000..1ba99af7651d --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WorkSpacesWeb { +struct AWS_WORKSPACESWEB_API WorkSpacesWebClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WorkSpacesWebClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkSpacesWebClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkSpacesWebClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WorkSpacesWebClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWorkSpacesWebSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WORKSPACESWEB_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkSpacesWebClientConfiguration& config); +} // namespace WorkSpacesWeb +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebEndpointProvider.h b/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebEndpointProvider.h index 340cd27070f0..ff35c7328a50 100644 --- a/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WorkSpacesWeb { namespace Endpoint { +using WorkSpacesWebClientConfiguration = Aws::WorkSpacesWeb::WorkSpacesWebClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WorkSpacesWebClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WorkSpacesWebClientConfiguration = Aws::Client::GenericClientConfiguration; -using WorkSpacesWebBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WORKSPACESWEB_API WorkSpacesWebBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WorkSpacesWebBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WorkSpacesWebClientConfiguration& config); + virtual void SetFromClientConfiguration(const WorkSpacesWebClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WorkSpacesWebClientConfiguration& config); +}; /** * The type for the WorkSpacesWeb Client Endpoint Provider. @@ -34,6 +43,24 @@ using WorkSpacesWebEndpointProviderBase = using WorkSpacesWebDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WorkSpacesWeb + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WORKSPACESWEB_EXTERN template class AWS_WORKSPACESWEB_API Aws::Endpoint::EndpointProviderBase< + WorkSpacesWeb::Endpoint::WorkSpacesWebClientConfiguration, WorkSpacesWeb::Endpoint::WorkSpacesWebBuiltInParameters, + WorkSpacesWeb::Endpoint::WorkSpacesWebClientContextParameters>; + +AWS_WORKSPACESWEB_EXTERN template class AWS_WORKSPACESWEB_API Aws::Endpoint::BDDEndpointProvider< + WorkSpacesWeb::Endpoint::WorkSpacesWebClientConfiguration, WorkSpacesWeb::Endpoint::WorkSpacesWebBuiltInParameters, + WorkSpacesWeb::Endpoint::WorkSpacesWebClientContextParameters>; +} // namespace Endpoint + +namespace WorkSpacesWeb { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebServiceClientModel.h b/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebServiceClientModel.h index 9ff78d50871f..e5bf2d065d31 100644 --- a/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebServiceClientModel.h @@ -133,7 +133,6 @@ class RetryStrategy; } // namespace Client namespace WorkSpacesWeb { -using WorkSpacesWebClientConfiguration = Aws::Client::GenericClientConfiguration; using WorkSpacesWebEndpointProviderBase = Aws::WorkSpacesWeb::Endpoint::WorkSpacesWebEndpointProviderBase; using WorkSpacesWebEndpointProvider = Aws::WorkSpacesWeb::Endpoint::WorkSpacesWebEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebClient.cpp b/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebClient.cpp index 4b4d72674924..c67492eb99cb 100644 --- a/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebClient.cpp +++ b/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebClient.cpp @@ -153,41 +153,6 @@ WorkSpacesWebClient::WorkSpacesWebClient(const std::shared_ptr(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkSpacesWebClient::WorkSpacesWebClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkSpacesWebClient::WorkSpacesWebClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WorkSpacesWebClient::~WorkSpacesWebClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WorkSpacesWebClient::accessEndpointProvider() { return m_endpointProvider; } @@ -205,12 +170,7 @@ void WorkSpacesWebClient::init(const WorkSpacesWeb::WorkSpacesWebClientConfigura AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "workspaces-web"); -} - -void WorkSpacesWebClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WorkSpacesWebClient::InvokeOperationOutcome WorkSpacesWebClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebClientConfiguration.cpp b/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebClientConfiguration.cpp new file mode 100644 index 000000000000..d0d68c781e3f --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WorkSpacesWeb { + +void WorkSpacesWebClientConfiguration::LoadWorkSpacesWebSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WorkSpacesWebClientConfiguration::WorkSpacesWebClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWorkSpacesWebSpecificConfig(this->profileName); +} + +WorkSpacesWebClientConfiguration::WorkSpacesWebClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWorkSpacesWebSpecificConfig(Aws::String(inputProfileName)); +} + +WorkSpacesWebClientConfiguration::WorkSpacesWebClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWorkSpacesWebSpecificConfig(this->profileName); +} + +WorkSpacesWebClientConfiguration::WorkSpacesWebClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWorkSpacesWebSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkSpacesWebClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WorkSpacesWeb +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebEndpointProvider.cpp index 61737cb5a2dc..9be5f1eaa126 100644 --- a/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebEndpointProvider.cpp @@ -7,12 +7,46 @@ #include namespace Aws { +#ifndef AWS_WORKSPACESWEB_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WorkSpacesWeb { namespace Endpoint { WorkSpacesWebEndpointProvider::WorkSpacesWebEndpointProvider() : WorkSpacesWebDefaultEpProviderBase(Aws::WorkSpacesWeb::WorkSpacesWebEndpointRules::GetRulesBlob(), Aws::WorkSpacesWeb::WorkSpacesWebEndpointRules::RulesBlobSize) {} +void WorkSpacesWebBuiltInParameters::SetFromClientConfiguration(const WorkSpacesWebClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WorkSpacesWebBuiltInParameters::SetFromClientConfiguration(const WorkSpacesWebClientConfiguration& config, + const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WorkSpacesWebBuiltInParameters::SetServiceSpecificParameters(const WorkSpacesWebClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WorkSpacesWeb } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClient.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClient.h index e31372d6b31a..626e305566ef 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClient.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClient.h @@ -77,27 +77,6 @@ class AWS_WORKSPACES_API WorkSpacesClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::WorkSpaces::WorkSpacesClientConfiguration& clientConfiguration = Aws::WorkSpaces::WorkSpacesClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - WorkSpacesClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - WorkSpacesClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - WorkSpacesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~WorkSpacesClient(); /** @@ -2967,7 +2946,6 @@ class AWS_WORKSPACES_API WorkSpacesClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&WorkSpacesClient::UpdateWorkspacesPool, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClientConfiguration.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClientConfiguration.h new file mode 100644 index 000000000000..ddc5eb840373 --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace WorkSpaces { +struct AWS_WORKSPACES_API WorkSpacesClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + WorkSpacesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkSpacesClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + WorkSpacesClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit WorkSpacesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadWorkSpacesSpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_WORKSPACES_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkSpacesClientConfiguration& config); +} // namespace WorkSpaces +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesEndpointProvider.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesEndpointProvider.h index 0a04a3658d0c..357542f76a73 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace WorkSpaces { namespace Endpoint { +using WorkSpacesClientConfiguration = Aws::WorkSpaces::WorkSpacesClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using WorkSpacesClientContextParameters = Aws::Endpoint::ClientContextParameters; -using WorkSpacesClientConfiguration = Aws::Client::GenericClientConfiguration; -using WorkSpacesBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_WORKSPACES_API WorkSpacesBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~WorkSpacesBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const WorkSpacesClientConfiguration& config); + virtual void SetFromClientConfiguration(const WorkSpacesClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const WorkSpacesClientConfiguration& config); +}; /** * The type for the WorkSpaces Client Endpoint Provider. @@ -34,6 +43,24 @@ using WorkSpacesEndpointProviderBase = using WorkSpacesDefaultEpProviderBase = BDDEndpointProvider; +} // namespace Endpoint +} // namespace WorkSpaces + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_WORKSPACES_EXTERN template class AWS_WORKSPACES_API Aws::Endpoint::EndpointProviderBase< + WorkSpaces::Endpoint::WorkSpacesClientConfiguration, WorkSpaces::Endpoint::WorkSpacesBuiltInParameters, + WorkSpaces::Endpoint::WorkSpacesClientContextParameters>; + +AWS_WORKSPACES_EXTERN template class AWS_WORKSPACES_API Aws::Endpoint::BDDEndpointProvider< + WorkSpaces::Endpoint::WorkSpacesClientConfiguration, WorkSpaces::Endpoint::WorkSpacesBuiltInParameters, + WorkSpaces::Endpoint::WorkSpacesClientContextParameters>; +} // namespace Endpoint + +namespace WorkSpaces { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesServiceClientModel.h b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesServiceClientModel.h index 443db8e88799..e125c79f3d22 100644 --- a/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesServiceClientModel.h @@ -154,7 +154,6 @@ class RetryStrategy; } // namespace Client namespace WorkSpaces { -using WorkSpacesClientConfiguration = Aws::Client::GenericClientConfiguration; using WorkSpacesEndpointProviderBase = Aws::WorkSpaces::Endpoint::WorkSpacesEndpointProviderBase; using WorkSpacesEndpointProvider = Aws::WorkSpaces::Endpoint::WorkSpacesEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesClient.cpp b/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesClient.cpp index 19001c30bb48..1c81d33cf8b5 100644 --- a/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesClient.cpp +++ b/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesClient.cpp @@ -168,41 +168,6 @@ WorkSpacesClient::WorkSpacesClient(const std::shared_ptr init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -WorkSpacesClient::WorkSpacesClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkSpacesClient::WorkSpacesClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -WorkSpacesClient::WorkSpacesClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ WorkSpacesClient::~WorkSpacesClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& WorkSpacesClient::accessEndpointProvider() { return m_endpointProvider; } @@ -220,12 +185,7 @@ void WorkSpacesClient::init(const WorkSpaces::WorkSpacesClientConfiguration& con AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "workspaces"); -} - -void WorkSpacesClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } WorkSpacesClient::InvokeOperationOutcome WorkSpacesClient::InvokeServiceOperation(const AmazonWebServiceRequest& request, Aws::Http::HttpMethod httpMethod) const { diff --git a/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesClientConfiguration.cpp b/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesClientConfiguration.cpp new file mode 100644 index 000000000000..0adafe816c5c --- /dev/null +++ b/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace WorkSpaces { + +void WorkSpacesClientConfiguration::LoadWorkSpacesSpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +WorkSpacesClientConfiguration::WorkSpacesClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadWorkSpacesSpecificConfig(this->profileName); +} + +WorkSpacesClientConfiguration::WorkSpacesClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadWorkSpacesSpecificConfig(Aws::String(inputProfileName)); +} + +WorkSpacesClientConfiguration::WorkSpacesClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadWorkSpacesSpecificConfig(this->profileName); +} + +WorkSpacesClientConfiguration::WorkSpacesClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadWorkSpacesSpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const WorkSpacesClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace WorkSpaces +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesEndpointProvider.cpp b/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesEndpointProvider.cpp index 86f0ac219d86..7b3d26640d7b 100644 --- a/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesEndpointProvider.cpp @@ -7,12 +7,45 @@ #include namespace Aws { +#ifndef AWS_WORKSPACES_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace WorkSpaces { namespace Endpoint { WorkSpacesEndpointProvider::WorkSpacesEndpointProvider() : WorkSpacesDefaultEpProviderBase(Aws::WorkSpaces::WorkSpacesEndpointRules::GetRulesBlob(), Aws::WorkSpaces::WorkSpacesEndpointRules::RulesBlobSize) {} +void WorkSpacesBuiltInParameters::SetFromClientConfiguration(const WorkSpacesClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void WorkSpacesBuiltInParameters::SetFromClientConfiguration(const WorkSpacesClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void WorkSpacesBuiltInParameters::SetServiceSpecificParameters(const WorkSpacesClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace WorkSpaces } // namespace Aws diff --git a/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayClient.h b/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayClient.h index dc8b91a1c243..d919295ca1ae 100644 --- a/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayClient.h +++ b/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayClient.h @@ -53,27 +53,6 @@ class AWS_XRAY_API XRayClient : public Aws::Client::AWSJsonClient, std::shared_ptr endpointProvider = nullptr, const Aws::XRay::XRayClientConfiguration& clientConfiguration = Aws::XRay::XRayClientConfiguration()); - /* Legacy constructors due deprecation */ - /** - * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client - * config is not specified, it will be initialized to default values. - */ - XRayClient(const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config - * is not specified, it will be initialized to default values. - */ - XRayClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); - - /** - * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, - * the default http client factory will be used - */ - XRayClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration); - - /* End of legacy constructors due deprecation */ virtual ~XRayClient(); /** @@ -1242,7 +1221,6 @@ class AWS_XRAY_API XRayClient : public Aws::Client::AWSJsonClient, return SubmitAsync(&XRayClient::UpdateTraceSegmentDestination, request, handler, context); } - virtual void OverrideEndpoint(const Aws::String& endpoint); virtual std::shared_ptr& accessEndpointProvider(); private: diff --git a/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayClientConfiguration.h b/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayClientConfiguration.h new file mode 100644 index 000000000000..31cc294f09a8 --- /dev/null +++ b/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayClientConfiguration.h @@ -0,0 +1,61 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#pragma once + +#include +#include + +namespace Aws { +namespace XRay { +struct AWS_XRAY_API XRayClientConfiguration : public Aws::Client::GenericClientConfiguration { + using BaseClientConfigClass = Aws::Client::GenericClientConfiguration; + + XRayClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration = {}); + + /** + * Create a configuration based on settings in the aws configuration file for the given profile name. + * The configuration file location can be set via the environment variable AWS_CONFIG_FILE + * @param profileName the aws profile name. + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + XRayClientConfiguration(const char* profileName, bool shouldDisableIMDS = false); + + /** + * Create a configuration with a predefined smart defaults + * @param useSmartDefaults, required to differentiate c-tors + * @param defaultMode, default mode to use + * @param shouldDisableIMDS whether or not to disable IMDS calls. + */ + XRayClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); + + /** + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. + */ + explicit XRayClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region + * you select. + */ + bool useDualStack = false; + + private: + void LoadXRaySpecificConfig(const Aws::String& profileName); +}; + +/** + * Values of this service's supported options that the client hands to core. + */ +AWS_XRAY_API Aws::Client::ServiceClientOptions GetServiceClientOptions(const XRayClientConfiguration& config); +} // namespace XRay +} // namespace Aws \ No newline at end of file diff --git a/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayEndpointProvider.h b/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayEndpointProvider.h index e776f5bd13e3..dbd4608d423e 100644 --- a/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayEndpointProvider.h +++ b/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayEndpointProvider.h @@ -4,24 +4,33 @@ */ #pragma once -#include #include #include #include #include +#include #include namespace Aws { namespace XRay { namespace Endpoint { +using XRayClientConfiguration = Aws::XRay::XRayClientConfiguration; using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::BDDEndpointProvider; using Aws::Endpoint::EndpointProviderBase; using XRayClientContextParameters = Aws::Endpoint::ClientContextParameters; -using XRayClientConfiguration = Aws::Client::GenericClientConfiguration; -using XRayBuiltInParameters = Aws::Endpoint::BuiltInParameters; +class AWS_XRAY_API XRayBuiltInParameters : public Aws::Endpoint::BuiltInParameters { + public: + virtual ~XRayBuiltInParameters() {}; + using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration; + virtual void SetFromClientConfiguration(const XRayClientConfiguration& config); + virtual void SetFromClientConfiguration(const XRayClientConfiguration& config, const Aws::String& serviceName); + + private: + void SetServiceSpecificParameters(const XRayClientConfiguration& config); +}; /** * The type for the XRay Client Endpoint Provider. @@ -32,6 +41,22 @@ using XRayEndpointProviderBase = EndpointProviderBase; +} // namespace Endpoint +} // namespace XRay + +namespace Endpoint { +/** + * Export endpoint provider symbols for Windows DLL, otherwise declare as extern + */ +AWS_XRAY_EXTERN template class AWS_XRAY_API Aws::Endpoint::EndpointProviderBase< + XRay::Endpoint::XRayClientConfiguration, XRay::Endpoint::XRayBuiltInParameters, XRay::Endpoint::XRayClientContextParameters>; + +AWS_XRAY_EXTERN template class AWS_XRAY_API Aws::Endpoint::BDDEndpointProvider< + XRay::Endpoint::XRayClientConfiguration, XRay::Endpoint::XRayBuiltInParameters, XRay::Endpoint::XRayClientContextParameters>; +} // namespace Endpoint + +namespace XRay { +namespace Endpoint { /** * Default endpoint provider used for this service */ diff --git a/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayServiceClientModel.h b/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayServiceClientModel.h index e25c2bece88e..ff6b1502c007 100644 --- a/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayServiceClientModel.h +++ b/generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayServiceClientModel.h @@ -96,7 +96,6 @@ class RetryStrategy; } // namespace Client namespace XRay { -using XRayClientConfiguration = Aws::Client::GenericClientConfiguration; using XRayEndpointProviderBase = Aws::XRay::Endpoint::XRayEndpointProviderBase; using XRayEndpointProvider = Aws::XRay::Endpoint::XRayEndpointProvider; diff --git a/generated/src/aws-cpp-sdk-xray/source/XRayClient.cpp b/generated/src/aws-cpp-sdk-xray/source/XRayClient.cpp index d48f205e2da1..92e9b1e22bfe 100644 --- a/generated/src/aws-cpp-sdk-xray/source/XRayClient.cpp +++ b/generated/src/aws-cpp-sdk-xray/source/XRayClient.cpp @@ -113,41 +113,6 @@ XRayClient::XRayClient(const std::shared_ptr& credential init(m_clientConfiguration); } -/* Legacy constructors due deprecation */ -XRayClient::XRayClient(const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared( - ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -XRayClient::XRayClient(const AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, credentials), - SERVICE_NAME, Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -XRayClient::XRayClient(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) - : BASECLASS(clientConfiguration, - Aws::MakeShared(ALLOCATION_TAG, credentialsProvider, SERVICE_NAME, - Aws::Region::ComputeSignerRegion(clientConfiguration.region)), - Aws::MakeShared(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration), - m_endpointProvider(Aws::MakeShared(ALLOCATION_TAG)) { - init(m_clientConfiguration); -} - -/* End of legacy constructors due deprecation */ XRayClient::~XRayClient() { ShutdownSdkClient(this, -1); } std::shared_ptr& XRayClient::accessEndpointProvider() { return m_endpointProvider; } @@ -165,12 +130,7 @@ void XRayClient::init(const XRay::XRayClientConfiguration& config) { AWSClient::SetUserAgentExecutor(*m_clientConfiguration.executor); AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "xray"); -} - -void XRayClient::OverrideEndpoint(const Aws::String& endpoint) { - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); } XRayClient::InvokeOperationOutcome XRayClient::InvokeServiceOperation( const AmazonWebServiceRequest& request, const std::function& resolveUri, diff --git a/generated/src/aws-cpp-sdk-xray/source/XRayClientConfiguration.cpp b/generated/src/aws-cpp-sdk-xray/source/XRayClientConfiguration.cpp new file mode 100644 index 000000000000..767011fd440d --- /dev/null +++ b/generated/src/aws-cpp-sdk-xray/source/XRayClientConfiguration.cpp @@ -0,0 +1,48 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +#include + +namespace Aws { +namespace XRay { + +void XRayClientConfiguration::LoadXRaySpecificConfig(const Aws::String& inputProfileName) { + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#if defined(_MSC_VER) + (&reinterpret_cast(inputProfileName)); +#else + (void)(inputProfileName); +#endif +} + +XRayClientConfiguration::XRayClientConfiguration(const Aws::Client::ClientConfigurationInitValues& configuration) + : BaseClientConfigClass(configuration) { + LoadXRaySpecificConfig(this->profileName); +} + +XRayClientConfiguration::XRayClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) + : BaseClientConfigClass(inputProfileName, shouldDisableIMDS) { + LoadXRaySpecificConfig(Aws::String(inputProfileName)); +} + +XRayClientConfiguration::XRayClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) + : BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS) { + LoadXRaySpecificConfig(this->profileName); +} + +XRayClientConfiguration::XRayClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) + : BaseClientConfigClass(sharedConfig) { + LoadXRaySpecificConfig(this->profileName); +} + +Aws::Client::ServiceClientOptions GetServiceClientOptions(const XRayClientConfiguration& config) { + Aws::Client::ServiceClientOptions options; + (void)(config); + return options; +} + +} // namespace XRay +} // namespace Aws diff --git a/generated/src/aws-cpp-sdk-xray/source/XRayEndpointProvider.cpp b/generated/src/aws-cpp-sdk-xray/source/XRayEndpointProvider.cpp index a07778049e17..2cb9ca12cfb2 100644 --- a/generated/src/aws-cpp-sdk-xray/source/XRayEndpointProvider.cpp +++ b/generated/src/aws-cpp-sdk-xray/source/XRayEndpointProvider.cpp @@ -7,11 +7,42 @@ #include namespace Aws { +#ifndef AWS_XRAY_EXPORTS // Except for Windows DLL +namespace Endpoint { +/** + * Instantiate endpoint providers + */ +template class Aws::Endpoint::EndpointProviderBase; + +template class Aws::Endpoint::BDDEndpointProvider; +} // namespace Endpoint +#endif + namespace XRay { namespace Endpoint { XRayEndpointProvider::XRayEndpointProvider() : XRayDefaultEpProviderBase(Aws::XRay::XRayEndpointRules::GetRulesBlob(), Aws::XRay::XRayEndpointRules::RulesBlobSize) {} +void XRayBuiltInParameters::SetFromClientConfiguration(const XRayClientConfiguration& config) { + SetFromClientConfiguration(static_cast(config)); + SetServiceSpecificParameters(config); +} + +void XRayBuiltInParameters::SetFromClientConfiguration(const XRayClientConfiguration& config, const Aws::String& serviceName) { + SetFromClientConfiguration(static_cast(config), serviceName); + SetServiceSpecificParameters(config); +} + +void XRayBuiltInParameters::SetServiceSpecificParameters(const XRayClientConfiguration& config) { + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +} } // namespace Endpoint } // namespace XRay } // namespace Aws diff --git a/src/aws-cpp-sdk-core/include/aws/core/client/AWSClient.h b/src/aws-cpp-sdk-core/include/aws/core/client/AWSClient.h index f0e77a12a7de..4ffeac5e2d0d 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/client/AWSClient.h +++ b/src/aws-cpp-sdk-core/include/aws/core/client/AWSClient.h @@ -216,6 +216,12 @@ namespace Aws void AppendToUserAgent(const Aws::String& valueToAppend); protected: + /** + * Applies the values of the service-specific options this client's service supports. + * Called by generated service clients during initialization; unsupported options keep their defaults. + */ + void ApplyServiceOptions(const Aws::Client::ServiceClientOptions& options); + /** * Calls AttemptOneRequest until it either, succeeds, runs out of retries from the retry strategy, * or encounters and error that is not retryable. diff --git a/src/aws-cpp-sdk-core/include/aws/core/client/ClientConfiguration.h b/src/aws-cpp-sdk-core/include/aws/core/client/ClientConfiguration.h index e1ce14ca038c..4ea9a5b6d6f6 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/client/ClientConfiguration.h +++ b/src/aws-cpp-sdk-core/include/aws/core/client/ClientConfiguration.h @@ -92,6 +92,40 @@ namespace Aws UseRequestCompression useRequestCompression=UseRequestCompression::ENABLE; size_t requestMinCompressionSizeBytes = 10240; }; + + struct ChecksumConfig { + /** + * Setting on whether to calculate a checksum for a payload only when it is required. + * i.e. when setting WHEN_REQUIRED the SDK will NOT calculate a checksum for an endpoint + * where it is supported but is NOT required. + */ + RequestChecksumCalculation requestChecksumCalculation = RequestChecksumCalculation::WHEN_SUPPORTED; + + /** + * Setting on whether to client side response validate a content body that had a checksum + * associated with it. Response validation right now cannot be modeled as required but rely + * on an associated model configuration. + */ + ResponseChecksumValidation responseChecksumValidation = ResponseChecksumValidation::WHEN_SUPPORTED; + }; + + static const size_t DEFAULT_AWS_CHUNKED_BUFFER_SIZE = 64UL * 1024; + + /** + * Values a generated client hands to core for the options its service supports. + * Options the service does not support keep these defaults. + * Internal: not a client configuration and not accepted by any client constructor. + */ + struct ServiceClientOptions { + RequestCompressionConfig requestCompressionConfig; + ChecksumConfig checksumConfig; + bool disableExpectHeader = false; + HttpClientChunkedMode httpClientChunkedMode = HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + size_t awsChunkedBufferSize = DEFAULT_AWS_CHUNKED_BUFFER_SIZE; + Aws::Vector sigV4aSigningRegionSet; + Aws::String accountId; + Aws::String accountIdEndpointMode; + }; /** * This structure is used to provide initial configuration values to the default ClientConfiguration constructor for the following parameter(s): * - disableIMDS @@ -179,16 +213,6 @@ namespace Aws * AWS Region to use in signing requests. Default US_EAST_1 */ Aws::String region; - /** - * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region you select. - */ - bool useDualStack = false; - - /** - * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. - */ - bool useFIPS = false; - /** * Max concurrent tcp connections for a single http client to use. Default 25. */ @@ -350,47 +374,11 @@ namespace Aws */ FollowRedirectsPolicy followRedirects; - /** - * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, - * including streaming operations like S3 PutObject or UploadPart. - * - * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming - * requests (operations with streaming input bodies). This allows the server to reject the - * request before the client sends a potentially large payload, saving bandwidth on failures. - * Non-streaming requests never receive the Expect header regardless of this setting. - * - * Set to true if you are going through a proxy or middleware that does not correctly - * handle the Expect: 100-Continue mechanism. - */ - bool disableExpectHeader = false; - /** * If set to true clock skew will be adjusted after each http attempt, default to true. */ bool enableClockSkewAdjustment = true; - /** - * Enable host prefix injection. - * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for DiscoverInstances request. - * Default to true, enabled. You can disable it for testing purpose. - * - * Deprecated in API v. 1.10. Please set in service-specific client configuration. - */ - bool enableHostPrefixInjection = true; - - /** - * Enable endpoint discovery - * For some services to dynamically set up their endpoints for different requests. - * By default, service clients will decide if endpoint discovery is enabled or not. - * If disabled, regional or overridden endpoint will be used instead. - * If a request requires endpoint discovery but you disabled it. The request will never succeed. - * A boolean value is either true of false, use Optional here to have an instance does not contain a value, - * such that SDK will decide the default behavior as stated before, if no value specified. - * - * Deprecated in API v. 1.10. Please set in service-specific client configuration. - */ - Aws::Crt::Optional enableEndpointDiscovery; - /** * Enable http client (WinHTTP or CURL) traces. * Defaults to false, it's an optional feature. @@ -402,13 +390,6 @@ namespace Aws */ Aws::String profileName; - /** - * Request compression configuration - * To use this feature, the service needs to provide the support, and the compression - * algorithms needs to be available at SDK build time. - */ - Aws::Client::RequestCompressionConfig requestCompressionConfig; - /** * Disable all internal IMDS Calls */ @@ -439,22 +420,6 @@ namespace Aws */ Aws::String appId; - struct { - /** - * Setting on whether to calculate a checksum for a payload only when it is required. - * i.e. when setting WHEN_REQUIRED the SDK will NOT calculate a checksum for an endpoint - * where it is supported but is NOT required. - */ - RequestChecksumCalculation requestChecksumCalculation = RequestChecksumCalculation::WHEN_SUPPORTED; - - /** - * Setting on whether to client side response validate a content body that had a checksum - * associated with it. Response validation right now cannot be modeled as required but rely - * on an associated model configuration. - */ - ResponseChecksumValidation responseChecksumValidation = ResponseChecksumValidation::WHEN_SUPPORTED; - } checksumConfig; - /** * A helper function to read config value from env variable or aws profile config */ @@ -501,27 +466,6 @@ namespace Aws bool revokeBestEffort = false; } curlOptions; - /** - * The AWS account ID. Used for account-based endpoint routing. An AWS account ID has a format like 111122223333. - * Account-based endpoint routing provides better request performance for some services. - * - * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html - */ - Aws::String accountId; - - /** - * This setting is used to turn off account-based endpoint routing if necessary, and bypass account-based rules. - * Can be the case sensitive string values "required", "disabled", or "preferred". Defaults to "preferred". - * - * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html - */ - Aws::String accountIdEndpointMode = "preferred"; - - /** - * Control HTTP client chunking implementation mode. - * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. - */ - HttpClientChunkedMode httpClientChunkedMode = HttpClientChunkedMode::CLIENT_IMPLEMENTATION; /** * Configuration structure for credential providers in the AWS SDK. * This structure allows passing configuration options to credential providers @@ -630,25 +574,19 @@ namespace Aws * First available auth scheme will be used for each operation. */ Aws::Vector authPreferences; - - /** - * List of AWS regions for SigV4a multi-region signing. - */ - Aws::Vector sigV4aSigningRegionSet; - - /** - * Buffer size in bytes that will be used to content encode - * bodies using aws-chunked. Changing this is useful when you - * want to minimize memory use while uploading to S3. Size MUST - * be greater than 8KB otherwise S3 will reject the request. - * - * Defaults to 64KiB. - * - * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html - */ - size_t awsChunkedBufferSize = 64UL * 1024; }; + /* + * Loaders for service-specific options. A service's generated configuration declares the options its + * model and endpoint rules support and calls these to load them from the environment and profile. + */ + AWS_CORE_API bool LoadUseFIPSFromEnvOrProfile(const Aws::String& profileName); + AWS_CORE_API bool LoadUseDualStackFromEnvOrProfile(const Aws::String& profileName); + AWS_CORE_API Aws::String LoadAccountIdEndpointModeFromEnvOrProfile(const Aws::String& profileName); + AWS_CORE_API RequestCompressionConfig LoadRequestCompressionConfigFromEnvOrProfile(const Aws::String& profileName); + AWS_CORE_API ChecksumConfig LoadChecksumConfigFromEnvOrProfile(const Aws::String& profileName); + AWS_CORE_API Aws::Vector LoadSigV4aSigningRegionSetFromEnvOrProfile(const Aws::String& profileName); + /** * A helper function to initialize a retry strategy. * Default is DefaultRetryStrategy (i.e. exponential backoff) diff --git a/src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h b/src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h index 6bc1a025ed04..60f5ba613825 100644 --- a/src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h +++ b/src/aws-cpp-sdk-core/include/aws/core/client/UserAgent.h @@ -66,6 +66,8 @@ class AWS_CORE_API UserAgent { Aws::String SerializeWithFeatures(const Aws::Set& features) const; void SetApiName(const Aws::String& apiName) { m_api = apiName; } void AddLegacyFeature(const Aws::String& legacyFeature); + /** Records the account ID endpoint mode for services that support account-based endpoints. */ + void SetAccountIdEndpointMode(const Aws::String& accountIdEndpointMode); /** * Names the executor the client runs on. Clients that create their executor after the user agent call this. */ diff --git a/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h b/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h index c9909d40dd18..3acf8e952b5b 100644 --- a/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h +++ b/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h @@ -149,6 +149,8 @@ namespace client friend class SmithyBidirectionalStreamingWriteDataTask; void initClient() { + // GetServiceClientOptions is generated in each service's namespace and found by argument-dependent lookup. + this->ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); if (m_endpointProvider && m_authSchemeResolver) { m_endpointProvider->InitBuiltInParameters(m_clientConfiguration, m_serviceName); m_authSchemeResolver->Init(m_clientConfiguration); @@ -387,7 +389,7 @@ namespace client ctx.m_pRequest->AddUserAgentFeature(Aws::Client::UserAgentFeature::RESOLVED_ACCOUNT_ID); } // Only set EP param if client configuration does not have a configured account ID and we resolved a account id - if (resolvedNonEmptyAccountId && m_clientConfiguration.accountId.empty()) { + if (resolvedNonEmptyAccountId && m_serviceOptions.accountId.empty()) { endpointParameters.emplace_back("AccountId", resolvedAccountId.value(), Aws::Endpoint::EndpointParameter::ParameterOrigin::OPERATION_CONTEXT); } return endpointParameters; diff --git a/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClientBase.h b/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClientBase.h index 761e9d7f1933..080e72ce85d6 100644 --- a/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClientBase.h +++ b/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClientBase.h @@ -111,10 +111,10 @@ namespace client m_httpClient(std::move(httpClient)), m_errorMarshaller(std::move(errorMarshaller)), m_interceptors({ - Aws::MakeShared("AwsSmithyClientBase", *m_clientConfig), - Aws::MakeShared("AwsSmithyClientBase", - m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : m_clientConfig->httpClientChunkedMode, - m_clientConfig->awsChunkedBufferSize) + Aws::MakeShared("AwsSmithyClientBase", m_serviceOptions.checksumConfig), + Aws::MakeShared("AwsSmithyClientBase", + m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : m_serviceOptions.httpClientChunkedMode, + m_serviceOptions.awsChunkedBufferSize) }), m_enableNewRetries{Aws::Utils::StringUtils::ToLower(Aws::Environment::GetEnv("AWS_NEW_RETRIES_2026").c_str()) == "true"} { @@ -196,6 +196,12 @@ namespace client */ void baseInit(); + /** + * Applies the values of the service-specific options this client's service supports. + * Called by generated service clients during initialization; unsupported options keep their defaults. + */ + void ApplyServiceOptions(const Aws::Client::ServiceClientOptions& options); + /** * Initialize client configuration on copy, if there is a factory use it, otherwise use the already present * shared configuration. @@ -241,6 +247,8 @@ namespace client * This is done to avoid duplication of config object between this base and actual service template classes. */ const Aws::UniquePtr m_clientConfig; + /* Values of the service-specific options, set by ApplyServiceOptions. Declared before m_interceptors, which is built from it. */ + Aws::Client::ServiceClientOptions m_serviceOptions; Aws::String m_serviceName; Aws::String m_serviceUserAgentName; diff --git a/src/aws-cpp-sdk-core/include/smithy/client/features/ChecksumInterceptor.h b/src/aws-cpp-sdk-core/include/smithy/client/features/ChecksumInterceptor.h index 85a0e835a44f..a06208e0d4b9 100644 --- a/src/aws-cpp-sdk-core/include/smithy/client/features/ChecksumInterceptor.h +++ b/src/aws-cpp-sdk-core/include/smithy/client/features/ChecksumInterceptor.h @@ -47,9 +47,9 @@ class ChecksumInterceptor : public smithy::interceptor::Interceptor { using XXHash128 = Aws::Utils::Checksum::XXHash128; using PrecalculatedHash = Aws::Utils::Crypto::PrecalculatedHash; - explicit ChecksumInterceptor(const ClientConfiguration& configuration) - : m_requestChecksumCalculation(configuration.checksumConfig.requestChecksumCalculation), - m_responseChecksumValidation(configuration.checksumConfig.responseChecksumValidation) {} + explicit ChecksumInterceptor(const Aws::Client::ChecksumConfig& checksumConfig) + : m_requestChecksumCalculation(checksumConfig.requestChecksumCalculation), + m_responseChecksumValidation(checksumConfig.responseChecksumValidation) {} ~ChecksumInterceptor() override = default; ChecksumInterceptor() = default; ChecksumInterceptor(const ChecksumInterceptor& other) = delete; diff --git a/src/aws-cpp-sdk-core/include/smithy/client/features/UserAgentInterceptor.h b/src/aws-cpp-sdk-core/include/smithy/client/features/UserAgentInterceptor.h index 4d0301f8ff9b..c6b41ae497e9 100644 --- a/src/aws-cpp-sdk-core/include/smithy/client/features/UserAgentInterceptor.h +++ b/src/aws-cpp-sdk-core/include/smithy/client/features/UserAgentInterceptor.h @@ -39,6 +39,8 @@ class UserAgentInterceptor : public interceptor::Interceptor { void AddLegacyFeaturesToUserAgent(const Aws::String& valueToAppend) { m_userAgent.AddLegacyFeature(valueToAppend); } + void SetAccountIdEndpointMode(const Aws::String& accountIdEndpointMode) { m_userAgent.SetAccountIdEndpointMode(accountIdEndpointMode); } + void SetExecutor(const Aws::Utils::Threading::Executor& executor) { m_userAgent.SetExecutor(executor); } private: diff --git a/src/aws-cpp-sdk-core/source/client/AWSClient.cpp b/src/aws-cpp-sdk-core/source/client/AWSClient.cpp index f83fe0e83a95..3eb0e9ab3395 100644 --- a/src/aws-cpp-sdk-core/source/client/AWSClient.cpp +++ b/src/aws-cpp-sdk-core/source/client/AWSClient.cpp @@ -171,14 +171,14 @@ AWSClient::AWSClient(const Aws::Client::ClientConfiguration& configuration, m_requestTimeoutMs(configuration.requestTimeoutMs), m_enableClockSkewAdjustment(configuration.enableClockSkewAdjustment), m_clientSkew(Aws::MakeShared(AWS_CLIENT_LOG_TAG, std::chrono::milliseconds(0))), - m_requestCompressionConfig(configuration.requestCompressionConfig), + m_requestCompressionConfig(), m_userAgentInterceptor{Aws::MakeShared(AWS_CLIENT_LOG_TAG, configuration, m_retryStrategy->GetStrategyName(), m_serviceName)}, m_interceptors{Aws::MakeShared(AWS_CLIENT_LOG_TAG), Aws::MakeShared(AWS_CLIENT_LOG_TAG, - m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : configuration.httpClientChunkedMode, - configuration.awsChunkedBufferSize), + m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION, + Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE), m_userAgentInterceptor}, m_enableNewRetries{Aws::Utils::StringUtils::ToLower(Aws::Environment::GetEnv("AWS_NEW_RETRIES_2026").c_str()) == "true"}, - m_disableExpectHeader(configuration.disableExpectHeader) + m_disableExpectHeader(false) { } @@ -203,14 +203,14 @@ AWSClient::AWSClient(const Aws::Client::ClientConfiguration& configuration, m_requestTimeoutMs(configuration.requestTimeoutMs), m_enableClockSkewAdjustment(configuration.enableClockSkewAdjustment), m_clientSkew(Aws::MakeShared(AWS_CLIENT_LOG_TAG, std::chrono::milliseconds(0))), - m_requestCompressionConfig(configuration.requestCompressionConfig), + m_requestCompressionConfig(), m_userAgentInterceptor{Aws::MakeShared(AWS_CLIENT_LOG_TAG, configuration, m_retryStrategy->GetStrategyName(), m_serviceName)}, - m_interceptors{Aws::MakeShared(AWS_CLIENT_LOG_TAG, configuration), Aws::MakeShared(AWS_CLIENT_LOG_TAG, - m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : configuration.httpClientChunkedMode, - configuration.awsChunkedBufferSize), + m_interceptors{Aws::MakeShared(AWS_CLIENT_LOG_TAG), Aws::MakeShared(AWS_CLIENT_LOG_TAG, + m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION, + Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE), m_userAgentInterceptor}, m_enableNewRetries{Aws::Utils::StringUtils::ToLower(Aws::Environment::GetEnv("AWS_NEW_RETRIES_2026").c_str()) == "true"}, - m_disableExpectHeader(configuration.disableExpectHeader) + m_disableExpectHeader(false) { } @@ -237,6 +237,19 @@ void AWSClient::AppendToUserAgent(const Aws::String& valueToAppend) m_userAgentInterceptor->AddLegacyFeaturesToUserAgent(valueToAppend); } +void AWSClient::ApplyServiceOptions(const Aws::Client::ServiceClientOptions& options) +{ + m_requestCompressionConfig = options.requestCompressionConfig; + m_disableExpectHeader = options.disableExpectHeader; + // m_interceptors is built in the constructor as {checksum, chunking, user agent}. + m_interceptors[0] = Aws::MakeShared(AWS_CLIENT_LOG_TAG, options.checksumConfig); + m_interceptors[1] = Aws::MakeShared(AWS_CLIENT_LOG_TAG, + m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : options.httpClientChunkedMode, + options.awsChunkedBufferSize); + assert(m_userAgentInterceptor); + m_userAgentInterceptor->SetAccountIdEndpointMode(options.accountIdEndpointMode); +} + void AWSClient::SetUserAgentExecutor(const Aws::Utils::Threading::Executor& executor) { assert(m_userAgentInterceptor); m_userAgentInterceptor->SetExecutor(executor); diff --git a/src/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp b/src/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp index cd1110b8020b..0d294e8f4b6e 100644 --- a/src/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp +++ b/src/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp @@ -240,8 +240,6 @@ Aws::Vector calculateSigV4aSigningRegionSet(const Aws::String& prof void setLegacyClientConfigurationParameters(ClientConfiguration& clientConfig) { clientConfig.scheme = Aws::Http::Scheme::HTTPS; - clientConfig.useDualStack = false; - clientConfig.useFIPS = false; clientConfig.maxConnections = 25; clientConfig.httpRequestTimeoutMs = 0; clientConfig.requestTimeoutMs = 3000; @@ -255,54 +253,19 @@ void setLegacyClientConfigurationParameters(ClientConfiguration& clientConfig) clientConfig.writeRateLimiter = nullptr; clientConfig.readRateLimiter = nullptr; clientConfig.httpLibOverride = Aws::Http::TransferLibType::DEFAULT_CLIENT; - clientConfig.httpClientChunkedMode = HttpClientChunkedMode::CLIENT_IMPLEMENTATION; clientConfig.followRedirects = FollowRedirectsPolicy::DEFAULT; - clientConfig.disableExpectHeader = false; clientConfig.enableClockSkewAdjustment = true; - clientConfig.enableHostPrefixInjection = true; clientConfig.enableHttpClientTrace = false; if (clientConfig.profileName.empty()) { clientConfig.profileName = Aws::Auth::GetConfigProfileName(); } - Aws::String disableCompressionConfig = clientConfig.LoadConfigFromEnvOrProfile( - DISABLE_REQUEST_COMPRESSION_ENV_VAR, - clientConfig.profileName, - DISABLE_REQUEST_COMPRESSION_CONFIG_VAR, - {"TRUE", "FALSE", "true", "false"}, - "false" - ); - - if (Aws::Utils::StringUtils::ToLower(disableCompressionConfig.c_str()) == "true") { - clientConfig.requestCompressionConfig.useRequestCompression = Aws::Client::UseRequestCompression::DISABLE; - AWS_LOGSTREAM_DEBUG(CLIENT_CONFIG_TAG, "Request Compression disabled"); - } else { - //Using default to true for forward compatibility in case new config is added but SDK is not updated. - clientConfig.requestCompressionConfig.useRequestCompression = Aws::Client::UseRequestCompression::ENABLE; - AWS_LOGSTREAM_DEBUG(CLIENT_CONFIG_TAG, "Request Compression enabled"); - } - - // Getting min request compression length - Aws::String minRequestCompressionString = Aws::Environment::GetEnv(REQUEST_MIN_COMPRESSION_SIZE_BYTES_ENV_VAR); - if (minRequestCompressionString.empty()) - { - minRequestCompressionString = Aws::Config::GetCachedConfigValue(REQUEST_MIN_COMPRESSION_SIZE_BYTES_CONFIG_VAR); - } - if (!minRequestCompressionString.empty()) { - clientConfig.requestCompressionConfig.requestMinCompressionSizeBytes = static_cast(Aws::Utils::StringUtils::ConvertToInt32(minRequestCompressionString.c_str())); - if (clientConfig.requestCompressionConfig.requestMinCompressionSizeBytes > 10485760) { - AWS_LOGSTREAM_ERROR(CLIENT_CONFIG_TAG, "ClientConfiguration for MinReqCompression is unsupported, received: " << clientConfig.requestCompressionConfig.requestMinCompressionSizeBytes); - } - } - AWS_LOGSTREAM_DEBUG(CLIENT_CONFIG_TAG, "ClientConfiguration will use MinReqCompression: " << clientConfig.requestCompressionConfig.requestMinCompressionSizeBytes); - AWS_LOGSTREAM_DEBUG(CLIENT_CONFIG_TAG, "ClientConfiguration will use SDK Auto Resolved profile: [" << clientConfig.profileName << "] if not specified by users."); clientConfig.region = calculateRegion(); clientConfig.credentialProviderConfig.region = clientConfig.region; clientConfig.authPreferences = calculateAuthPreferences(); - clientConfig.sigV4aSigningRegionSet = calculateSigV4aSigningRegionSet(clientConfig.profileName); // Set the endpoint to interact with EC2 instance's metadata service Aws::String ec2MetadataServiceEndpoint = Aws::Environment::GetEnv("AWS_EC2_METADATA_SERVICE_ENDPOINT"); @@ -317,22 +280,6 @@ void setLegacyClientConfigurationParameters(ClientConfiguration& clientConfig) } clientConfig.appId = clientConfig.LoadConfigFromEnvOrProfile("AWS_SDK_UA_APP_ID", clientConfig.profileName, "sdk_ua_app_id", {}, ""); - - clientConfig.checksumConfig.requestChecksumCalculation = - LoadEnumFromString(REQUEST_CHECKSUM_CONFIG_MAPPING, - ClientConfiguration::LoadConfigFromEnvOrProfile("AWS_REQUEST_CHECKSUM_CALCULATION", clientConfig.profileName, - "request_checksum_calculation", - {"when_supported", "when_required"}, "when_supported") - .c_str(), - RequestChecksumCalculation::WHEN_SUPPORTED); - - clientConfig.checksumConfig.responseChecksumValidation = - LoadEnumFromString(RESPONSE_CHECKSUM_CONFIG_MAPPING, - ClientConfiguration::LoadConfigFromEnvOrProfile("AWS_RESPONSE_CHECKSUM_VALIDATION", clientConfig.profileName, - "response_checksum_validation", - {"when_supported", "when_required"}, "when_supported") - .c_str(), - ResponseChecksumValidation::WHEN_SUPPORTED); } void setConfigFromEnvOrProfile(ClientConfiguration &config) @@ -357,26 +304,6 @@ void setConfigFromEnvOrProfile(ClientConfiguration &config) config.enableClockSkewAdjustment = false; } - config.useDualStack = ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_USE_DUALSTACK_ENDPOINT_ENV_VAR, - config.profileName, - AWS_USE_DUALSTACK_ENDPOINT_CONFIG_VAR, - {"true", "false"}, - "false") == "true"; - - config.useFIPS = ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_USE_FIPS_ENDPOINT_ENV_VAR, - config.profileName, - AWS_USE_FIPS_ENDPOINT_CONFIG_VAR, - {"true", "false"}, - "false") == "true"; - - // accountId is intentionally not set here: AWS_ACCOUNT_ID env variable may not match the provided credentials. - // it must be set by an auth provider / identity resolver or by an SDK user. - config.accountIdEndpointMode = ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_ACCOUNT_ID_ENDPOINT_MODE_ENVIRONMENT_VARIABLE, - config.profileName, - AWS_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_FILE_OPTION, - {"required", "disabled", "preferred"}, /* allowed values */ - "preferred" /* default value */); - // Load IMDS configuration from environment variables and config file Aws::String timeoutStr = ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_METADATA_SERVICE_TIMEOUT_ENV_VAR, config.profileName, @@ -576,6 +503,97 @@ ClientConfiguration::ClientConfiguration(bool /*useSmartDefaults*/, const char* Aws::Config::Defaults::SetSmartDefaultsConfigurationParameters(*this, defaultMode, hasEc2MetadataRegion, ec2MetadataRegion); } +bool LoadUseFIPSFromEnvOrProfile(const Aws::String& profileName) +{ + return ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_USE_FIPS_ENDPOINT_ENV_VAR, + profileName, + AWS_USE_FIPS_ENDPOINT_CONFIG_VAR, + {"true", "false"}, + "false") == "true"; +} + +bool LoadUseDualStackFromEnvOrProfile(const Aws::String& profileName) +{ + return ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_USE_DUALSTACK_ENDPOINT_ENV_VAR, + profileName, + AWS_USE_DUALSTACK_ENDPOINT_CONFIG_VAR, + {"true", "false"}, + "false") == "true"; +} + +Aws::String LoadAccountIdEndpointModeFromEnvOrProfile(const Aws::String& profileName) +{ + // accountId is intentionally not loaded: AWS_ACCOUNT_ID env variable may not match the provided credentials. + // it must be set by an auth provider / identity resolver or by an SDK user. + return ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_ACCOUNT_ID_ENDPOINT_MODE_ENVIRONMENT_VARIABLE, + profileName, + AWS_ACCOUNT_ID_ENDPOINT_MODE_CONFIG_FILE_OPTION, + {"required", "disabled", "preferred"}, /* allowed values */ + "preferred" /* default value */); +} + +RequestCompressionConfig LoadRequestCompressionConfigFromEnvOrProfile(const Aws::String& profileName) +{ + RequestCompressionConfig requestCompressionConfig; + Aws::String disableCompressionConfig = ClientConfiguration::LoadConfigFromEnvOrProfile( + DISABLE_REQUEST_COMPRESSION_ENV_VAR, + profileName, + DISABLE_REQUEST_COMPRESSION_CONFIG_VAR, + {"TRUE", "FALSE", "true", "false"}, + "false" + ); + + if (Aws::Utils::StringUtils::ToLower(disableCompressionConfig.c_str()) == "true") { + requestCompressionConfig.useRequestCompression = Aws::Client::UseRequestCompression::DISABLE; + AWS_LOGSTREAM_DEBUG(CLIENT_CONFIG_TAG, "Request Compression disabled"); + } else { + //Using default to true for forward compatibility in case new config is added but SDK is not updated. + requestCompressionConfig.useRequestCompression = Aws::Client::UseRequestCompression::ENABLE; + AWS_LOGSTREAM_DEBUG(CLIENT_CONFIG_TAG, "Request Compression enabled"); + } + + // Getting min request compression length + Aws::String minRequestCompressionString = Aws::Environment::GetEnv(REQUEST_MIN_COMPRESSION_SIZE_BYTES_ENV_VAR); + if (minRequestCompressionString.empty()) + { + minRequestCompressionString = Aws::Config::GetCachedConfigValue(REQUEST_MIN_COMPRESSION_SIZE_BYTES_CONFIG_VAR); + } + if (!minRequestCompressionString.empty()) { + requestCompressionConfig.requestMinCompressionSizeBytes = static_cast(Aws::Utils::StringUtils::ConvertToInt32(minRequestCompressionString.c_str())); + if (requestCompressionConfig.requestMinCompressionSizeBytes > 10485760) { + AWS_LOGSTREAM_ERROR(CLIENT_CONFIG_TAG, "ClientConfiguration for MinReqCompression is unsupported, received: " << requestCompressionConfig.requestMinCompressionSizeBytes); + } + } + AWS_LOGSTREAM_DEBUG(CLIENT_CONFIG_TAG, "ClientConfiguration will use MinReqCompression: " << requestCompressionConfig.requestMinCompressionSizeBytes); + return requestCompressionConfig; +} + +ChecksumConfig LoadChecksumConfigFromEnvOrProfile(const Aws::String& profileName) +{ + ChecksumConfig checksumConfig; + checksumConfig.requestChecksumCalculation = + LoadEnumFromString(REQUEST_CHECKSUM_CONFIG_MAPPING, + ClientConfiguration::LoadConfigFromEnvOrProfile("AWS_REQUEST_CHECKSUM_CALCULATION", profileName, + "request_checksum_calculation", + {"when_supported", "when_required"}, "when_supported") + .c_str(), + RequestChecksumCalculation::WHEN_SUPPORTED); + + checksumConfig.responseChecksumValidation = + LoadEnumFromString(RESPONSE_CHECKSUM_CONFIG_MAPPING, + ClientConfiguration::LoadConfigFromEnvOrProfile("AWS_RESPONSE_CHECKSUM_VALIDATION", profileName, + "response_checksum_validation", + {"when_supported", "when_required"}, "when_supported") + .c_str(), + ResponseChecksumValidation::WHEN_SUPPORTED); + return checksumConfig; +} + +Aws::Vector LoadSigV4aSigningRegionSetFromEnvOrProfile(const Aws::String& profileName) +{ + return calculateSigV4aSigningRegionSet(profileName); +} + static Aws::String ResolveRetryMode(Aws::String retryMode) { if (retryMode.empty()) { diff --git a/src/aws-cpp-sdk-core/source/client/UserAgent.cpp b/src/aws-cpp-sdk-core/source/client/UserAgent.cpp index 1efed483dab1..f38b7e387a10 100644 --- a/src/aws-cpp-sdk-core/source/client/UserAgent.cpp +++ b/src/aws-cpp-sdk-core/source/client/UserAgent.cpp @@ -143,7 +143,10 @@ UserAgent::UserAgent(const ClientConfiguration& clientConfiguration, if (clientConfiguration.executor) { SetExecutor(*clientConfiguration.executor); } - const auto accountIdMode = BusinessMetricForAccountIdMode(clientConfiguration.accountIdEndpointMode); +} + +void UserAgent::SetAccountIdEndpointMode(const Aws::String& accountIdEndpointMode) { + const auto accountIdMode = BusinessMetricForAccountIdMode(accountIdEndpointMode); if (accountIdMode.has_value()) { m_features.emplace(accountIdMode.value()); } diff --git a/src/aws-cpp-sdk-core/source/endpoint/BuiltInParameters.cpp b/src/aws-cpp-sdk-core/source/endpoint/BuiltInParameters.cpp index c5a486867756..7cddbef23447 100644 --- a/src/aws-cpp-sdk-core/source/endpoint/BuiltInParameters.cpp +++ b/src/aws-cpp-sdk-core/source/endpoint/BuiltInParameters.cpp @@ -58,11 +58,12 @@ namespace Endpoint } } + // UseFIPS and UseDualStack are set by the service's generated BuiltInParameters, + // only for services whose endpoint rules support them. static const char* AWS_USE_FIPS = "UseFIPS"; - SetBooleanParameter(AWS_USE_FIPS, config.useFIPS || forceFIPS); - - static const char* AWS_USE_DUAL_STACK = "UseDualStack"; - SetBooleanParameter(AWS_USE_DUAL_STACK, config.useDualStack); + if (forceFIPS) { + SetBooleanParameter(AWS_USE_FIPS, true); // legacy "fips-" region prefix/suffix + } if (!config.endpointOverride.empty()) { OverrideEndpoint(config.endpointOverride, config.scheme); diff --git a/src/aws-cpp-sdk-core/source/smithy/client/AwsSmithyClientBase.cpp b/src/aws-cpp-sdk-core/source/smithy/client/AwsSmithyClientBase.cpp index 5893181de468..8be793db27ee 100644 --- a/src/aws-cpp-sdk-core/source/smithy/client/AwsSmithyClientBase.cpp +++ b/src/aws-cpp-sdk-core/source/smithy/client/AwsSmithyClientBase.cpp @@ -111,15 +111,19 @@ void AwsSmithyClientBase::baseCopyAssign(const AwsSmithyClientBase& other, m_enableNewRetries = other.m_enableNewRetries; m_httpClient = std::move(httpClient); m_errorMarshaller = std::move(errorMarshaller); - + m_serviceOptions = other.m_serviceOptions; + m_interceptors = Aws::Vector>{ - Aws::MakeShared("AwsSmithyClientBase", *m_clientConfig), - Aws::MakeShared("AwsSmithyClientBase", - m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : m_clientConfig->httpClientChunkedMode, - m_clientConfig->awsChunkedBufferSize) + Aws::MakeShared("AwsSmithyClientBase", m_serviceOptions.checksumConfig), + Aws::MakeShared("AwsSmithyClientBase", + m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : m_serviceOptions.httpClientChunkedMode, + m_serviceOptions.awsChunkedBufferSize) }; baseCopyInit(); + if (m_userAgentInterceptor) { + m_userAgentInterceptor->SetAccountIdEndpointMode(m_serviceOptions.accountIdEndpointMode); + } } void AwsSmithyClientBase::baseMoveAssign(AwsSmithyClientBase&& other) { @@ -128,6 +132,7 @@ void AwsSmithyClientBase::baseMoveAssign(AwsSmithyClientBase&& other) { m_serviceUserAgentName = std::move(other.m_serviceUserAgentName); m_httpClient = std::move(other.m_httpClient); m_errorMarshaller = std::move(other.m_errorMarshaller); + m_serviceOptions = std::move(other.m_serviceOptions); m_interceptors = std::move(other.m_interceptors); m_userAgentInterceptor = std::move(other.m_userAgentInterceptor); m_enableNewRetries = other.m_enableNewRetries; @@ -172,7 +177,7 @@ AwsSmithyClientBase::BuildHttpRequest(const std::shared_ptrGetSelectedCompressionAlgorithm(m_clientConfig->requestCompressionConfig); + Aws::Client::CompressionAlgorithm selectedCompressionAlgorithm = pRequest->GetSelectedCompressionAlgorithm(m_serviceOptions.requestCompressionConfig); if (Aws::Client::CompressionAlgorithm::NONE != selectedCompressionAlgorithm) { RequestPayloadCompression::AddCompressedContentBodyToRequest(pRequest, httpRequest, selectedCompressionAlgorithm, m_httpClient); } else { @@ -181,7 +186,7 @@ AwsSmithyClientBase::BuildHttpRequest(const std::shared_ptrIsStreaming() && !m_clientConfig->disableExpectHeader) + if (pRequest->IsStreaming() && !m_serviceOptions.disableExpectHeader) { httpRequest->SetHeaderValue(Aws::Http::EXPECT_HEADER, Aws::Http::EXPECT_100_CONTINUE_VALUE); } @@ -433,9 +438,9 @@ void AwsSmithyClientBase::UpdateAuthSchemeFromEndpoint(const Aws::Endpoint::AWSE } } // If a value is explicitly set in configuration, it must be used over values defined anywhere else (ONLY FOR SigV4a) - if (strcmp(authscheme.schemeId, SigV4aAuthSchemeOption::sigV4aAuthSchemeOption.schemeId) == 0 && !m_clientConfig->sigV4aSigningRegionSet.empty()) { + if (strcmp(authscheme.schemeId, SigV4aAuthSchemeOption::sigV4aAuthSchemeOption.schemeId) == 0 && !m_serviceOptions.sigV4aSigningRegionSet.empty()) { authscheme.putSignerProperty(smithy::SIGNER_REGION_PROPERTY, - Aws::Crt::Variant(Aws::Utils::StringUtils::Join(m_clientConfig->sigV4aSigningRegionSet, ','))); + Aws::Crt::Variant(Aws::Utils::StringUtils::Join(m_serviceOptions.sigV4aSigningRegionSet, ','))); } } @@ -833,6 +838,19 @@ AwsSmithyClientBase::StreamOutcome AwsSmithyClientBase::ProcessUnparsedResponse( return StreamOutcome(std::move(httpResponseOutcome)); } +void AwsSmithyClientBase::ApplyServiceOptions(const Aws::Client::ServiceClientOptions& options) +{ + m_serviceOptions = options; + // m_interceptors starts as {checksum, chunking, ...}; replace the two built from option values. + m_interceptors[0] = Aws::MakeShared(AWS_SMITHY_CLIENT_LOG, m_serviceOptions.checksumConfig); + m_interceptors[1] = Aws::MakeShared(AWS_SMITHY_CLIENT_LOG, + m_httpClient->IsDefaultAwsHttpClient() ? Aws::Client::HttpClientChunkedMode::DEFAULT : m_serviceOptions.httpClientChunkedMode, + m_serviceOptions.awsChunkedBufferSize); + if (m_userAgentInterceptor) { + m_userAgentInterceptor->SetAccountIdEndpointMode(m_serviceOptions.accountIdEndpointMode); + } +} + void AwsSmithyClientBase::AppendToUserAgent(const Aws::String& valueToAppend) { assert(m_userAgentInterceptor); diff --git a/src/aws-cpp-sdk-s3-encryption/include/aws/s3-encryption/S3EncryptionClient.h b/src/aws-cpp-sdk-s3-encryption/include/aws/s3-encryption/S3EncryptionClient.h index 32c9a9a4f6e0..bfe4a69d9ff1 100644 --- a/src/aws-cpp-sdk-s3-encryption/include/aws/s3-encryption/S3EncryptionClient.h +++ b/src/aws-cpp-sdk-s3-encryption/include/aws/s3-encryption/S3EncryptionClient.h @@ -50,21 +50,21 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClientBase(const std::shared_ptr& encryptionMaterials, const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, - const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); + const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()); /* * Initialize the S3EncryptionClientBase with encryption materials, crypto configuration, AWS credentials and a client configuration. If no client configuration is supplied, * the default client configuration will be used. */ S3EncryptionClientBase(const std::shared_ptr& encryptionMaterials, const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, - const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); + const Aws::Auth::AWSCredentials& credentials, const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()); /* * Initialize the S3EncryptionClientBase with encryption materials, crypto configuration, AWS credentials provider and a client configuration. If no client configuration is supplied, * the default client configuration will be used. */ S3EncryptionClientBase(const std::shared_ptr& encryptionMaterials, const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); + const std::shared_ptr& credentialsProvider, const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()); /* * Initialize the S3EncryptionClientBase with encryption materials, crypto configuration, and a s3 client factory. @@ -146,7 +146,7 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClient(const std::shared_ptr& encryptionMaterials, const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, - const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()) + const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(encryptionMaterials, cryptoConfig, clientConfiguration) {} @@ -155,7 +155,7 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClient(const std::shared_ptr& encryptionMaterials, const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, - const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()) + const Aws::Auth::AWSCredentials& credentials, const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(encryptionMaterials, cryptoConfig, credentials, clientConfiguration) {} @@ -164,7 +164,7 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClient(const std::shared_ptr& encryptionMaterials, const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, - const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()) + const std::shared_ptr& credentialsProvider, const Aws::S3::S3ClientConfiguration& clientConfiguration = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(encryptionMaterials, cryptoConfig, credentialsProvider, clientConfiguration) {} @@ -191,7 +191,7 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClientV2(const Aws::S3Encryption::CryptoConfigurationV2& cryptoConfig, - const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) + const Aws::S3::S3ClientConfiguration& clientConfig = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(cryptoConfig.GetEncryptionMaterials(), CryptoConfiguration(), clientConfig) { Init(cryptoConfig); @@ -203,7 +203,7 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClientV2(const Aws::S3Encryption::CryptoConfigurationV2& cryptoConfig, const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) + const Aws::S3::S3ClientConfiguration& clientConfig = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(cryptoConfig.GetEncryptionMaterials(), CryptoConfiguration(), credentials, clientConfig) { Init(cryptoConfig); @@ -214,7 +214,7 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClientV2(const Aws::S3Encryption::CryptoConfigurationV2& cryptoConfig, const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) + const Aws::S3::S3ClientConfiguration& clientConfig = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(cryptoConfig.GetEncryptionMaterials(), CryptoConfiguration(), credentialsProvider, clientConfig) { Init(cryptoConfig); @@ -256,7 +256,7 @@ namespace Aws //# If the S3EC accepts SDK client configuration, the configuration MUST be applied to all wrapped S3 clients. // There's only one client, so it's safe to say "all" S3EncryptionClientV3(const Aws::S3Encryption::CryptoConfigurationV3& cryptoConfig, - const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) + const Aws::S3::S3ClientConfiguration& clientConfig = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(cryptoConfig.GetEncryptionMaterials(), CryptoConfiguration(), clientConfig) { Init(cryptoConfig); @@ -268,7 +268,7 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClientV3(const Aws::S3Encryption::CryptoConfigurationV3& cryptoConfig, const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) + const Aws::S3::S3ClientConfiguration& clientConfig = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(cryptoConfig.GetEncryptionMaterials(), CryptoConfiguration(), credentials, clientConfig) { Init(cryptoConfig); @@ -279,7 +279,7 @@ namespace Aws * the default client configuration will be used. */ S3EncryptionClientV3(const Aws::S3Encryption::CryptoConfigurationV3& cryptoConfig, const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) + const Aws::S3::S3ClientConfiguration& clientConfig = Aws::S3::S3ClientConfiguration()) : S3EncryptionClientBase(cryptoConfig.GetEncryptionMaterials(), CryptoConfiguration(), credentialsProvider, clientConfig) { Init(cryptoConfig); diff --git a/src/aws-cpp-sdk-s3-encryption/include/aws/s3-encryption/materials/KMSEncryptionMaterials.h b/src/aws-cpp-sdk-s3-encryption/include/aws/s3-encryption/materials/KMSEncryptionMaterials.h index 2616a73ec605..4394202327d7 100644 --- a/src/aws-cpp-sdk-s3-encryption/include/aws/s3-encryption/materials/KMSEncryptionMaterials.h +++ b/src/aws-cpp-sdk-s3-encryption/include/aws/s3-encryption/materials/KMSEncryptionMaterials.h @@ -36,7 +36,7 @@ namespace Aws Initialize with customer master key ID and client configuration. If no configuration is supplied, then use the default. Client configuration will be used to setup KMS Client. */ - KMSEncryptionMaterialsBase(const Aws::String& customerMasterKeyID, const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()); + KMSEncryptionMaterialsBase(const Aws::String& customerMasterKeyID, const Aws::KMS::KMSClientConfiguration& clientConfig = Aws::KMS::KMSClientConfiguration()); /* Initialize with customer master key ID and KMS Client. @@ -77,7 +77,7 @@ namespace Aws AWS_S3ENCRYPTION_API KMSEncryptionMaterials : public KMSEncryptionMaterialsBase { public: - KMSEncryptionMaterials(const Aws::String& customerMasterKeyID, const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) + KMSEncryptionMaterials(const Aws::String& customerMasterKeyID, const Aws::KMS::KMSClientConfiguration& clientConfig = Aws::KMS::KMSClientConfiguration()) : KMSEncryptionMaterialsBase(customerMasterKeyID, clientConfig) {} KMSEncryptionMaterials(const Aws::String& customerMasterKeyID, const std::shared_ptr& kmsClient) @@ -94,7 +94,7 @@ namespace Aws class AWS_S3ENCRYPTION_API KMSWithContextEncryptionMaterials : public KMSEncryptionMaterialsBase { public: - KMSWithContextEncryptionMaterials(const Aws::String& customerMasterKeyID, const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) + KMSWithContextEncryptionMaterials(const Aws::String& customerMasterKeyID, const Aws::KMS::KMSClientConfiguration& clientConfig = Aws::KMS::KMSClientConfiguration()) : KMSEncryptionMaterialsBase(customerMasterKeyID, clientConfig) { SetKMSDecryptWithAnyCMK(false); diff --git a/src/aws-cpp-sdk-s3-encryption/source/s3-encryption/S3EncryptionClient.cpp b/src/aws-cpp-sdk-s3-encryption/source/s3-encryption/S3EncryptionClient.cpp index 2d26b506b7c1..1180bf479946 100644 --- a/src/aws-cpp-sdk-s3-encryption/source/s3-encryption/S3EncryptionClient.cpp +++ b/src/aws-cpp-sdk-s3-encryption/source/s3-encryption/S3EncryptionClient.cpp @@ -28,21 +28,21 @@ namespace Aws using namespace Aws::S3::Model; S3EncryptionClientBase::S3EncryptionClientBase(const std::shared_ptr& encryptionMaterials, const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, - const Client::ClientConfiguration& clientConfiguration) : + const S3ClientConfiguration& clientConfiguration) : m_s3Client(Aws::MakeUnique(ALLOCATION_TAG, clientConfiguration)), m_cryptoModuleFactory(), m_encryptionMaterials(encryptionMaterials), m_cryptoConfig(cryptoConfig) { m_s3Client->AppendToUserAgent("ft/S3CryptoV1n"); } S3EncryptionClientBase::S3EncryptionClientBase(const std::shared_ptr& encryptionMaterials, const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, - const Auth::AWSCredentials& credentials, const Client::ClientConfiguration& clientConfiguration) : + const Auth::AWSCredentials& credentials, const S3ClientConfiguration& clientConfiguration) : m_s3Client(Aws::MakeUnique(ALLOCATION_TAG, credentials, Aws::MakeShared(ALLOCATION_TAG), clientConfiguration)), m_cryptoModuleFactory(), m_encryptionMaterials(encryptionMaterials), m_cryptoConfig(cryptoConfig) { m_s3Client->AppendToUserAgent("ft/S3CryptoV1n"); } S3EncryptionClientBase::S3EncryptionClientBase(const std::shared_ptr& encryptionMaterials, - const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, const std::shared_ptr& credentialsProvider, const Client::ClientConfiguration& clientConfiguration) : + const Aws::S3Encryption::CryptoConfiguration& cryptoConfig, const std::shared_ptr& credentialsProvider, const S3ClientConfiguration& clientConfiguration) : m_s3Client(Aws::MakeUnique(ALLOCATION_TAG, credentialsProvider, Aws::MakeShared(ALLOCATION_TAG), clientConfiguration)), m_cryptoModuleFactory(), m_encryptionMaterials(encryptionMaterials), m_cryptoConfig(cryptoConfig) { m_s3Client->AppendToUserAgent("ft/S3CryptoV1n"); diff --git a/src/aws-cpp-sdk-s3-encryption/source/s3-encryption/materials/KMSEncryptionMaterials.cpp b/src/aws-cpp-sdk-s3-encryption/source/s3-encryption/materials/KMSEncryptionMaterials.cpp index 5ffc93219c3c..46e5771e3979 100644 --- a/src/aws-cpp-sdk-s3-encryption/source/s3-encryption/materials/KMSEncryptionMaterials.cpp +++ b/src/aws-cpp-sdk-s3-encryption/source/s3-encryption/materials/KMSEncryptionMaterials.cpp @@ -29,7 +29,7 @@ namespace Aws const char* cmkID_Identifier = "kms_cmk_id"; const char* kmsEncryptionContextKey = "aws:x-amz-cek-alg"; - KMSEncryptionMaterialsBase::KMSEncryptionMaterialsBase(const String& customerMasterKeyID, const ClientConfiguration& clientConfig) : + KMSEncryptionMaterialsBase::KMSEncryptionMaterialsBase(const String& customerMasterKeyID, const Aws::KMS::KMSClientConfiguration& clientConfig) : m_customerMasterKeyID(customerMasterKeyID), m_kmsClient(Aws::MakeShared(ALLOCATION_TAG, clientConfig)), m_allowDecryptWithAnyCMK(true) { } diff --git a/tests/aws-cpp-sdk-bedrock-runtime-integration-tests/IntegrationTests.cpp b/tests/aws-cpp-sdk-bedrock-runtime-integration-tests/IntegrationTests.cpp index 852a4ce803e3..fdbdd8056a63 100644 --- a/tests/aws-cpp-sdk-bedrock-runtime-integration-tests/IntegrationTests.cpp +++ b/tests/aws-cpp-sdk-bedrock-runtime-integration-tests/IntegrationTests.cpp @@ -48,7 +48,7 @@ class BedrockRuntimeTests : public ::testing::Test void SetUp() { - Aws::Client::ClientConfiguration config; + Aws::BedrockRuntime::BedrockRuntimeClientConfiguration config; config.connectTimeoutMs = 30000; config.requestTimeoutMs = 30000; config.region = AWS_TEST_REGION; diff --git a/tests/aws-cpp-sdk-cognitoidentity-integration-tests/IdentityPoolOperationTest.cpp b/tests/aws-cpp-sdk-cognitoidentity-integration-tests/IdentityPoolOperationTest.cpp index 661b865d98ec..9b969624cb6f 100644 --- a/tests/aws-cpp-sdk-cognitoidentity-integration-tests/IdentityPoolOperationTest.cpp +++ b/tests/aws-cpp-sdk-cognitoidentity-integration-tests/IdentityPoolOperationTest.cpp @@ -62,7 +62,7 @@ class IdentityPoolOperationTest : public ::testing::Test protected: void SetUp() { - Aws::Client::ClientConfiguration config; + Aws::CognitoIdentity::CognitoIdentityClientConfiguration config; config.region = AWS_TEST_REGION; //TODO: move this over to profile config file. @@ -266,7 +266,7 @@ TEST_F(IdentityPoolOperationTest, TestIdentityActions) GetIdRequest getIdRequest; getIdRequest.WithIdentityPoolId(identityPoolId); - ClientConfiguration clientConfig; + Aws::IAM::IAMClientConfiguration clientConfig; clientConfig.region = AWS_TEST_REGION; auto accountId = Aws::Environment::GetEnv("CATAPULT_TEST_ACCOUNT"); diff --git a/tests/aws-cpp-sdk-core-tests/aws/client/AwsConfigTest.cpp b/tests/aws-cpp-sdk-core-tests/aws/client/AwsConfigTest.cpp index 94f3d847e17d..44ad091a5d9f 100644 --- a/tests/aws-cpp-sdk-core-tests/aws/client/AwsConfigTest.cpp +++ b/tests/aws-cpp-sdk-core-tests/aws/client/AwsConfigTest.cpp @@ -138,7 +138,7 @@ TEST_F(AWSConfigTestSuite, TestNoEnvNoConfigSetsUseRequestCompressionToTrue){ Aws::Client::ClientConfiguration config; - EXPECT_EQ(Aws::Client::UseRequestCompression::ENABLE, config.requestCompressionConfig.useRequestCompression); + EXPECT_EQ(Aws::Client::UseRequestCompression::ENABLE, Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(config.profileName).useRequestCompression); // cleanup Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); @@ -156,7 +156,7 @@ TEST_F(AWSConfigTestSuite, TestEnvToFalseAndNoConfigSetsUseRequestCompressionToF Aws::Client::ClientConfiguration config; - EXPECT_EQ(Aws::Client::UseRequestCompression::DISABLE, config.requestCompressionConfig.useRequestCompression); + EXPECT_EQ(Aws::Client::UseRequestCompression::DISABLE, Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(config.profileName).useRequestCompression); // cleanup Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); @@ -176,7 +176,7 @@ TEST_F(AWSConfigTestSuite, TestEnvToTrueAndConfigSetToFalseSetsUseRequestCompres Aws::Client::ClientConfiguration config("Dijkstra"); - EXPECT_EQ(Aws::Client::UseRequestCompression::ENABLE, config.requestCompressionConfig.useRequestCompression); + EXPECT_EQ(Aws::Client::UseRequestCompression::ENABLE, Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(config.profileName).useRequestCompression); // cleanup Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); @@ -194,7 +194,7 @@ TEST_F(AWSConfigTestSuite, TestNoEnvAndConfigSetToFalseSetsUseRequestCompression Aws::Client::ClientConfiguration config; - EXPECT_EQ(Aws::Client::UseRequestCompression::DISABLE, config.requestCompressionConfig.useRequestCompression); + EXPECT_EQ(Aws::Client::UseRequestCompression::DISABLE, Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(config.profileName).useRequestCompression); // cleanup Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); @@ -208,8 +208,8 @@ TEST_F(AWSConfigTestSuite, TestNoEnvNoConfigLeavesDualStackAndFipsDisabled){ Aws::Client::ClientConfiguration config; - EXPECT_FALSE(config.useDualStack); - EXPECT_FALSE(config.useFIPS); + EXPECT_FALSE(Aws::Client::LoadUseDualStackFromEnvOrProfile(config.profileName)); + EXPECT_FALSE(Aws::Client::LoadUseFIPSFromEnvOrProfile(config.profileName)); Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); } @@ -224,8 +224,8 @@ TEST_F(AWSConfigTestSuite, TestEnvEnablesDualStackAndFips){ Aws::Client::ClientConfiguration config; - EXPECT_TRUE(config.useDualStack); - EXPECT_TRUE(config.useFIPS); + EXPECT_TRUE(Aws::Client::LoadUseDualStackFromEnvOrProfile(config.profileName)); + EXPECT_TRUE(Aws::Client::LoadUseFIPSFromEnvOrProfile(config.profileName)); Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); } @@ -241,8 +241,8 @@ TEST_F(AWSConfigTestSuite, TestProfileEnablesDualStackAndFips){ Aws::Client::ClientConfiguration config("Dijkstra"); - EXPECT_TRUE(config.useDualStack); - EXPECT_TRUE(config.useFIPS); + EXPECT_TRUE(Aws::Client::LoadUseDualStackFromEnvOrProfile(config.profileName)); + EXPECT_TRUE(Aws::Client::LoadUseFIPSFromEnvOrProfile(config.profileName)); Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); } @@ -260,8 +260,8 @@ TEST_F(AWSConfigTestSuite, TestEnvFalseOverridesProfileTrueForDualStackAndFips){ Aws::Client::ClientConfiguration config("Dijkstra"); - EXPECT_FALSE(config.useDualStack); - EXPECT_FALSE(config.useFIPS); + EXPECT_FALSE(Aws::Client::LoadUseDualStackFromEnvOrProfile(config.profileName)); + EXPECT_FALSE(Aws::Client::LoadUseFIPSFromEnvOrProfile(config.profileName)); Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); } @@ -277,13 +277,15 @@ TEST_F(AWSConfigTestSuite, TestInvalidValueLeavesDualStackAndFipsDisabled){ Aws::Client::ClientConfiguration config; - EXPECT_FALSE(config.useDualStack); - EXPECT_FALSE(config.useFIPS); + EXPECT_FALSE(Aws::Client::LoadUseDualStackFromEnvOrProfile(config.profileName)); + EXPECT_FALSE(Aws::Client::LoadUseFIPSFromEnvOrProfile(config.profileName)); Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); } -TEST_F(AWSConfigTestSuite, TestCodeOverridesEnvForDualStackAndFips){ +TEST_F(AWSConfigTestSuite, TestCoreDoesNotApplyDualStackAndFipsFromEnv){ + // UseDualStack and UseFIPS are now set by each service's generated BuiltInParameters, only for services + // whose endpoint rules support them. Core must not apply them from the environment for every client. Aws::Environment::SetEnv("AWS_USE_DUALSTACK_ENDPOINT", "true", 1/*overwrite*/); Aws::Environment::SetEnv("AWS_USE_FIPS_ENDPOINT", "true", 1/*overwrite*/); Aws::OFStream configFileNew(m_configFileName.c_str(), Aws::OFStream::out | Aws::OFStream::trunc); @@ -292,19 +294,11 @@ TEST_F(AWSConfigTestSuite, TestCodeOverridesEnvForDualStackAndFips){ Aws::Config::ReloadCachedConfigFile(); Aws::Client::ClientConfiguration config; - config.useDualStack = false; - config.useFIPS = false; Aws::Endpoint::BuiltInParameters params; params.SetFromClientConfiguration(config); - const auto& dualStack = params.GetParameter("UseDualStack"); - const auto& fips = params.GetParameter("UseFIPS"); - bool dualStackValue = true; - bool fipsValue = true; - ASSERT_EQ(Aws::Endpoint::EndpointParameter::GetSetResult::SUCCESS, dualStack.GetBool(dualStackValue)); - ASSERT_EQ(Aws::Endpoint::EndpointParameter::GetSetResult::SUCCESS, fips.GetBool(fipsValue)); - EXPECT_FALSE(dualStackValue); - EXPECT_FALSE(fipsValue); + EXPECT_EQ("PARAMETER_NOT_SET", params.GetParameter("UseDualStack").GetName()); + EXPECT_EQ("PARAMETER_NOT_SET", params.GetParameter("UseFIPS").GetName()); Aws::FileSystem::RemoveFileIfExists(m_configFileName.c_str()); } diff --git a/tests/aws-cpp-sdk-core-tests/endpoint/SmithyClientEndpointProviderTest.cpp b/tests/aws-cpp-sdk-core-tests/endpoint/SmithyClientEndpointProviderTest.cpp index 4bfdb14bb256..f88d2300a3a7 100644 --- a/tests/aws-cpp-sdk-core-tests/endpoint/SmithyClientEndpointProviderTest.cpp +++ b/tests/aws-cpp-sdk-core-tests/endpoint/SmithyClientEndpointProviderTest.cpp @@ -21,6 +21,9 @@ namespace { }; + // Generated service configurations provide this; test configurations have no service-specific options. + Aws::Client::ServiceClientOptions GetServiceClientOptions(const TestClientConfiguration&) { return {}; } + class RecordingEndpointProvider : public Aws::Endpoint::EndpointProviderBase<> { public: diff --git a/tests/aws-cpp-sdk-core-tests/smithy/client/AsyncSmithyClientTest.cpp b/tests/aws-cpp-sdk-core-tests/smithy/client/AsyncSmithyClientTest.cpp index 6ca7f9673779..b55b0fd5c40d 100644 --- a/tests/aws-cpp-sdk-core-tests/smithy/client/AsyncSmithyClientTest.cpp +++ b/tests/aws-cpp-sdk-core-tests/smithy/client/AsyncSmithyClientTest.cpp @@ -89,8 +89,15 @@ namespace static constexpr char AsyncSmithyServiceName[] = "AsyncSmithyService"; + struct TestClientConfiguration : public Aws::Client::ClientConfiguration + { + }; + + // Generated service configurations provide this; test configurations have no service-specific options. + Aws::Client::ServiceClientOptions GetServiceClientOptions(const TestClientConfiguration&) { return {}; } + using AsyncSmithyClient = smithy::client::AwsSmithyClientT, Aws::Crt::Variant, TestEndpointProvider, @@ -114,7 +121,7 @@ namespace std::shared_ptr MakeClient(const std::shared_ptr& retryStrategy) const { - ClientConfiguration config; + TestClientConfiguration config; config.retryStrategy = retryStrategy; auto credentialsResolver = Aws::MakeShared(ALLOCATION_TAG, diff --git a/tests/aws-cpp-sdk-core-tests/utils/stream/ChunkingInterceptorTest.cpp b/tests/aws-cpp-sdk-core-tests/utils/stream/ChunkingInterceptorTest.cpp index 5173d2d85fc1..9dbccb418265 100644 --- a/tests/aws-cpp-sdk-core-tests/utils/stream/ChunkingInterceptorTest.cpp +++ b/tests/aws-cpp-sdk-core-tests/utils/stream/ChunkingInterceptorTest.cpp @@ -128,15 +128,15 @@ class CustomHttpClient : public Aws::Http::HttpClient { TEST_F(ChunkingInterceptorTest, ShouldNotApplyChunkingForCustomHttpClient) { // Simulate the GetChunkingConfig behavior from AWSClient.cpp // When IsDefaultAwsHttpClient() returns false, httpClientChunkedMode is set to CLIENT_IMPLEMENTATION - Aws::Client::ClientConfiguration config; + Aws::Client::ServiceClientOptions options; auto customHttpClient = Aws::MakeShared(CHUNKING_TEST_LOG_TAG); // This simulates the logic in GetChunkingConfig function if (!customHttpClient->IsDefaultAwsHttpClient()) { - config.httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + options.httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; } - ChunkingInterceptor interceptor(config.httpClientChunkedMode); + ChunkingInterceptor interceptor(options.httpClientChunkedMode); // Create request with checksum (would normally trigger chunking) auto request = Aws::MakeShared(CHUNKING_TEST_LOG_TAG, "test.com", Http::HttpMethod::HTTP_POST); @@ -162,8 +162,8 @@ TEST_F(ChunkingInterceptorTest, ShouldNotApplyChunkingForCustomHttpClient) { } TEST_F(ChunkingInterceptorTest, ShouldFailWhenBufferIsTooShort) { - const Aws::Client::ClientConfiguration config; - ChunkingInterceptor interceptor(config.httpClientChunkedMode, 7UL * 1024); + const Aws::Client::ServiceClientOptions options; + ChunkingInterceptor interceptor(options.httpClientChunkedMode, 7UL * 1024); // Create interceptor context with a mock request const MockRequest mockRequest; diff --git a/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp b/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp index d682e0ec1491..d5a7788a6c74 100644 --- a/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp +++ b/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp @@ -175,7 +175,7 @@ class TableOperationTest : public ::testing::Test { Aws::Http::TransferLibType transferType = Aws::Http::TransferLibType::DEFAULT_CLIENT; m_limiter = Aws::MakeShared>(ALLOCATION_TAG, 200000); // Create a client - ClientConfiguration config; + Aws::DynamoDB::DynamoDBClientConfiguration config; config.endpointOverride = ENDPOINT_OVERRIDE; config.scheme = Scheme::HTTPS; config.connectTimeoutMs = 30000; @@ -184,7 +184,6 @@ class TableOperationTest : public ::testing::Test { config.writeRateLimiter = m_limiter; config.httpLibOverride = transferType; config.executor = Aws::MakeShared(ALLOCATION_TAG, 4); - config.disableExpectHeader = true; config.enableHttpClientTrace = true; //to test proxy functionality, uncomment the next two lines. @@ -1653,7 +1652,7 @@ TEST_F(TableOperationTest, TestWriteDataApi) { TEST_F(TableOperationTest, AsyncHandlerHoldingTheLastClientReferenceCompletes) { - Aws::Client::ClientConfiguration config; + Aws::DynamoDB::DynamoDBClientConfiguration config; config.region = "us-east-1"; auto destroyed = std::make_shared>(); std::shared_ptr client(Aws::New(ALLOCATION_TAG, config), [destroyed](DynamoDBClient* toDelete) { @@ -1675,7 +1674,7 @@ TEST_F(TableOperationTest, AsyncHandlerDestroyingTheClientOwnerCompletes) std::shared_ptr client; }; - Aws::Client::ClientConfiguration config; + Aws::DynamoDB::DynamoDBClientConfiguration config; config.region = "us-east-1"; auto destroyed = std::make_shared>(); auto* session = Aws::New(ALLOCATION_TAG); diff --git a/tests/aws-cpp-sdk-dynamodb-unit-tests/CMakeLists.txt b/tests/aws-cpp-sdk-dynamodb-unit-tests/CMakeLists.txt index 5ffab84f9faa..2241f85c37c0 100644 --- a/tests/aws-cpp-sdk-dynamodb-unit-tests/CMakeLists.txt +++ b/tests/aws-cpp-sdk-dynamodb-unit-tests/CMakeLists.txt @@ -14,9 +14,9 @@ endif() enable_testing() if(PLATFORM_ANDROID AND BUILD_SHARED_LIBS) - add_library(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBUnitTests.cpp) + add_library(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBUnitTests.cpp ${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBClientConfigurationTest.cpp) else() - add_executable(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBUnitTests.cpp) + add_executable(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBUnitTests.cpp ${CMAKE_CURRENT_SOURCE_DIR}/DynamoDBClientConfigurationTest.cpp) endif() set_compiler_flags(${PROJECT_NAME}) diff --git a/tests/aws-cpp-sdk-dynamodb-unit-tests/DynamoDBClientConfigurationTest.cpp b/tests/aws-cpp-sdk-dynamodb-unit-tests/DynamoDBClientConfigurationTest.cpp new file mode 100644 index 000000000000..65b6f2e72301 --- /dev/null +++ b/tests/aws-cpp-sdk-dynamodb-unit-tests/DynamoDBClientConfigurationTest.cpp @@ -0,0 +1,141 @@ +/** + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * SPDX-License-Identifier: Apache-2.0. + */ + +/* + * Per-client configuration: a client is built only from its own service's configuration, + * that configuration has only the options its service supports, and the client has no OverrideEndpoint. + * Most checks are compile-time so that a regression fails the build. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace +{ +template +struct VoidT +{ + using type = void; +}; + +#define PCC_DEFINE_HAS_MEMBER(member) \ + template \ + struct Has_##member : std::false_type {}; \ + template \ + struct Has_##member().member)>::type> : std::true_type {}; + +PCC_DEFINE_HAS_MEMBER(useFIPS) +PCC_DEFINE_HAS_MEMBER(useDualStack) +PCC_DEFINE_HAS_MEMBER(accountId) +PCC_DEFINE_HAS_MEMBER(accountIdEndpointMode) +PCC_DEFINE_HAS_MEMBER(enableEndpointDiscovery) +PCC_DEFINE_HAS_MEMBER(enableHostPrefixInjection) +PCC_DEFINE_HAS_MEMBER(requestCompressionConfig) +PCC_DEFINE_HAS_MEMBER(checksumConfig) +PCC_DEFINE_HAS_MEMBER(disableExpectHeader) +PCC_DEFINE_HAS_MEMBER(httpClientChunkedMode) +PCC_DEFINE_HAS_MEMBER(awsChunkedBufferSize) +PCC_DEFINE_HAS_MEMBER(sigV4aSigningRegionSet) +#undef PCC_DEFINE_HAS_MEMBER + +template +struct HasOverrideEndpoint : std::false_type {}; +template +struct HasOverrideEndpoint().OverrideEndpoint(std::declval()))>::type> + : std::true_type {}; + +using Aws::Client::ClientConfiguration; +using Aws::DynamoDB::DynamoDBClient; +using Aws::DynamoDB::DynamoDBClientConfiguration; + +// The shared configuration has none of the service-specific options. +static_assert(!Has_useFIPS::value, "ClientConfiguration must not have useFIPS"); +static_assert(!Has_useDualStack::value, "ClientConfiguration must not have useDualStack"); +static_assert(!Has_accountId::value, "ClientConfiguration must not have accountId"); +static_assert(!Has_enableEndpointDiscovery::value, "ClientConfiguration must not have enableEndpointDiscovery"); +static_assert(!Has_checksumConfig::value, "ClientConfiguration must not have checksumConfig"); +static_assert(!Has_requestCompressionConfig::value, "ClientConfiguration must not have requestCompressionConfig"); +static_assert(!Has_disableExpectHeader::value, "ClientConfiguration must not have disableExpectHeader"); +static_assert(!Has_sigV4aSigningRegionSet::value, "ClientConfiguration must not have sigV4aSigningRegionSet"); + +// DynamoDB's endpoint rules declare UseFIPS, UseDualStack, AccountId and AccountIdEndpointMode, +// and its model has the endpoint discovery trait. +static_assert(Has_useFIPS::value, "DynamoDB supports FIPS"); +static_assert(Has_useDualStack::value, "DynamoDB supports dual-stack"); +static_assert(Has_accountId::value, "DynamoDB supports account ID endpoints"); +static_assert(Has_accountIdEndpointMode::value, "DynamoDB supports account ID endpoint mode"); +static_assert(Has_enableEndpointDiscovery::value, "DynamoDB supports endpoint discovery"); + +// DynamoDB has no host prefixes, compressible operations, flexible checksums, streaming inputs or SigV4a auth. +static_assert(!Has_enableHostPrefixInjection::value, "DynamoDB has no host prefix operations"); +static_assert(!Has_requestCompressionConfig::value, "DynamoDB has no compressible operations"); +static_assert(!Has_checksumConfig::value, "DynamoDB has no flexible checksums"); +static_assert(!Has_disableExpectHeader::value, "DynamoDB has no streaming inputs"); +static_assert(!Has_httpClientChunkedMode::value, "DynamoDB has no streaming inputs"); +static_assert(!Has_awsChunkedBufferSize::value, "DynamoDB has no streaming inputs"); +static_assert(!Has_sigV4aSigningRegionSet::value, "DynamoDB has no SigV4a auth"); + +// A client is built only from its own service's configuration. +static_assert(std::is_constructible::value, + "DynamoDBClient must be constructible from DynamoDBClientConfiguration"); +static_assert(!std::is_constructible::value, + "DynamoDBClient must not be constructible from the shared ClientConfiguration"); +static_assert(!std::is_convertible::value, + "The shared ClientConfiguration must not convert to DynamoDBClientConfiguration"); + +// The client's own method for changing its endpoint is gone; set endpointOverride on the configuration instead. +static_assert(!HasOverrideEndpoint::value, "DynamoDBClient must not have OverrideEndpoint"); + +class DynamoDBClientConfigurationTest : public testing::Test +{ +protected: + static void SetUpTestSuite() { Aws::InitAPI(options_); } + static void TearDownTestSuite() { Aws::ShutdownAPI(options_); } + + static Aws::SDKOptions options_; +}; + +Aws::SDKOptions DynamoDBClientConfigurationTest::options_; + +Aws::Client::ClientConfigurationInitValues NoImds() +{ + Aws::Client::ClientConfigurationInitValues values; + values.shouldDisableIMDS = true; + return values; +} +} // namespace + +TEST_F(DynamoDBClientConfigurationTest, LoadsSupportedOptionsFromEnvironment) +{ + Aws::Environment::EnvironmentRAII env{{{"AWS_USE_FIPS_ENDPOINT", "true"}, + {"AWS_USE_DUALSTACK_ENDPOINT", "true"}, + {"AWS_ACCOUNT_ID_ENDPOINT_MODE", "disabled"}}}; + + const DynamoDBClientConfiguration config(NoImds()); + + EXPECT_TRUE(config.useFIPS); + EXPECT_TRUE(config.useDualStack); + EXPECT_EQ("disabled", config.accountIdEndpointMode); +} + +TEST_F(DynamoDBClientConfigurationTest, SupportedOptionsDefaultWhenUnset) +{ + Aws::Environment::EnvironmentRAII env{{{"AWS_USE_FIPS_ENDPOINT", ""}, + {"AWS_USE_DUALSTACK_ENDPOINT", ""}, + {"AWS_ACCOUNT_ID_ENDPOINT_MODE", ""}}}; + + const DynamoDBClientConfiguration config(NoImds()); + + EXPECT_FALSE(config.useFIPS); + EXPECT_FALSE(config.useDualStack); + EXPECT_EQ("preferred", config.accountIdEndpointMode); +} diff --git a/tests/aws-cpp-sdk-ec2-integration-tests/EC2Tests.cpp b/tests/aws-cpp-sdk-ec2-integration-tests/EC2Tests.cpp index d200b0c4505b..3ddb22a46990 100644 --- a/tests/aws-cpp-sdk-ec2-integration-tests/EC2Tests.cpp +++ b/tests/aws-cpp-sdk-ec2-integration-tests/EC2Tests.cpp @@ -63,11 +63,11 @@ class EC2OperationTest : public ::testing::Test static void SetUpTestCase() { - ClientConfiguration config; + Aws::EC2::EC2ClientConfiguration config; config.scheme = Scheme::HTTPS; config.region = AWS_TEST_REGION; - m_EC2Client = Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG), config); + m_EC2Client = Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG), nullptr, config); DeleteSecurityGroup(BuildResourceName(BASE_SECURITY_GROUP_NAME)); } diff --git a/tests/aws-cpp-sdk-ec2-integration-tests/EC2TestsDualStack.cpp b/tests/aws-cpp-sdk-ec2-integration-tests/EC2TestsDualStack.cpp index 84c225d71850..25645e77b32a 100644 --- a/tests/aws-cpp-sdk-ec2-integration-tests/EC2TestsDualStack.cpp +++ b/tests/aws-cpp-sdk-ec2-integration-tests/EC2TestsDualStack.cpp @@ -45,13 +45,13 @@ TEST_F(EC2DualStackTests, TestDualStackMocked) Aws::Client::ClientConfigurationInitValues initValues; initValues.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration clientConfig(initValues); + Aws::EC2::EC2ClientConfiguration clientConfig(initValues); clientConfig.region = "us-east-1"; clientConfig.useDualStack = true; Aws::Auth::AWSCredentials mockCreds("accessKey", "secretKey", "sessionToken"); - Aws::EC2::EC2Client ec2Client(mockCreds, clientConfig); + Aws::EC2::EC2Client ec2Client(mockCreds, nullptr, clientConfig); Aws::EC2::Model::DescribeHostsRequest request; Aws::EC2::Model::DescribeHostsOutcome response = ec2Client.DescribeHosts(request); @@ -74,7 +74,7 @@ TEST_F(EC2DualStackTests, TestDualStackEndpoint) { Aws::Client::ClientConfigurationInitValues initValues; initValues.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration clientConfig(initValues); + Aws::EC2::EC2ClientConfiguration clientConfig(initValues); clientConfig.region = "us-east-1"; clientConfig.useDualStack = true; diff --git a/tests/aws-cpp-sdk-elasticfilesystem-integration-tests/ElasticFileSystemTest.cpp b/tests/aws-cpp-sdk-elasticfilesystem-integration-tests/ElasticFileSystemTest.cpp index 101834bde9f4..f889474b1006 100644 --- a/tests/aws-cpp-sdk-elasticfilesystem-integration-tests/ElasticFileSystemTest.cpp +++ b/tests/aws-cpp-sdk-elasticfilesystem-integration-tests/ElasticFileSystemTest.cpp @@ -38,7 +38,7 @@ namespace ElasticFileSystemTest() { // Create a client - ClientConfiguration config; + Aws::EFS::EFSClientConfiguration config; config.region = AWS_TEST_REGION; config.scheme = Scheme::HTTPS; config.connectTimeoutMs = 30000; diff --git a/tests/aws-cpp-sdk-eventbridge-tests/AwsSdkMisuseTests.cpp b/tests/aws-cpp-sdk-eventbridge-tests/AwsSdkMisuseTests.cpp index baa9ba7e4f03..cf58d4bb772a 100644 --- a/tests/aws-cpp-sdk-eventbridge-tests/AwsSdkMisuseTests.cpp +++ b/tests/aws-cpp-sdk-eventbridge-tests/AwsSdkMisuseTests.cpp @@ -117,11 +117,11 @@ TEST_F(AwsSdkMisuseTest, MissingCurlyBracesTest) // However, it looks weird and some IDEs suggest to remove them // The purpose of this test is to intentionally violate recommended use // { - Aws::Client::ClientConfiguration clientConfig; + Aws::EventBridge::EventBridgeClientConfiguration clientConfig; clientConfig.region = "us-east-1"; Aws::Auth::AWSCredentials mockCreds("accessKey", "secretKey", "sessionToken"); - Aws::EventBridge::EventBridgeClient eventBridgeClient(mockCreds, clientConfig); + Aws::EventBridge::EventBridgeClient eventBridgeClient(mockCreds, nullptr, clientConfig); Aws::EventBridge::Model::PutEventsRequest request = buildEventBridgeRequest(); const Aws::String eventIdToReply = "baadf00d-1234-5678-910a-baadf00dcafe"; diff --git a/tests/aws-cpp-sdk-eventbridge-tests/EventBridgeTests.cpp b/tests/aws-cpp-sdk-eventbridge-tests/EventBridgeTests.cpp index b07981f96e7b..e80883eb42f4 100644 --- a/tests/aws-cpp-sdk-eventbridge-tests/EventBridgeTests.cpp +++ b/tests/aws-cpp-sdk-eventbridge-tests/EventBridgeTests.cpp @@ -126,11 +126,11 @@ static void assertProtocolHeaders(const Aws::Http::Standard::StandardHttpRequest TEST_F(EventBridgeTests, TestPutEventsBasic) { - Aws::Client::ClientConfiguration clientConfig("default", true); + Aws::EventBridge::EventBridgeClientConfiguration clientConfig("default", true); clientConfig.region = "us-east-1"; Aws::Auth::AWSCredentials mockCreds("accessKey", "secretKey", "sessionToken"); - Aws::EventBridge::EventBridgeClient eventBridgeClient(mockCreds, clientConfig); + Aws::EventBridge::EventBridgeClient eventBridgeClient(mockCreds, nullptr, clientConfig); Aws::EventBridge::Model::PutEventsRequest request = buildEventBridgeRequest(); const Aws::String eventIdToReply = "baadf00d-1234-5678-910a-baadf00dcafe"; @@ -153,11 +153,11 @@ TEST_F(EventBridgeTests, TestPutEventsBasic) TEST_F(EventBridgeTests, TestPutEventsMultiRegional) { - Aws::Client::ClientConfiguration clientConfig("default", true); + Aws::EventBridge::EventBridgeClientConfiguration clientConfig("default", true); clientConfig.region = "us-east-1"; Aws::Auth::AWSCredentials mockCreds("accessKey", "secretKey", "sessionToken"); - Aws::EventBridge::EventBridgeClient eventBridgeClient(mockCreds, clientConfig); + Aws::EventBridge::EventBridgeClient eventBridgeClient(mockCreds, nullptr, clientConfig); Aws::EventBridge::Model::PutEventsRequest request = buildEventBridgeRequest(); const Aws::String eventIdToReply = "baadf00d-1234-5678-910a-baadf00dcafe"; @@ -221,13 +221,13 @@ TEST_F(EventBridgeTests, TestPutEventsEndpointTests) for(size_t tcIdx = 0; tcIdx < TEST_CASES.size(); ++tcIdx) { const EventBridgeEndpointTestCase& testCase = TEST_CASES[tcIdx]; - Aws::Client::ClientConfiguration clientConfig("default", true); + Aws::EventBridge::EventBridgeClientConfiguration clientConfig("default", true); clientConfig.region = testCase.clientRegion; clientConfig.useDualStack = testCase.useDualStackEndpoint; clientConfig.useFIPS = testCase.useFipsEndpoint; Aws::Auth::AWSCredentials mockCreds("accessKey", "secretKey", "sessionToken"); - Aws::EventBridge::EventBridgeClient eventBridgeClient(mockCreds, clientConfig); + Aws::EventBridge::EventBridgeClient eventBridgeClient(mockCreds, nullptr, clientConfig); Aws::EventBridge::Model::PutEventsRequest request = buildEventBridgeRequest(); const Aws::String eventIdToReply = "baadf00d-1234-5678-910a-baadf00dcafe"; diff --git a/tests/aws-cpp-sdk-identity-management-tests/auth/CognitoCachingCredentialsProviderTest.cpp b/tests/aws-cpp-sdk-identity-management-tests/auth/CognitoCachingCredentialsProviderTest.cpp index a84a1795ffd2..a0c0d8c1fb46 100644 --- a/tests/aws-cpp-sdk-identity-management-tests/auth/CognitoCachingCredentialsProviderTest.cpp +++ b/tests/aws-cpp-sdk-identity-management-tests/auth/CognitoCachingCredentialsProviderTest.cpp @@ -107,7 +107,7 @@ namespace void SetUp() { // Create a client - ClientConfiguration config; + Aws::CognitoIdentity::CognitoIdentityClientConfiguration config; config.scheme = Scheme::HTTP; config.connectTimeoutMs = 30000; config.requestTimeoutMs = 30000; @@ -118,7 +118,7 @@ namespace SetHttpClientFactory(mockHttpClientFactory); cognitoIdentityClient = Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG, "", ""), - config); + nullptr, config); mockIdentityRepository = Aws::MakeShared(ALLOCATION_TAG); mockIdentityRepository->SetIdentityPoolId("TestIdentityPool"); mockIdentityRepository->SetAccountId("598156584"); diff --git a/tests/aws-cpp-sdk-kinesis-integration-tests/KinesisTests.cpp b/tests/aws-cpp-sdk-kinesis-integration-tests/KinesisTests.cpp index 570d17bb64e4..3a6a9e866e67 100644 --- a/tests/aws-cpp-sdk-kinesis-integration-tests/KinesisTests.cpp +++ b/tests/aws-cpp-sdk-kinesis-integration-tests/KinesisTests.cpp @@ -45,7 +45,7 @@ class KinesisTest : public ::testing::Test // Create client m_UUID = Aws::Utils::UUID::RandomUUID(); streamName = BuildResourceName("stream"); - Client::ClientConfiguration config; + Aws::Kinesis::KinesisClientConfiguration config; config.region = AWS_TEST_REGION; config.requestTimeoutMs = 10000; m_client.reset(Aws::New(ALLOC_TAG, config)); diff --git a/tests/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp b/tests/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp index b5172a042715..483e6cbe1b1e 100644 --- a/tests/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp +++ b/tests/aws-cpp-sdk-lambda-integration-tests/FunctionTest.cpp @@ -123,12 +123,12 @@ class FunctionTest : public ::testing::Test { config.writeRateLimiter = m_limiter; //to test proxy functionality, uncomment the next two lines. - m_client = Aws::MakeShared(ALLOCATION_TAG, config); - m_kinesis_client = Aws::MakeShared(ALLOCATION_TAG, config); + m_client = Aws::MakeShared(ALLOCATION_TAG, Aws::Lambda::LambdaClientConfiguration(config)); + m_kinesis_client = Aws::MakeShared(ALLOCATION_TAG, Aws::Kinesis::KinesisClientConfiguration(config)); //Create our IAM Role, so that the Lambda tests have the right policies. m_role = Aws::MakeShared(ALLOCATION_TAG); - ClientConfiguration clientConfig; + Aws::IAM::IAMClientConfiguration clientConfig; clientConfig.region = Aws::Region::US_EAST_1; m_iamClient = Aws::MakeShared(ALLOCATION_TAG, clientConfig); auto cognitoClient = Aws::MakeShared(ALLOCATION_TAG); diff --git a/tests/aws-cpp-sdk-logs-integration-tests/CloudWatchLogsTests.cpp b/tests/aws-cpp-sdk-logs-integration-tests/CloudWatchLogsTests.cpp index f3c14795270e..b4afb26c3e63 100644 --- a/tests/aws-cpp-sdk-logs-integration-tests/CloudWatchLogsTests.cpp +++ b/tests/aws-cpp-sdk-logs-integration-tests/CloudWatchLogsTests.cpp @@ -59,15 +59,15 @@ namespace ClientConfiguration config; config.scheme = Scheme::HTTPS; config.region = AWS_TEST_REGION; - CloudWatchLogsClient tmpClient(config); // test copy c-tor + CloudWatchLogsClient tmpClient{Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration(config)}; // test copy c-tor m_client = Aws::MakeUnique(ALLOCATION_TAG, tmpClient); CreateLogsGroup(BuildResourceName(BASE_CLOUD_WATCH_LOGS_GROUP)); auto accountId = Aws::Environment::GetEnv("CATAPULT_TEST_ACCOUNT"); if(accountId.empty()) { config.region = Aws::Region::US_EAST_1; - auto iamClient = Aws::MakeShared(ALLOCATION_TAG, config); - auto cognitoClient = Aws::MakeShared(ALLOCATION_TAG, config); + auto iamClient = Aws::MakeShared(ALLOCATION_TAG, Aws::IAM::IAMClientConfiguration(config)); + auto cognitoClient = Aws::MakeShared(ALLOCATION_TAG, Aws::CognitoIdentity::CognitoIdentityClientConfiguration(config)); Aws::AccessManagement::AccessManagementClient accessManagementClient(iamClient, cognitoClient); accountId = accessManagementClient.GetAccountId(); assert(!accountId.empty()); // AccountId must be set for this test diff --git a/tests/aws-cpp-sdk-logs-unit-tests/CloudWatchLogsUnitTests.cpp b/tests/aws-cpp-sdk-logs-unit-tests/CloudWatchLogsUnitTests.cpp index 01b27ec6db99..55c2aa9f92f0 100644 --- a/tests/aws-cpp-sdk-logs-unit-tests/CloudWatchLogsUnitTests.cpp +++ b/tests/aws-cpp-sdk-logs-unit-tests/CloudWatchLogsUnitTests.cpp @@ -63,10 +63,10 @@ class ClientHolder { CloudWatchLogsClient makeClient() { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration clientConfig(cfgInit); + Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration clientConfig(cfgInit); clientConfig.region = Aws::Region::US_EAST_1; AWSCredentials credentials{"mock", "credentials"}; - return CloudWatchLogsClient(credentials, clientConfig); + return CloudWatchLogsClient(credentials, nullptr, clientConfig); } CloudWatchLogsClient client; @@ -124,7 +124,7 @@ TEST_F(CloudWatchLogsTest, ClientOperatorCopyMoveEquals) { { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration clientConfig(cfgInit); + Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration clientConfig(cfgInit); CloudWatchLogsClient copyAssigned(clientConfig); mockResponse(); @@ -144,7 +144,7 @@ TEST_F(CloudWatchLogsTest, ClientOperatorCopyMoveEquals) { { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration clientConfig(cfgInit); + Aws::CloudWatchLogs::CloudWatchLogsClientConfiguration clientConfig(cfgInit); CloudWatchLogsClient moveAssigned(clientConfig); mockResponse(); diff --git a/tests/aws-cpp-sdk-mediastore-data-integration-tests/MediaStoreDataTest.cpp b/tests/aws-cpp-sdk-mediastore-data-integration-tests/MediaStoreDataTest.cpp index 703a513028c3..b3d329665a33 100644 --- a/tests/aws-cpp-sdk-mediastore-data-integration-tests/MediaStoreDataTest.cpp +++ b/tests/aws-cpp-sdk-mediastore-data-integration-tests/MediaStoreDataTest.cpp @@ -73,7 +73,7 @@ namespace mediaStoreConfig.scheme = Scheme::HTTPS; mediaStoreConfig.connectTimeoutMs = 30000; mediaStoreConfig.requestTimeoutMs = 30000; - m_mediaStoreClient = Aws::MakeShared(ALLOCATION_TAG, mediaStoreConfig); + m_mediaStoreClient = Aws::MakeShared(ALLOCATION_TAG, Aws::MediaStore::MediaStoreClientConfiguration(mediaStoreConfig)); // Create a testing container. DescribeContainerRequest describeContainerRequest; @@ -95,7 +95,7 @@ namespace m_mediaStoreDataConfig->requestTimeoutMs = 30000; describeContainerOutcome = m_mediaStoreClient->DescribeContainer(describeContainerRequest); m_mediaStoreDataConfig->endpointOverride = describeContainerOutcome.GetResult().GetContainer().GetEndpoint(); - m_mediaStoreDataClient = Aws::MakeShared(ALLOCATION_TAG, *m_mediaStoreDataConfig); + m_mediaStoreDataClient = Aws::MakeShared(ALLOCATION_TAG, Aws::MediaStoreData::MediaStoreDataClientConfiguration(*m_mediaStoreDataConfig)); } static void TearDownTestCase() @@ -337,7 +337,7 @@ namespace #ifdef _MSC_VER // Test wininet http client. m_mediaStoreDataConfig->httpLibOverride = TransferLibType::WIN_INET_CLIENT; - m_mediaStoreDataClient = Aws::MakeShared(ALLOCATION_TAG, *m_mediaStoreDataConfig); + m_mediaStoreDataClient = Aws::MakeShared(ALLOCATION_TAG, Aws::MediaStoreData::MediaStoreDataClientConfiguration(*m_mediaStoreDataConfig)); TestChunkedEncodingWithSmallPayload(); #endif // _MSC_VER } @@ -348,7 +348,7 @@ namespace #ifdef _MSC_VER // Test wininet http client. m_mediaStoreDataConfig->httpLibOverride = TransferLibType::WIN_INET_CLIENT; - m_mediaStoreDataClient = Aws::MakeShared(ALLOCATION_TAG, *m_mediaStoreDataConfig); + m_mediaStoreDataClient = Aws::MakeShared(ALLOCATION_TAG, Aws::MediaStoreData::MediaStoreDataClientConfiguration(*m_mediaStoreDataConfig)); TestChunkedEncodingWithLargePayload(); #endif // _MSC_VER } diff --git a/tests/aws-cpp-sdk-monitoring-integration-tests/CloudWatchMonitoringTests.cpp b/tests/aws-cpp-sdk-monitoring-integration-tests/CloudWatchMonitoringTests.cpp index 41ab2fcaf1f9..9d0a57fd6493 100644 --- a/tests/aws-cpp-sdk-monitoring-integration-tests/CloudWatchMonitoringTests.cpp +++ b/tests/aws-cpp-sdk-monitoring-integration-tests/CloudWatchMonitoringTests.cpp @@ -39,7 +39,7 @@ class CloudWatchMonitoringOperationTest : public ::testing::Test { void SetUp() { m_UUID = Aws::Utils::UUID::RandomUUID(); - ClientConfiguration config; + Aws::CloudWatch::CloudWatchClientConfiguration config; config.scheme = Scheme::HTTPS; config.region = AWS_TEST_REGION; m_client = Aws::MakeUnique( diff --git a/tests/aws-cpp-sdk-monitoring-unit-tests/CloudWatchUnitTest.cpp b/tests/aws-cpp-sdk-monitoring-unit-tests/CloudWatchUnitTest.cpp index b777912a82d4..c1326dc07e4b 100644 --- a/tests/aws-cpp-sdk-monitoring-unit-tests/CloudWatchUnitTest.cpp +++ b/tests/aws-cpp-sdk-monitoring-unit-tests/CloudWatchUnitTest.cpp @@ -61,13 +61,13 @@ TEST_F(CloudWatchTest, TestUserAgentCompressionTracking) { // Create client with compression enabled Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration clientConfig(cfgInit); + Aws::CloudWatch::CloudWatchClientConfiguration clientConfig(cfgInit); clientConfig.region = Aws::Region::US_EAST_1; clientConfig.requestCompressionConfig.useRequestCompression = UseRequestCompression::ENABLE; clientConfig.requestCompressionConfig.requestMinCompressionSizeBytes = 10240; AWSCredentials credentials{"mock", "credentials"}; - CloudWatchClient client(credentials, clientConfig); + CloudWatchClient client(credentials, nullptr, clientConfig); // Create request with large payload to trigger compression PutMetricDataRequest request; diff --git a/tests/aws-cpp-sdk-rds-integration-tests/RDSTest.cpp b/tests/aws-cpp-sdk-rds-integration-tests/RDSTest.cpp index fc9134c0280d..d784cde7b6e5 100644 --- a/tests/aws-cpp-sdk-rds-integration-tests/RDSTest.cpp +++ b/tests/aws-cpp-sdk-rds-integration-tests/RDSTest.cpp @@ -80,7 +80,7 @@ namespace RDSTest() { - ClientConfiguration config; + Aws::RDS::RDSClientConfiguration config; config.region = Aws::Region::US_WEST_2; config.scheme = Scheme::HTTPS; m_rdsClient = RDSClient(config); diff --git a/tests/aws-cpp-sdk-s3-encryption-integration-tests/LiveClientTests.cpp b/tests/aws-cpp-sdk-s3-encryption-integration-tests/LiveClientTests.cpp index 6dff87c41783..c0c499eda596 100644 --- a/tests/aws-cpp-sdk-s3-encryption-integration-tests/LiveClientTests.cpp +++ b/tests/aws-cpp-sdk-s3-encryption-integration-tests/LiveClientTests.cpp @@ -74,7 +74,7 @@ class LiveClientTest : public ::testing::Test { TimeStamp = DateTime::Now().CalculateLocalTimestampAsString("%Y%m%dt%H%M%Sz").c_str(); - ClientConfiguration config; + Aws::S3::S3ClientConfiguration config; config.region = AWS_TEST_REGION; StandardClient = Aws::MakeShared(ALLOCATION_TAG, config); BucketName = ComputeUniqueBucketName(ENCRYPTED_BUCKET_TEST_NAME).c_str(); @@ -129,7 +129,7 @@ TEST_F(LiveClientTest, TestEOMode) configuration.SetCryptoMode(CryptoMode::ENCRYPTION_ONLY); configuration.SetStorageMethod(StorageMethod::METADATA); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -206,7 +206,7 @@ TEST_F(LiveClientTest, TestEOMode) TEST_F(LiveClientTest, TestEncryptionContextEmpty) { - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -246,7 +246,7 @@ TEST_F(LiveClientTest, TestV2EncryptionContextEmptyKms) auto materials = std::make_shared(KMS_KEY); CryptoConfigurationV2 configuration(materials); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; static const char* objectKey = "TestEncryptionContextKms"; @@ -282,7 +282,7 @@ TEST_F(LiveClientTest, TestV2EncryptionContextFullKms) auto materials = std::make_shared(KMS_KEY); CryptoConfigurationV2 configuration(materials); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; static const char* objectKey = "TestEncryptionContextKms"; @@ -349,7 +349,7 @@ TEST_F(LiveClientTest, TestWriteV2ReadV3) auto materials = Aws::MakeShared(ALLOCATION_TAG, key); CryptoConfigurationV2 v2_configuration(materials); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; static const char* objectKey = "TestWriteV2ReadV3"; @@ -415,7 +415,7 @@ TEST_F(LiveClientTest, TestWriteV1ReadV3) configuration.SetCryptoMode(CryptoMode::ENCRYPTION_ONLY); configuration.SetStorageMethod(StorageMethod::METADATA); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -468,7 +468,7 @@ TEST_F(LiveClientTest, TestWriteV3ReadV2) CryptoConfigurationV3 v3_configuration(materials); v3_configuration.SetCommitmentPolicy(CommitmentPolicy::FORBID_ENCRYPT_ALLOW_DECRYPT); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; static const char* objectKey = "TestWriteV2ReadV3"; @@ -512,7 +512,7 @@ TEST_F(LiveClientTest, TestWriteV3ReadV3) CryptoConfigurationV3 v3_configuration(materials); v3_configuration.SetCommitmentPolicy(CommitmentPolicy::REQUIRE_ENCRYPT_ALLOW_DECRYPT); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; static const char* objectKey = "TestWriteV3ReadV3"; @@ -572,7 +572,7 @@ TEST_F(LiveClientTest, TestWriteV2Instruction) CryptoConfigurationV2 configuration(materials); configuration.SetStorageMethod(StorageMethod::INSTRUCTION_FILE); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; static const char* objectKey = "TestWriteV2Instruction"; @@ -637,7 +637,7 @@ TEST_F(LiveClientTest, TestWriteV3Instruction) CryptoConfigurationV3 configuration(materials); configuration.SetStorageMethod(StorageMethod::INSTRUCTION_FILE); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; static const char* objectKey = "TestWriteV3Instruction"; @@ -717,7 +717,7 @@ TEST_F(LiveClientTest, TestAEMode) configuration.SetCryptoMode(CryptoMode::AUTHENTICATED_ENCRYPTION); configuration.SetStorageMethod(StorageMethod::METADATA); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -804,7 +804,7 @@ TEST_F(LiveClientTest, TestAEModeRangeGet) configuration.SetCryptoMode(CryptoMode::AUTHENTICATED_ENCRYPTION); configuration.SetStorageMethod(StorageMethod::METADATA); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -897,7 +897,7 @@ TEST_F(LiveClientTest, TestGcmModeRangeGet) auto materials = Aws::MakeShared(ALLOCATION_TAG, key); CryptoConfigurationV3 configuration(materials); - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; static const char* objectKey = "TestAERangeGetKey"; @@ -968,7 +968,7 @@ TEST_F(LiveClientTest, TestGcmModeRangeGet) TEST_F(LiveClientTest, TestS3EncryptionError) { - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto kmsMaterials = Aws::MakeShared("s3Encryption", "badKey"); @@ -1002,7 +1002,7 @@ TEST_F(LiveClientTest, TestS3EncryptionError) TEST_F(LiveClientTest, TestV2AEMode) { - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -1100,7 +1100,7 @@ TEST_F(LiveClientTest, TestV2AEMode) TEST_F(LiveClientTest, TestV2AEModeRangeGetPass) { - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -1185,7 +1185,7 @@ TEST_F(LiveClientTest, TestV2AEModeRangeGetPass) TEST_F(LiveClientTest, TestV2AEModeRangeGetFailWithoutSetting) { - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -1223,7 +1223,7 @@ TEST_F(LiveClientTest, TestV2AEModeRangeGetFailWithoutSetting) TEST_F(LiveClientTest, TestV2AEModeRangeGetPassWithRangeUpperBoundOverflow) { - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto key = SymmetricCipher::GenerateKey(); @@ -1308,7 +1308,7 @@ TEST_F(LiveClientTest, TestV2AEModeRangeGetPassWithRangeUpperBoundOverflow) TEST_F(LiveClientTest, TestV2S3EncryptionError) { - ClientConfiguration s3ClientConfig; + Aws::S3::S3ClientConfiguration s3ClientConfig; s3ClientConfig.region = AWS_TEST_REGION; auto kmsMaterials = Aws::MakeShared("s3Encryption", "badKey"); diff --git a/tests/aws-cpp-sdk-s3-encryption-tests/CryptoModulesTest.cpp b/tests/aws-cpp-sdk-s3-encryption-tests/CryptoModulesTest.cpp index eae82399670d..1847002b6d56 100644 --- a/tests/aws-cpp-sdk-s3-encryption-tests/CryptoModulesTest.cpp +++ b/tests/aws-cpp-sdk-s3-encryption-tests/CryptoModulesTest.cpp @@ -75,8 +75,8 @@ namespace class MockKMSClient : public KMSClient { public: - MockKMSClient(ClientConfiguration clientConfiguration = ClientConfiguration()) : - KMSClient(Aws::Auth::AWSCredentials("", ""), clientConfiguration), m_encryptCalledCount(0), m_genDataKeyCalledCount(0), m_decryptCalledCount(0), + MockKMSClient(Aws::KMS::KMSClientConfiguration clientConfiguration = Aws::KMS::KMSClientConfiguration()) : + KMSClient(Aws::Auth::AWSCredentials("", ""), nullptr, clientConfiguration), m_encryptCalledCount(0), m_genDataKeyCalledCount(0), m_decryptCalledCount(0), m_encryptedKey(Aws::Utils::Crypto::SymmetricCipher::GenerateKey()), m_decryptedKey(Aws::Utils::Crypto::SymmetricCipher::GenerateKey()), m_triggerDecryptFailure(false), m_triggerCorruptedDecryption(false) { @@ -170,7 +170,7 @@ namespace class MockS3Client : public Aws::S3::S3Client { public: - MockS3Client(Aws::Client::ClientConfiguration clientConfiguration = Aws::Client::ClientConfiguration()) : + MockS3Client(Aws::S3::S3ClientConfiguration clientConfiguration = Aws::S3::S3ClientConfiguration()) : S3Client(Aws::Auth::AWSCredentials("", ""), Aws::MakeShared(ALLOCATION_TAG), clientConfiguration), m_putObjectCalled(0), m_getObjectCalled(0), m_body(nullptr) @@ -673,7 +673,7 @@ namespace TEST_F(CryptoModulesTest, EncryptionOnlyOperationsTestWithKMSWithContextEncryptionMaterials) { - auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::KMS::KMSClientConfiguration()); KMSWithContextEncryptionMaterials materials(TEST_CMK_ID, kmsClient); CryptoConfiguration cryptoConfig(StorageMethod::METADATA, CryptoMode::ENCRYPTION_ONLY); @@ -742,7 +742,7 @@ namespace TEST_F(CryptoModulesTest, EncryptionOnlyOperationsTestWithKMSEncryptionMaterials) { - auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::KMS::KMSClientConfiguration()); KMSEncryptionMaterials materials(TEST_CMK_ID, kmsClient); CryptoConfiguration cryptoConfig(StorageMethod::METADATA, CryptoMode::ENCRYPTION_ONLY); @@ -812,7 +812,7 @@ namespace TEST_F(CryptoModulesTest, AuthenticatedEncryptionOperationsTestWithKMSEncryptionMaterials) { - auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::KMS::KMSClientConfiguration()); KMSEncryptionMaterials materials(TEST_CMK_ID, kmsClient); CryptoConfiguration cryptoConfig(StorageMethod::METADATA, CryptoMode::AUTHENTICATED_ENCRYPTION); @@ -880,7 +880,7 @@ namespace TEST_F(CryptoModulesTest, AuthenticatedEncryptionOperationsTestWithKMSWithContextEncryptionMaterials) { - auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::KMS::KMSClientConfiguration()); KMSWithContextEncryptionMaterials materials(TEST_CMK_ID, kmsClient); CryptoConfiguration cryptoConfig(StorageMethod::METADATA, CryptoMode::AUTHENTICATED_ENCRYPTION); @@ -947,7 +947,7 @@ namespace TEST_F(CryptoModulesTest, AuthenticatedEncryptionOperationsTestWithKMSWithContextEncryptionMaterialsWithFailedKMSDecryption) { - auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::KMS::KMSClientConfiguration()); kmsClient->m_triggerDecryptFailure = true; KMSWithContextEncryptionMaterials materials(TEST_CMK_ID, kmsClient); CryptoConfiguration cryptoConfig(StorageMethod::METADATA, CryptoMode::AUTHENTICATED_ENCRYPTION); @@ -1010,7 +1010,7 @@ namespace TEST_F(CryptoModulesTest, AuthenticatedEncryptionOperationsTestWithKMSWithContextEncryptionMaterialsWithCorruptedKMSDecryption) { - auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::KMS::KMSClientConfiguration()); kmsClient->m_triggerCorruptedDecryption = true; KMSWithContextEncryptionMaterials materials(TEST_CMK_ID, kmsClient); CryptoConfiguration cryptoConfig(StorageMethod::METADATA, CryptoMode::AUTHENTICATED_ENCRYPTION); @@ -1141,7 +1141,7 @@ namespace TEST_F(CryptoModulesTest, StrictAuthenticatedEncryptionOperationsTestWithKMSWithContextEncryptionMaterials) { - auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto kmsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::KMS::KMSClientConfiguration()); KMSWithContextEncryptionMaterials materials(TEST_CMK_ID, kmsClient); CryptoConfiguration cryptoConfig(StorageMethod::METADATA, CryptoMode::STRICT_AUTHENTICATED_ENCRYPTION); diff --git a/tests/aws-cpp-sdk-s3-encryption-tests/DataHandlersTest.cpp b/tests/aws-cpp-sdk-s3-encryption-tests/DataHandlersTest.cpp index e156eabb71c3..59019e665e3b 100644 --- a/tests/aws-cpp-sdk-s3-encryption-tests/DataHandlersTest.cpp +++ b/tests/aws-cpp-sdk-s3-encryption-tests/DataHandlersTest.cpp @@ -32,7 +32,7 @@ static size_t IV_SIZE = 12; class MockS3Client : public Aws::S3::S3Client { public: - MockS3Client(Aws::Client::ClientConfiguration clientConfiguration = Aws::Client::ClientConfiguration()) : + MockS3Client(Aws::S3::S3ClientConfiguration clientConfiguration = Aws::S3::S3ClientConfiguration()) : S3Client(Aws::Auth::AWSCredentials("", ""), Aws::MakeShared(Aws::S3::S3Client::GetAllocationTag()), clientConfiguration), m_putObjectCalled(0), m_getObjectCalled(0), m_headObjectCalled(0), m_body(nullptr) @@ -242,7 +242,7 @@ namespace // uses the metadata to populate a get object result. TEST_F(HandlerTest, MetadataS3OperationsTest) { - auto myClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto myClient = Aws::MakeShared(ALLOCATION_TAG, Aws::S3::S3ClientConfiguration()); Aws::String fullBucketName = TEST_BUCKET_NAME; PutObjectRequest putObjectRequest; @@ -412,7 +412,7 @@ namespace //This tests the instruction file read/write functionality by using a mock S3 client. TEST_F(HandlerTest, InstructionFileS3OperationsTest) { - auto myClient = Aws::MakeShared(ALLOCATION_TAG, ClientConfiguration()); + auto myClient = Aws::MakeShared(ALLOCATION_TAG, Aws::S3::S3ClientConfiguration()); Aws::String fullBucketName = TEST_BUCKET_NAME; PutObjectRequest instructionPutObjectRequest; diff --git a/tests/aws-cpp-sdk-s3-encryption-tests/EncryptionMaterialsTest.cpp b/tests/aws-cpp-sdk-s3-encryption-tests/EncryptionMaterialsTest.cpp index 475b8ada7005..03ef0362f133 100644 --- a/tests/aws-cpp-sdk-s3-encryption-tests/EncryptionMaterialsTest.cpp +++ b/tests/aws-cpp-sdk-s3-encryption-tests/EncryptionMaterialsTest.cpp @@ -38,8 +38,8 @@ static size_t GCM_AAD_LENGTH = 17; class MockKMSClient : public KMSClient { public: - MockKMSClient(ClientConfiguration clientConfiguration = ClientConfiguration()) : - KMSClient(Aws::Auth::AWSCredentials("", ""), clientConfiguration), m_genDataKeyCalledCount(0), m_decryptCalledCount(0) + MockKMSClient(Aws::KMS::KMSClientConfiguration clientConfiguration = Aws::KMS::KMSClientConfiguration()) : + KMSClient(Aws::Auth::AWSCredentials("", ""), nullptr, clientConfiguration), m_genDataKeyCalledCount(0), m_decryptCalledCount(0) { } @@ -437,7 +437,7 @@ namespace TEST_F(KMSWithContextEncryptionMaterialsTest, TestEncryptCEKInvalidCmkID) { Aws::String testCmkID = "someRandomCustomerMasterKeyID"; - auto myClient = Aws::MakeShared(AllocationTag, ClientConfiguration()); + auto myClient = Aws::MakeShared(AllocationTag, Aws::KMS::KMSClientConfiguration()); KMSWithContextEncryptionMaterials encryptionMaterials(testCmkID, myClient); ContentCryptoMaterial contentCryptoMaterial(ContentCryptoScheme::GCM); @@ -456,7 +456,7 @@ namespace // This also test for a successful outcome for encrypt and decrypt calls. TEST_F(KMSWithContextEncryptionMaterialsTest, TestMockEncryptDecryptCEK) { - auto myClient = Aws::MakeShared(AllocationTag, ClientConfiguration()); + auto myClient = Aws::MakeShared(AllocationTag, Aws::KMS::KMSClientConfiguration()); InitMockKMSClient(myClient); KMSWithContextEncryptionMaterials encryptionMaterials(TEST_CMK_ID, myClient); @@ -486,7 +486,7 @@ namespace //This tests KMS Encryption Materials Decrypt CEK by using a mock KMS Client with an invalid customer master key. TEST_F(KMSWithContextEncryptionMaterialsTest, TestInvalidKeyWrapAlgorithmDecryptCEK) { - auto myClient = Aws::MakeShared(AllocationTag, ClientConfiguration()); + auto myClient = Aws::MakeShared(AllocationTag, Aws::KMS::KMSClientConfiguration()); KMSWithContextEncryptionMaterials encryptionMaterials(TEST_CMK_ID, myClient); ContentCryptoMaterial contentCryptoMaterial; @@ -510,7 +510,7 @@ namespace //This tests KMS Encryption Materials Decrypt CEK by using a mock KMS Client with an invalid materials description. TEST_F(KMSWithContextEncryptionMaterialsTest, TestInvalidMaterialsDescriptionDecryptCEK) { - auto myClient = Aws::MakeShared(AllocationTag, ClientConfiguration()); + auto myClient = Aws::MakeShared(AllocationTag, Aws::KMS::KMSClientConfiguration()); KMSWithContextEncryptionMaterials encryptionMaterials(TEST_CMK_ID, myClient); ContentCryptoMaterial contentCryptoMaterial; @@ -536,7 +536,7 @@ namespace //This tests KMS Encryption Materials Decrypt CEK by using a mock KMS Client with a missing encrypted key. TEST_F(KMSWithContextEncryptionMaterialsTest, TestMissingEncryptedContentKeyDecryptCEK) { - auto myClient = Aws::MakeShared(AllocationTag, ClientConfiguration()); + auto myClient = Aws::MakeShared(AllocationTag, Aws::KMS::KMSClientConfiguration()); KMSWithContextEncryptionMaterials encryptionMaterials(TEST_CMK_ID, myClient); ContentCryptoMaterial contentCryptoMaterial; diff --git a/tests/aws-cpp-sdk-s3-integration-tests/BucketAndObjectOperationTest.cpp b/tests/aws-cpp-sdk-s3-integration-tests/BucketAndObjectOperationTest.cpp index af4b9a4c7617..64f5be2e75c7 100644 --- a/tests/aws-cpp-sdk-s3-integration-tests/BucketAndObjectOperationTest.cpp +++ b/tests/aws-cpp-sdk-s3-integration-tests/BucketAndObjectOperationTest.cpp @@ -206,7 +206,7 @@ namespace Limiter = Aws::MakeShared>(ALLOCATION_TAG, 50000000); // Create a client - ClientConfiguration config; + S3ClientConfiguration config; config.region = Aws::Region::US_EAST_1; config.scheme = Scheme::HTTPS; config.connectTimeoutMs = 30000; @@ -223,23 +223,24 @@ namespace config.proxyPort = PROXY_PORT; } - Client = Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG), config, - AWSAuthV4Signer::PayloadSigningPolicy::Never /*signPayloads*/, true /*useVirtualAddressing*/, Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::LEGACY); + config.payloadSigningPolicy = AWSAuthV4Signer::PayloadSigningPolicy::Never; + config.useVirtualAddressing = true; + config.useUSEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::LEGACY; + Client = Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG), + std::shared_ptr(), config); + config.useUSEast1RegionalEndPointOption = Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET; config.region = Aws::Region::AWS_GLOBAL; globalClient = Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG), config, - AWSAuthV4Signer::PayloadSigningPolicy::Never /*signPayloads*/, true /*useVirtualAddressing*/); + Aws::MakeShared(ALLOCATION_TAG), std::shared_ptr(), config); config.region = Aws::Region::US_WEST_2; config.useDualStack = true; oregonClient = Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG), config, - AWSAuthV4Signer::PayloadSigningPolicy::Never /*signPayloads*/, true /*useVirtualAddressing*/); + Aws::MakeShared(ALLOCATION_TAG), std::shared_ptr(), config); m_HttpClient = Aws::Http::CreateHttpClient(config); config.retryStrategy = Aws::MakeShared(ALLOCATION_TAG); retryClient = Aws::MakeShared(ALLOCATION_TAG, - Aws::MakeShared(ALLOCATION_TAG), config, - AWSAuthV4Signer::PayloadSigningPolicy::Never /*signPayloads*/, true /*useVirtualAddressing*/); + Aws::MakeShared(ALLOCATION_TAG), std::shared_ptr(), config); // Using client side monitoring for endpoint override testing. TestingMonitoringManager::InitTestingMonitoring(); } @@ -549,7 +550,7 @@ namespace WaitForBucketToEmpty(fullBucketName); } - void DoTestGetObjectWithBucketARN(const ClientConfiguration& config, const Aws::String& bucketArn, const Aws::String& expectedEndpoint, + void DoTestGetObjectWithBucketARN(const S3ClientConfiguration& config, const Aws::String& bucketArn, const Aws::String& expectedEndpoint, const Aws::String& expectedSignerRegion, const Aws::String& expectedSignerServiceName, bool arnExpectedToBeValid) { S3Client s3Client(config); @@ -579,7 +580,7 @@ namespace } } - void DoTestWriteGetObjectResponse(const ClientConfiguration& config, const Aws::String& expectedEndpoint) + void DoTestWriteGetObjectResponse(const S3ClientConfiguration& config, const Aws::String& expectedEndpoint) { // Chunked encoding S3Client s3Client(config); @@ -1968,9 +1969,11 @@ namespace AWS_ASSERT_SUCCESS(putObjectOutcome); // Checksums in request headers - ClientConfiguration config; + S3ClientConfiguration config; config.region = Aws::Region::US_EAST_1; - S3Client s3ClientSigningBody(config, Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Always, false); + config.payloadSigningPolicy = Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::Always; + config.useVirtualAddressing = false; + S3Client s3ClientSigningBody(config); objectStream->clear(); objectStream->seekg(0); @@ -2019,7 +2022,7 @@ namespace WaitForBucketToPropagate(fullBucketName, Client); TagTestBucket(fullBucketName, Client); - ClientConfiguration config; + S3ClientConfiguration config; config.region = Aws::Region::US_EAST_1; config.checksumConfig.requestChecksumCalculation = RequestChecksumCalculation::WHEN_REQUIRED; const S3Client whenRequiredClient{config}; @@ -2194,11 +2197,13 @@ namespace Aws::StringStream ss; // Traditional bucket name with virtual addressing - ClientConfiguration config; + S3ClientConfiguration config; config.region = Aws::Region::US_WEST_2; config.endpointOverride = CUSTOM_ENDPOINT_OVERRIDE; config.retryStrategy = Aws::MakeShared(ALLOCATION_TAG, 0 /* don't retry */, 25); - S3Client s3ClientWithVirtualAddressing(config, AWSAuthV4Signer::PayloadSigningPolicy::Never, true /*useVirtualAddressing*/); + config.payloadSigningPolicy = AWSAuthV4Signer::PayloadSigningPolicy::Never; + config.useVirtualAddressing = true; + S3Client s3ClientWithVirtualAddressing(config); ListObjectsRequest listObjectsRequest; listObjectsRequest.SetBucket(fullBucketName); @@ -2242,7 +2247,9 @@ namespace ASSERT_STREQ("s3", TestingMonitoringMetrics::s_lastSigningServiceName.c_str()); // Tradition bucket name with path addressing - S3Client s3ClientWithPathAddressing(config, AWSAuthV4Signer::PayloadSigningPolicy::Never, false /*useVirtualAddressing*/); + config.payloadSigningPolicy = AWSAuthV4Signer::PayloadSigningPolicy::Never; + config.useVirtualAddressing = false; + S3Client s3ClientWithPathAddressing(config); listObjectsRequest.SetBucket(fullBucketName); listObjectsOutcome = s3ClientWithPathAddressing.ListObjects(listObjectsRequest); ASSERT_FALSE(listObjectsOutcome.IsSuccess()); @@ -2256,7 +2263,9 @@ namespace Aws::String awsS3UseArnRegion = Aws::Environment::GetEnv("AWS_S3_USE_ARN_REGION"); Aws::Environment::SetEnv("AWS_S3_USE_ARN_REGION", "true", 1); config.region = Aws::Region::EU_WEST_1; - S3Client s3ClientInEuWest1(config, AWSAuthV4Signer::PayloadSigningPolicy::Never, true /*useVirtualAddressing*/); + config.payloadSigningPolicy = AWSAuthV4Signer::PayloadSigningPolicy::Never; + config.useVirtualAddressing = true; + S3Client s3ClientInEuWest1(config); if (awsS3UseArnRegion.empty()) { Aws::Environment::UnSetEnv("AWS_S3_USE_ARN_REGION"); @@ -2278,7 +2287,9 @@ namespace // Failure case, dualstack endpoint is not compatible with custom endpoint override. config.region = Aws::Region::US_WEST_2; config.useDualStack = true; - S3Client s3ClientWithDualStack(config, AWSAuthV4Signer::PayloadSigningPolicy::Never, true /*useVirtualAddressing*/); + config.payloadSigningPolicy = AWSAuthV4Signer::PayloadSigningPolicy::Never; + config.useVirtualAddressing = true; + S3Client s3ClientWithDualStack(config); listObjectsRequest.SetBucket(fullBucketName); listObjectsOutcome = s3ClientWithDualStack.ListObjects(listObjectsRequest); ASSERT_FALSE(listObjectsOutcome.IsSuccess()); @@ -2293,7 +2304,7 @@ namespace TEST_F(BucketAndObjectOperationTest, TestS3AccessPointARN) { Aws::String awsS3UseArnRegionBackup = Aws::Environment::GetEnv("AWS_S3_USE_ARN_REGION"); - ClientConfiguration config; + S3ClientConfiguration config; config.region = Aws::Region::US_WEST_2; config.retryStrategy = Aws::MakeShared(ALLOCATION_TAG, 0 /* don't retry */, 25); @@ -2406,7 +2417,7 @@ namespace TEST_F(BucketAndObjectOperationTest, TestS3MultiRegionAccessPointARN) { Aws::String awsS3DisableMultiregionAccessPointsBackup = Aws::Environment::GetEnv("AWS_S3_DISABLE_MULTIREGION_ACCESS_POINTS"); - ClientConfiguration config; + S3ClientConfiguration config; config.region = Aws::Region::US_WEST_2; config.retryStrategy = Aws::MakeShared(ALLOCATION_TAG, 0 /* don't retry */, 25); @@ -2810,7 +2821,7 @@ namespace } TEST_F(BucketAndObjectOperationTest, TestHeaderResponse) { - ClientConfiguration configuration; + S3ClientConfiguration configuration; configuration.region = "us-east-1"; configuration.enableHttpClientTrace = true; std::shared_ptr client = Aws::MakeShared("test",configuration); diff --git a/tests/aws-cpp-sdk-s3-integration-tests/ListObjectsV2PaginationIntegrationTest.cpp b/tests/aws-cpp-sdk-s3-integration-tests/ListObjectsV2PaginationIntegrationTest.cpp index 41ef95925e29..6ebc2767a4b3 100644 --- a/tests/aws-cpp-sdk-s3-integration-tests/ListObjectsV2PaginationIntegrationTest.cpp +++ b/tests/aws-cpp-sdk-s3-integration-tests/ListObjectsV2PaginationIntegrationTest.cpp @@ -38,7 +38,7 @@ class ListObjectsV2PaginationTest : public Aws::Testing::AwsCppSdkGTestSuite { Aws::String bucketName; void SetUp() override { - Aws::Client::ClientConfiguration config; + Aws::S3::S3ClientConfiguration config; config.region = Aws::Region::US_EAST_1; Client = S3Client(config); diff --git a/tests/aws-cpp-sdk-s3control-integration-tests/S3ControlTest.cpp b/tests/aws-cpp-sdk-s3control-integration-tests/S3ControlTest.cpp index 53e4a521b696..38816b320477 100644 --- a/tests/aws-cpp-sdk-s3control-integration-tests/S3ControlTest.cpp +++ b/tests/aws-cpp-sdk-s3control-integration-tests/S3ControlTest.cpp @@ -88,7 +88,7 @@ namespace config.scheme = Scheme::HTTPS; config.connectTimeoutMs = 30000; config.requestTimeoutMs = 30000; - m_client = S3ControlClient(config); + m_client = S3ControlClient(S3ControlClientConfiguration(config)); m_s3Client = createS3Client(config); m_httpClient = Aws::Http::CreateHttpClient(config); @@ -96,8 +96,8 @@ namespace auto accountId = Aws::Environment::GetEnv("CATAPULT_TEST_ACCOUNT"); if(accountId.empty()) { config.region = Aws::Region::US_EAST_1; - auto iamClient = Aws::MakeShared(ALLOCATION_TAG, config); - auto cognitoClient = Aws::MakeShared(ALLOCATION_TAG, config); + auto iamClient = Aws::MakeShared(ALLOCATION_TAG, Aws::IAM::IAMClientConfiguration(config)); + auto cognitoClient = Aws::MakeShared(ALLOCATION_TAG, Aws::CognitoIdentity::CognitoIdentityClientConfiguration(config)); Aws::AccessManagement::AccessManagementClient accessManagementClient(iamClient, cognitoClient); accountId = accessManagementClient.GetAccountId(); } @@ -132,7 +132,7 @@ namespace Aws::String testAccount(Aws::Environment::GetEnv("CATAPULT_TEST_ACCOUNT")); if (!testAccount.empty()) { Aws::String testRoleArn("arn:aws:iam::" + testAccount + ":role/IntegrationTest"); - STS::STSClient stsClient(configuration); + STS::STSClient stsClient{STS::STSClientConfiguration(configuration)}; STS::Model::AssumeRoleRequest assumeRoleRequest; assumeRoleRequest.SetRoleArn(testRoleArn); assumeRoleRequest.SetRoleSessionName("s3-control-cpp-integ-test"); @@ -142,9 +142,9 @@ namespace creds.GetSecretAccessKey(), creds.GetSessionToken(), creds.GetExpiration()); - return {awsCredentials, Aws::MakeShared(ALLOCATION_TAG), configuration}; + return {awsCredentials, Aws::MakeShared(ALLOCATION_TAG), S3::S3ClientConfiguration(configuration)}; } - return {configuration}; + return S3::S3Client(S3::S3ClientConfiguration(configuration)); } static void TagTestBucket(const Aws::String& bucketName, const S3::S3Client& client) { @@ -534,11 +534,13 @@ namespace EXPECT_EQ(CoreErrors::ENDPOINT_RESOLUTION_FAILURE, (CoreErrors) headBucketOutcome.GetError().GetErrorType()); // Using dualstack - ClientConfiguration config; + S3::S3ClientConfiguration config; config.region = Aws::Region::US_WEST_2; config.useDualStack = true; S3::S3Client s3ClientInUsWest2UsingDualStack(config); - S3ControlClient clientInUsWest2UsingDualStack(config); + S3ControlClientConfiguration controlConfig(config); // copies shared settings only, not S3's options + controlConfig.useDualStack = true; + S3ControlClient clientInUsWest2UsingDualStack(controlConfig); headBucketRequest.SetBucket(accessPointArn); headBucketOutcome = s3ClientInUsWest2UsingDualStack.HeadBucket(headBucketRequest); AWS_ASSERT_SUCCESS(headBucketOutcome); @@ -571,7 +573,9 @@ namespace // Using path style addressing config.endpointOverride = ""; - S3::S3Client s3ClientInUsWest2UsingPathStyleAddressing(config, AWSAuthV4Signer::PayloadSigningPolicy::Never /*signPayloads*/, false /*useVirtualAddressing*/); + config.payloadSigningPolicy = AWSAuthV4Signer::PayloadSigningPolicy::Never; + config.useVirtualAddressing = false; + S3::S3Client s3ClientInUsWest2UsingPathStyleAddressing(config); headBucketOutcome = s3ClientInUsWest2UsingPathStyleAddressing.HeadBucket(headBucketRequest); ASSERT_FALSE(headBucketOutcome.IsSuccess()); EXPECT_EQ(CoreErrors::ENDPOINT_RESOLUTION_FAILURE, (CoreErrors) headBucketOutcome.GetError().GetErrorType()); @@ -652,7 +656,7 @@ namespace std::shared_ptr putRequest = CreateHttpRequest(presignedUrlPut, HttpMethod::HTTP_PUT, Aws::Utils::Stream::DefaultResponseStreamFactoryMethod); DoPresignedUrlTest(accessPointArn, putRequest); - ClientConfiguration config; + S3::S3ClientConfiguration config; config.region = Aws::Region::US_EAST_1; S3::S3Client s3ClientInUsEast1(config); presignedUrlPut = s3ClientInUsEast1.GeneratePresignedUrl(accessPointArn, TEST_OBJECT_KEY, HttpMethod::HTTP_PUT); @@ -740,7 +744,7 @@ TEST_F(S3ControlTest, TestRemoveHostPrefix) mock_client_factory->SetClient(mock_http_client); SetHttpClientFactory(mock_client_factory); - ClientConfiguration config; + S3ControlClientConfiguration config; config.region = Aws::Region::US_EAST_1; auto s3controlClient = S3ControlClient(config); Aws::String bucket = "test-ap-bucket--use2-az1--x-s3"; diff --git a/tests/aws-cpp-sdk-sqs-integration-tests/QueueOperationTest.cpp b/tests/aws-cpp-sdk-sqs-integration-tests/QueueOperationTest.cpp index 0ce67c76cea3..9d6dd084d36a 100644 --- a/tests/aws-cpp-sdk-sqs-integration-tests/QueueOperationTest.cpp +++ b/tests/aws-cpp-sdk-sqs-integration-tests/QueueOperationTest.cpp @@ -107,7 +107,7 @@ class QueueOperationTest : public ::testing::Test void SetUp() { - sqsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG), GetConfig()); + sqsClient = Aws::MakeShared(ALLOCATION_TAG, Aws::MakeShared(ALLOCATION_TAG), nullptr, Aws::SQS::SQSClientConfiguration(GetConfig())); } void TearDown() @@ -169,8 +169,8 @@ class QueueOperationTest : public ::testing::Test { auto accountId = Aws::Environment::GetEnv("CATAPULT_TEST_ACCOUNT"); if (accountId.empty()) { - auto cognitoClient = Aws::MakeShared(ALLOCATION_TAG, GetConfig()); - auto iamClient = Aws::MakeShared(ALLOCATION_TAG, GetConfig()); + auto cognitoClient = Aws::MakeShared(ALLOCATION_TAG, Aws::CognitoIdentity::CognitoIdentityClientConfiguration(GetConfig())); + auto iamClient = Aws::MakeShared(ALLOCATION_TAG, Aws::IAM::IAMClientConfiguration(GetConfig())); Aws::AccessManagement::AccessManagementClient accessManagementClient(iamClient, cognitoClient); accountId = accessManagementClient.GetAccountId(); } diff --git a/tests/aws-cpp-sdk-sts-integration-tests/STSTests.cpp b/tests/aws-cpp-sdk-sts-integration-tests/STSTests.cpp index 8e5375942046..48011d1cd072 100644 --- a/tests/aws-cpp-sdk-sts-integration-tests/STSTests.cpp +++ b/tests/aws-cpp-sdk-sts-integration-tests/STSTests.cpp @@ -33,7 +33,7 @@ class STSIntegrationTest : public ::testing::Test void SetUp() override { - Aws::Client::ClientConfiguration config; + Aws::STS::STSClientConfiguration config; config.authPreferences = {smithy::SIGV4A_PREFERENCE}; config.region = AWS_TEST_REGION; config.sigV4aSigningRegionSet = {"*"}; diff --git a/tests/aws-cpp-sdk-text-to-speech-tests/TextToSpeechManagerTests.cpp b/tests/aws-cpp-sdk-text-to-speech-tests/TextToSpeechManagerTests.cpp index 9ab337c3c2b8..893a17011ad7 100644 --- a/tests/aws-cpp-sdk-text-to-speech-tests/TextToSpeechManagerTests.cpp +++ b/tests/aws-cpp-sdk-text-to-speech-tests/TextToSpeechManagerTests.cpp @@ -123,7 +123,7 @@ class MockPCMDriverFactory : public PCMOutputDriverFactory class MockPollyClient : public PollyClient { public: - MockPollyClient(const Aws::Client::ClientConfiguration& clientConfig = Aws::Client::ClientConfiguration()) : PollyClient(Aws::Auth::AWSCredentials("", ""), clientConfig) {} + MockPollyClient(const Aws::Polly::PollyClientConfiguration& clientConfig = Aws::Polly::PollyClientConfiguration()) : PollyClient(Aws::Auth::AWSCredentials("", ""), nullptr, clientConfig) {} DescribeVoicesOutcome DescribeVoices(const DescribeVoicesRequest& request) const override { @@ -274,7 +274,7 @@ TEST(TextToSpeechManagerTests, TestDeviceListEmpty) TEST(TextToSpeechManagerTests, TestTextToSpeechManagerLifetime) { - Aws::Client::ClientConfiguration clientConfig; + Aws::Polly::PollyClientConfiguration clientConfig; clientConfig.executor = Aws::MakeShared(ALLOC_TAG, 5); auto pollyClient = Aws::MakeShared(ALLOC_TAG, clientConfig); @@ -329,7 +329,7 @@ TEST(TextToSpeechManagerTests, TestTextToSpeechManagerLifetime) TEST(TextToSpeechManagerTests, TestSynthResponseAndOutput) { - Aws::Client::ClientConfiguration clientConfig; + Aws::Polly::PollyClientConfiguration clientConfig; clientConfig.executor = Aws::MakeShared(ALLOC_TAG, 5); auto pollyClient = Aws::MakeShared(ALLOC_TAG, clientConfig); @@ -403,7 +403,7 @@ TEST(TextToSpeechManagerTests, TestSynthResponseAndOutput) TEST(TextToSpeechManagerTests, TestSynthRequestFailedAndNoOutput) { - Aws::Client::ClientConfiguration clientConfig; + Aws::Polly::PollyClientConfiguration clientConfig; clientConfig.executor = Aws::MakeShared(ALLOC_TAG, 5); auto pollyClient = Aws::MakeShared(ALLOC_TAG, clientConfig); diff --git a/tests/aws-cpp-sdk-timestream-query-unit-tests/TimeStreamQueryUnitTests.cpp b/tests/aws-cpp-sdk-timestream-query-unit-tests/TimeStreamQueryUnitTests.cpp index 7dc960151fe0..f37938fecc82 100644 --- a/tests/aws-cpp-sdk-timestream-query-unit-tests/TimeStreamQueryUnitTests.cpp +++ b/tests/aws-cpp-sdk-timestream-query-unit-tests/TimeStreamQueryUnitTests.cpp @@ -96,9 +96,9 @@ TEST_F(TimestreamQueryUnitTest, EndpointOverrideShouldDisableEndpointDiscoveryTh initValues.shouldDisableIMDS = true; TimestreamQueryClientConfiguration config{initValues}; config.region = "us-east-1"; + config.endpointOverride = "http://spacers-choice.com:8080"; const AWSCredentials credentials{}; TimestreamQueryClient client(credentials, nullptr, config); - client.OverrideEndpoint("http://spacers-choice.com:8080"); const auto responseStream = Aws::MakeShared(ALLOCATION_TAG, "mockuri", HttpMethod::HTTP_GET); responseStream->SetResponseStreamFactory(Utils::Stream::DefaultResponseStreamFactoryMethod); diff --git a/tests/aws-cpp-sdk-transcribestreaming-integ-tests/TranscribeErrorCaseTests.cpp b/tests/aws-cpp-sdk-transcribestreaming-integ-tests/TranscribeErrorCaseTests.cpp index 6721ff87c0ae..4fec67134d53 100644 --- a/tests/aws-cpp-sdk-transcribestreaming-integ-tests/TranscribeErrorCaseTests.cpp +++ b/tests/aws-cpp-sdk-transcribestreaming-integ-tests/TranscribeErrorCaseTests.cpp @@ -48,7 +48,7 @@ class TranscribeStreamingErrorTests : public Aws::Testing::AwsCppSdkGTestSuite { TEST_F(TranscribeStreamingErrorTests, TranscribeAudioFile) { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration config(cfgInit); + Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration config(cfgInit); config.httpLibPerfMode = Http::TransferLibPerformanceMode::REGULAR; config.enableHttpClientTrace = true; Aws::UniquePtr client = Aws::MakeUnique(ALLOC_TAG, config); @@ -157,7 +157,7 @@ TEST_F(TranscribeStreamingErrorTests, TranscribeAudioFile) { TEST_F(TranscribeStreamingErrorTests, TranscribeTerminateByLowSpeedLimit) { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration config(cfgInit); + Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration config(cfgInit); config.httpLibPerfMode = Http::TransferLibPerformanceMode::REGULAR; config.enableHttpClientTrace = true; config.lowSpeedLimit = 10; @@ -261,7 +261,7 @@ TEST_F(TranscribeStreamingErrorTests, TranscribeTerminateByLowSpeedLimit) { TEST_F(TranscribeStreamingErrorTests, TranscribeRequestGoesOutOfScope) { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration config(cfgInit); + Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration config(cfgInit); config.httpLibPerfMode = Http::TransferLibPerformanceMode::REGULAR; config.enableHttpClientTrace = true; diff --git a/tests/aws-cpp-sdk-transcribestreaming-integ-tests/TranscribeTests.cpp b/tests/aws-cpp-sdk-transcribestreaming-integ-tests/TranscribeTests.cpp index 6980ca292737..d3ed15631de4 100644 --- a/tests/aws-cpp-sdk-transcribestreaming-integ-tests/TranscribeTests.cpp +++ b/tests/aws-cpp-sdk-transcribestreaming-integ-tests/TranscribeTests.cpp @@ -41,13 +41,13 @@ class TranscribeStreamingTests : public Aws::Testing::AwsCppSdkGTestSuite { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration config(cfgInit); + Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration config(cfgInit); config.enableHttpClientTrace = true; #ifdef _WIN32 // TODO: remove this once we get H2 working with WinHttp client config.httpLibOverride = Aws::Http::TransferLibType::WIN_INET_CLIENT; #endif - m_clientWithWrongCreds = Aws::MakeUnique(ALLOC_TAG, Aws::Auth::AWSCredentials("a", "b"), config); + m_clientWithWrongCreds = Aws::MakeUnique(ALLOC_TAG, Aws::Auth::AWSCredentials("a", "b"), nullptr, config); config.endpointOverride = "https://0xxxabcdefg123456789.com"; m_clientWithWrongEndpoint = Aws::MakeUnique(ALLOC_TAG, config); } @@ -125,7 +125,7 @@ TEST_F(TranscribeStreamingTests, TranscribeAudioFile) { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration config(cfgInit); + Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration config(cfgInit); config.httpLibPerfMode = Http::TransferLibPerformanceMode::REGULAR; Aws::UniquePtr client = Aws::MakeUnique(ALLOC_TAG, config); @@ -595,7 +595,7 @@ TEST_F(TranscribeStreamingTests, TranscribeStreamingCppSdkSample) { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration config(cfgInit); + Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration config(cfgInit); Aws::UniquePtr client = Aws::MakeUnique(ALLOC_TAG, config); const Aws::Vector EXPECTED_ALTERNATIVES = {"This is a C plus plus test sample", "This is a C++ test sample"}; @@ -622,7 +622,7 @@ TEST_F(TranscribeStreamingTests, TranscribeStreamingKantSample) { Aws::Client::ClientConfigurationInitValues cfgInit; cfgInit.shouldDisableIMDS = true; - Aws::Client::ClientConfiguration config(cfgInit); + Aws::TranscribeStreamingService::TranscribeStreamingServiceClientConfiguration config(cfgInit); Aws::UniquePtr client = Aws::MakeUnique(ALLOC_TAG, config); static const char expected[] = "Categorical imperative: Act only according to that maxim whereby you can at the same time will that it should become a universal law. " diff --git a/tests/aws-cpp-sdk-transfer-tests/TransferTests.cpp b/tests/aws-cpp-sdk-transfer-tests/TransferTests.cpp index 795d2f26168e..32e588eb177b 100644 --- a/tests/aws-cpp-sdk-transfer-tests/TransferTests.cpp +++ b/tests/aws-cpp-sdk-transfer-tests/TransferTests.cpp @@ -141,7 +141,7 @@ class ScopedTestFile class MockS3Client : public S3Client { public: - MockS3Client(const Aws::Client::ClientConfiguration& clientConfiguration, + MockS3Client(const Aws::S3::S3ClientConfiguration& clientConfiguration, std::shared_ptr endpointProvider): S3Client(clientConfiguration, endpointProvider), executor(clientConfiguration.executor), listObjectsV2RequestCount(0) @@ -665,7 +665,7 @@ class TransferTests : public ::testing::TestWithParam static void SetUpTestCase() { // Create a client - ClientConfiguration config(ClientConfigurationInitValues{}); + Aws::S3::S3ClientConfiguration config(ClientConfigurationInitValues{}); config.scheme = Scheme::HTTP; config.connectTimeoutMs = 3000; config.requestTimeoutMs = 60000; diff --git a/tests/testing-resources/include/aws/testing/AwsProtocolTestHelpers.h b/tests/testing-resources/include/aws/testing/AwsProtocolTestHelpers.h index 9fb8a6fcf0c2..e0939ea01834 100644 --- a/tests/testing-resources/include/aws/testing/AwsProtocolTestHelpers.h +++ b/tests/testing-resources/include/aws/testing/AwsProtocolTestHelpers.h @@ -88,7 +88,7 @@ class AwsProtocolTestSuite : public Aws::Testing::AwsCppSdkGTestSuite { Aws::Auth::AWSCredentials mockCredentials{"mock", "credentials"}; - ProtocolMockClient mockClient = ProtocolMockClient(Aws::Client::ClientConfiguration(disableImdsConfigInit)); + ProtocolMockClient mockClient = ProtocolMockClient(Aws::ProtocolMock::ProtocolMockClientConfiguration(disableImdsConfigInit)); void SetUp() override { auto pingOutcome = mockClient.Ping(); diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/codegeneration/ServiceModel.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/codegeneration/ServiceModel.java index 78484c003f7f..8dd6de68fd8b 100644 --- a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/codegeneration/ServiceModel.java +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/domainmodels/codegeneration/ServiceModel.java @@ -89,14 +89,62 @@ public boolean shouldCreateLegacyBearerConstructor() { ); } - public boolean hasServiceSpecificClientConfig() { - return metadata.getServiceId().equalsIgnoreCase("S3") || - metadata.getServiceId().equalsIgnoreCase("S3-CRT") || - metadata.getServiceId().equalsIgnoreCase("S3 Control") || - metadata.getServiceId().equalsIgnoreCase("DynamoDB Streams") || - metadata.getSigningName().equalsIgnoreCase("bedrock") || - metadata.isHasEndpointDiscoveryTrait() || - endpointRuleSetModel.getParameters().containsKey("AccountId") || endpointRuleSetModel.getParameters().containsKey("AccountIdEndpointMode"); + /** + * Names of the Aws::Client::ClientConfiguration fields this service supports beyond the shared ones. + * The generated service configuration exposes only these, plus the shared fields. + */ + private static final java.util.regex.Pattern SIGV4A_ENDPOINT_AUTH_SCHEME = + java.util.regex.Pattern.compile("\"name\"\\s*:\\s*\"sigv4a\""); + + public List getSupportedClientOptions() { + List options = new ArrayList<>(); + + Set builtIns = new HashSet<>(); + if (endpointRuleSetModel != null && endpointRuleSetModel.getParameters() != null) { + endpointRuleSetModel.getParameters().values().stream() + .map(EndpointRuleSetModel.Parameter::getBuiltIn) + .filter(Objects::nonNull) + .forEach(builtIns::add); + } + if (builtIns.contains("AWS::UseFIPS")) { + options.add("useFIPS"); + } + if (builtIns.contains("AWS::UseDualStack")) { + options.add("useDualStack"); + } + // Matched by builtIn and by parameter name: some rule sets (e.g. S3 Control) declare AccountId without a builtIn + // and take its value from the client configuration. + Set paramNames = endpointRuleSetModel != null && endpointRuleSetModel.getParameters() != null + ? endpointRuleSetModel.getParameters().keySet() : Collections.emptySet(); + if (builtIns.contains("AWS::Auth::AccountId") || paramNames.contains("AccountId")) { + options.add("accountId"); + } + if (builtIns.contains("AWS::Auth::AccountIdEndpointMode") || paramNames.contains("AccountIdEndpointMode")) { + options.add("accountIdEndpointMode"); + } + if (metadata.isHasEndpointDiscoveryTrait()) { + options.add("enableEndpointDiscovery"); + } + if (operations.values().stream().anyMatch(op -> op.getEndpoint() != null && op.getEndpoint().getHostPrefix() != null)) { + options.add("enableHostPrefixInjection"); + } + if (operations.values().stream().anyMatch(Operation::isRequestCompressionRequired)) { + options.add("requestCompressionConfig"); + } + if (operations.values().stream().anyMatch(op -> op.isRequestChecksumRequired() || op.getRequestAlgorithmMember() != null + || (op.getResponseAlgorithms() != null && !op.getResponseAlgorithms().isEmpty()))) { + options.add("checksumConfig"); + } + if (hasStreamingRequestShapes()) { + options.add("disableExpectHeader"); + options.add("httpClientChunkedMode"); + options.add("awsChunkedBufferSize"); + } + // SigV4a can come from the model's auth traits or from the endpoint rules' auth schemes (e.g. S3 Multi-Region Access Points). + if (hasSigV4aAuth() || (endpointRules != null && SIGV4A_ENDPOINT_AUTH_SCHEME.matcher(endpointRules).find())) { + options.add("sigV4aSigningRegionSet"); + } + return options; } public Operation getOperationForRequestShapeName(String requestShapeName) { diff --git a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java index 443c9df5bc33..1cd88ecb4db1 100644 --- a/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java +++ b/tools/code-generation/generator/src/main/java/com/amazonaws/util/awsclientgenerator/generators/cpp/CppClientGenerator.java @@ -127,11 +127,8 @@ public SdkFileEntry[] generateSourceFiles(ServiceModel serviceModel) throws Exce } fileList.add(generateEndpointProviderHeaderFile(serviceModel)); fileList.add(generateEndpointProviderSourceFile(serviceModel)); - - if (serviceModel.hasServiceSpecificClientConfig()) { - fileList.add(generateServiceClientConfigurationHeaderFile(serviceModel)); - fileList.add(generateServiceClientConfigurationSourceFile(serviceModel)); - } + fileList.add(generateServiceClientConfigurationHeaderFile(serviceModel)); + fileList.add(generateServiceClientConfigurationSourceFile(serviceModel)); } else { fileList.add(generateRegionHeaderFile(serviceModel)); fileList.add(generateRegionSourceFile(serviceModel)); diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientHeaderConstructors.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientHeaderConstructors.vm index f6b18251b231..939c469baf88 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientHeaderConstructors.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientHeaderConstructors.vm @@ -185,7 +185,8 @@ #end #end##-#if($serviceModel.endpointRules && $serviceNamespace != "S3Crt") -#if($serviceModel.endpointRules) +#if($serviceModel.endpointRules && $serviceNamespace == "S3Crt") +## S3Crt only: S3CrtClient keeps its legacy constructors until it becomes an alias of S3Client. /* Legacy constructors due deprecation */ #parse("com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientHeaderLegacyConstructors.vm") /* End of legacy constructors due deprecation */ diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceInit.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceInit.vm index 32b5f657c980..34b521324e57 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceInit.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceInit.vm @@ -317,11 +317,6 @@ ${clsWSpace} ${clsWSpace} ${ctorArgument}#if( $foreach.hasNext ),#else) :#end init(m_clientConfiguration); } -#end -#if($serviceModel.endpointRules) - /* Legacy constructors due deprecation */ - #parse("com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceLegacyConstructors.vm") - /* End of legacy constructors due deprecation */ #end ${className}::~${className}() { @@ -350,6 +345,7 @@ void ${className}::init(const ${clientConfigurationCls}& config) #if($serviceModel.endpointRules) AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); m_endpointProvider->InitBuiltInParameters(config, "${metadata.signingName}"); + ApplyServiceOptions(GetServiceClientOptions(m_clientConfiguration)); #if($AdditionalServiceSpecificConfigLoadString) ${AdditionalServiceSpecificConfigLoadString} #end##if($AdditionalServiceSpecificConfigLoadString) @@ -447,43 +443,4 @@ void ${className}::Load${metadata.classNamePrefix}SpecificConfig(const Aws::Clie } } #end - -void ${className}::OverrideEndpoint(const Aws::String& endpoint) -{ -#if($serviceModel.endpointRules) - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); -#else##-#if($serviceModel.endpointRules) -#if($virtualAddressingSupported || $arnEndpointSupported || $metadata.hasEndpointTrait) - if (endpoint.compare(0, 7, "http://") == 0) - { - m_scheme = "http"; - m_baseUri = endpoint.substr(7); - } - else if (endpoint.compare(0, 8, "https://") == 0) - { - m_scheme = "https"; - m_baseUri = endpoint.substr(8); - } - else - { - m_scheme = m_configScheme; - m_baseUri = endpoint; - } -#else - if (endpoint.compare(0, 7, "http://") == 0 || endpoint.compare(0, 8, "https://") == 0) - { - m_uri = endpoint; - } - else - { - m_uri = m_configScheme + "://" + endpoint; - } -#end -#if($metadata.hasEndpointDiscoveryTrait) - m_enableEndpointDiscovery = false; -#end -#end##-#if($serviceModel.endpointRules) -} #end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceLegacyConstructors.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceLegacyConstructors.vm deleted file mode 100644 index af6a3d5a726a..000000000000 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceLegacyConstructors.vm +++ /dev/null @@ -1,235 +0,0 @@ -#set($additionalCtorSignatureArgs = {}) -#set($ctorMemberInitList = []) -#set($signerCtorArgs = []) -#set($additionalCtorArgs = {}) -#set($signPayloads = "") -#set($signPayloadsParam = "") -#set($signPayloadsClientConfigParam = "") -#if($signPayloadsOptional) -#set($signPayloads = ", Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads") -#set($signPayloadsParam = ", signPayloads") -#set($signPayloadsClientConfigParam = ", signPayloads") -#set($addArgDummy = $additionalCtorArgs.put("signPayloads", "Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/")) -#set($addArgDummy = $signerCtorArgs.add("signPayloads")) -#end -#if($metadata.signatureVersion.equals("s3") || $metadata.signatureVersion.equals("s3v4")) -#if(!$signPayloadsOptional) -#set($signPayloadsParam = ", Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::RequestDependent") -#set($addArgDummy = $signerCtorArgs.add("Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy::RequestDependent")) -#end -#set($doubleEncodeValue = ", false") -#set($addArgDummy = $signerCtorArgs.add("/*doubleEncodeValue*/ false")) -#else -#set($doubleEncodeValue = "") -#end -#if($virtualAddressingSupported) -#if($serviceModel.endpointRules) -#set($addArgDummy = $additionalCtorArgs.put("useVirtualAddressing", "bool useVirtualAddressing /*= true*/")) -#else -#set($addArgDummy = $additionalCtorArgs.put("useVirtualAddressing", "bool useVirtualAddressing /*= true*/")) -#set($addArgDummy = $ctorMemberInitList.add("m_useVirtualAddressing(useVirtualAddressing)")) -#set($virtualAddressing = ", bool useVirtualAddressing") -#end -#set($virtualAddressingInit = ", useVirtualAddressing") -#else -#set($virtualAddressing = "") -#set($virtualAddressingInit = "") -#end -#set($endpointsProviderDefaultCtorCall = "m_endpointProvider(Aws::MakeShared<" + ${metadata.classNamePrefix} + "EndpointProvider>(ALLOCATION_TAG))") -#set($addArgDummy = $ctorMemberInitList.add($endpointsProviderDefaultCtorCall)) -#if(!$USEast1RegionalEndpointArgString) -#set($USEast1RegionalEndpointArgString = "") -#else -#set($addArgDummy = $additionalCtorArgs.put("USEast1RegionalEndpoint", $USEast1RegionalEndpointArgString.replace(", ", ""))) -#set($USEast1RegionalEndpointInitString = ", USEast1RegionalEndPointOption") -#end -#if(!$USEast1RegionalEndpointInitString) -#set($USEast1RegionalEndpointInitString = "") -#else -#if(!$serviceModel.endpointRules) -#set($addArgDummy = $ctorMemberInitList.add($USEast1RegionalEndpointInitString.replace(", ", ""))) -#end -#end -#if(!$ForRegionExtraArgsString) -#set($ForRegionExtraArgsString = "")##single place in m_baseUri assignment-init -#end -#if($metadata.hasEndpointDiscoveryTrait && !$serviceModel.endpointRules) -#set($AdditionalServiceSpecificConfigLoadString = "Load${metadata.classNamePrefix}SpecificConfig(config);") -#end -#set($clientConfigurationNamespace = "Aws::Client") -#set($defaultCredentialsProviderChainParam = "Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig())") -#set($simpleCredentialsProviderParam = "Aws::MakeShared(ALLOCATION_TAG, credentials)") -#set($hasEventStreamInputOperation = $serviceModel.hasStreamingRequestShapes()) -#set($signerToMake = "AWSAuthV4Signer") -#if($metadata.projectName == "s3") -#set($signerToMake = "Aws::Auth::S3ExpressSignerProvider") -#elseif($serviceModel.hasOnlyBearerAuth()) - #set($signerToMake = "Aws::Auth::BearerTokenAuthSignerProvider") -#elseif($hasEventStreamInputOperation || $multiRegionAccessPointSupported) - #set($signerToMake = "Aws::Auth::DefaultAuthSignerProvider") -#end -#set($clsWSpace = $className.replaceAll(".", " ")) -#set($signerWSpace = $signerToMake.replaceAll(".", " ")) -#if($serviceModel.hasOnlyBearerAuth()) -##BEARER TOKEN AUTH PROVIDER C-TOR -#set($bearerAddCtorArgs = {}) -#foreach ($ctorKey in ["signPayloads", "useVirtualAddressing", "USEast1RegionalEndpoint"]) -#if($additionalCtorArgs.containsKey($ctorKey))#set($addArgDummy = $bearerAddCtorArgs.put($ctorKey, $additionalCtorArgs.get($ctorKey)))#end -#end - ${className}::${className}(const ${signerToMake}& bearerTokenProvider, - ${clsWSpace} ${clsWSpace} const ${clientConfigurationNamespace}::ClientConfiguration& clientConfiguration#if($bearerAddCtorArgs.isEmpty())) :#else,#end -#foreach($ctorArgument in $bearerAddCtorArgs) - ${clsWSpace} ${clsWSpace} ${ctorArgument}#if( $foreach.hasNext ),#else) :#end - -#end - BASECLASS(clientConfiguration, - Aws::MakeShared<${signerToMake}>(ALLOCATION_TAG, bearerTokenProvider), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration${signPayloadsClientConfigParam}${virtualAddressingInit}${USEast1RegionalEndpointInitString})#if($ctorMemberInitList.isEmpty()) -#else,#end -#foreach($ctorMemberInit in $ctorMemberInitList) - ${ctorMemberInit}#if( $foreach.hasNext ), - -#else#end -#end -{ - init(m_clientConfiguration); -} -## END OF BEARER TOKEN AUTH PROVIDER C-TOR - -#else##!#if($serviceModel.hasOnlyBearerAuth()) -##DEFAULT CREDENTIALS PROVIDER C-TOR -#set($defCredsChainCtor = {}) -#foreach ($ctorKey in ["signPayloads", "useVirtualAddressing", "USEast1RegionalEndpoint"]) -#if($additionalCtorArgs.containsKey($ctorKey))#set($addArgDummy = $defCredsChainCtor.put($ctorKey, $additionalCtorArgs.get($ctorKey)))#end -#end -${className}::${className}(const ${clientConfigurationNamespace}::ClientConfiguration& clientConfiguration#if($defCredsChainCtor.isEmpty())) :#else,#end - -#foreach($ctorArgument in $defCredsChainCtor) -${clsWSpace} ${clsWSpace} ${ctorArgument}#if( $foreach.hasNext ),#else) :#end - -#end - BASECLASS(clientConfiguration, - Aws::MakeShared<${signerToMake}>(ALLOCATION_TAG, - ${signerWSpace} ${defaultCredentialsProviderChainParam}, -#if($metadata.projectName == "s3") - ${signerWSpace} Aws::MakeShared(ALLOCATION_TAG, *this), -#end - ${signerWSpace} SERVICE_NAME, - ${signerWSpace} Aws::Region::ComputeSignerRegion(clientConfiguration.region)#if($signerCtorArgs.isEmpty())#else, -#end -#foreach($signerCtorArg in $signerCtorArgs) - ${signerWSpace} ${signerCtorArg}#if( $foreach.hasNext ), -#else#end -#end), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration${signPayloadsClientConfigParam}${virtualAddressingInit}${USEast1RegionalEndpointInitString})#if($ctorMemberInitList.isEmpty())#else, -#end -#foreach($ctorMemberInit in $ctorMemberInitList) - ${ctorMemberInit}#if( $foreach.hasNext ), -#else#end -#end - -{ - init(m_clientConfiguration); -} -##END OF DEFAULT CREDENTIALS PROVIDER C-TOR - -##SIMPLE CREDENTIALS PROVIDER C-TOR -#set($simpleCredsCtor = {}) -#foreach ($ctorKey in ["signPayloads", "useVirtualAddressing", "USEast1RegionalEndpoint"]) -#if($additionalCtorArgs.containsKey($ctorKey))#set($addArgDummy = $simpleCredsCtor.put($ctorKey, $additionalCtorArgs.get($ctorKey)))#end -#end -${className}::${className}(const AWSCredentials& credentials, -${clsWSpace} ${clsWSpace} const ${clientConfigurationNamespace}::ClientConfiguration& clientConfiguration#if($simpleCredsCtor.isEmpty())) :#else,#end - -#foreach($ctorArgument in $simpleCredsCtor) -${clsWSpace} ${clsWSpace} ${ctorArgument}#if( $foreach.hasNext ),#else) :#end - -#end - BASECLASS(clientConfiguration, - Aws::MakeShared<${signerToMake}>(ALLOCATION_TAG, - ${signerWSpace} ${simpleCredentialsProviderParam}, -#if($metadata.projectName == "s3") - ${signerWSpace} Aws::MakeShared(ALLOCATION_TAG, *this), -#end - ${signerWSpace} SERVICE_NAME, - ${signerWSpace} Aws::Region::ComputeSignerRegion(clientConfiguration.region)#if($signerCtorArgs.isEmpty())#else, -#end -#foreach($signerCtorArg in $signerCtorArgs) - ${signerWSpace} ${signerCtorArg}#if( $foreach.hasNext ), -#else#end -#end), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration${signPayloadsClientConfigParam}${virtualAddressingInit}${USEast1RegionalEndpointInitString})#if($ctorMemberInitList.isEmpty())#else, -#end -#foreach($ctorMemberInit in $ctorMemberInitList) - ${ctorMemberInit}#if( $foreach.hasNext ), -#else#end -#end - -{ - init(m_clientConfiguration); -} -##END OF SIMPLE CREDENTIALS PROVIDER C-TOR - -##SPECIFIED CREDENTIALS PROVIDER C-TOR -#set($specCredsCtor = {}) -#foreach ($ctorKey in ["signPayloads", "useVirtualAddressing", "USEast1RegionalEndpoint"]) -#if($additionalCtorArgs.containsKey($ctorKey))#set($addArgDummy = $specCredsCtor.put($ctorKey, $additionalCtorArgs.get($ctorKey)))#end -#end -${className}::${className}(const std::shared_ptr& credentialsProvider, -${clsWSpace} ${clsWSpace} const ${clientConfigurationNamespace}::ClientConfiguration& clientConfiguration#if($specCredsCtor.isEmpty())) :#else,#end - -#foreach($ctorArgument in $specCredsCtor) -${clsWSpace} ${clsWSpace} ${ctorArgument}#if( $foreach.hasNext ),#else) :#end - -#end - BASECLASS(clientConfiguration, - Aws::MakeShared<${signerToMake}>(ALLOCATION_TAG, - ${signerWSpace} credentialsProvider, -#if($metadata.projectName == "s3") - ${signerWSpace} Aws::MakeShared(ALLOCATION_TAG, *this), -#end - ${signerWSpace} SERVICE_NAME, - ${signerWSpace} Aws::Region::ComputeSignerRegion(clientConfiguration.region)#if($signerCtorArgs.isEmpty())#else, -#end -#foreach($signerCtorArg in $signerCtorArgs) - ${signerWSpace} ${signerCtorArg}#if( $foreach.hasNext ), -#else#end -#end), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration${signPayloadsClientConfigParam}${virtualAddressingInit}${USEast1RegionalEndpointInitString})#if($ctorMemberInitList.isEmpty())#else, -#end -#foreach($ctorMemberInit in $ctorMemberInitList) - ${ctorMemberInit}#if( $foreach.hasNext ), -#else#end -#end - -{ - init(m_clientConfiguration); -} -##END OF SPECIFIED CREDENTIALS PROVIDER C-TOR -#end##if($serviceModel.hasOnlyBearerAuth()) - -#if($metadata.standalone || $metadata.apigateway) -#set($standaloneCredsCtor = {}) -#foreach ($ctorKey in ["signPayloads", "useVirtualAddressing", "USEast1RegionalEndpoint"]) -#if($additionalCtorArgs.containsKey($ctorKey))#set($addArgDummy = $standaloneCredsCtor.put($ctorKey, $additionalCtorArgs.get($ctorKey)))#end -#end -${className}::${className}(const std::shared_ptr& signerProvider, -${clsWSpace} ${clsWSpace} const ${clientConfigurationNamespace}::ClientConfiguration& clientConfiguration#if($standaloneCredsCtor.isEmpty())) :#else,#end - -#foreach($ctorArgument in $specCredsCtor) -${clsWSpace} ${clsWSpace} ${ctorArgument}#if( $foreach.hasNext ),#else) :#end - -#end - BASECLASS(clientConfiguration, - signerProvider, - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG)), - m_clientConfiguration(clientConfiguration${signPayloadsClientConfigParam}${virtualAddressingInit}${USEast1RegionalEndpointInitString}) -{ - init(m_clientConfiguration); -} - -#end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/cbor/CborServiceClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/cbor/CborServiceClientHeader.vm index 343973f5e366..77ab538c0264 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/cbor/CborServiceClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/cbor/CborServiceClientHeader.vm @@ -51,7 +51,6 @@ Aws::Utils::Outcome ${presigner.functi #set($cbor_virtual = "virtual ") #end -${cbor_virtual}void OverrideEndpoint(const Aws::String& endpoint); #if($serviceModel.endpointRules) ${cbor_virtual}std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& accessEndpointProvider(); #end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationHeader.vm index d5bb6db8070c..06f48c6a8a69 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationHeader.vm @@ -50,60 +50,6 @@ namespace ${rootNamespace} #end #end -#set($copyCtorStatements = []) -#set($moveCtorStatements = []) -#set($copyAssignmentStatements = []) -#set($moveAssignemntStatements = []) -#if($metadata.hasEndpointDiscoveryTrait) -#set($addArgDummy = $copyCtorStatements.add("enableEndpointDiscovery(BaseClientConfigClass::enableEndpointDiscovery)")) -#set($addArgDummy = $moveCtorStatements.add("enableEndpointDiscovery(BaseClientConfigClass::enableEndpointDiscovery)")) -#end -#if(!$copyCtorStatements.isEmpty()) - ${metadata.classNamePrefix}ClientConfiguration(const ${metadata.classNamePrefix}ClientConfiguration& other) - : Aws::Client::GenericClientConfiguration(other), - #foreach($statement in $copyCtorStatements)$statement#if($foreach.hasNext), - #end#end - - { - } - -#end -#if(!$moveCtorStatements.isEmpty()) - ${metadata.classNamePrefix}ClientConfiguration(${metadata.classNamePrefix}ClientConfiguration&& other) noexcept - : Aws::Client::GenericClientConfiguration(std::move(other)), - #foreach($statement in $moveCtorStatements)$statement#if($foreach.hasNext), - #end#end - - { - } - -#end -#if(!$copyAssignmentStatements.isEmpty() || $metadata.hasEndpointDiscoveryTrait) - ${metadata.classNamePrefix}ClientConfiguration& operator=(const ${metadata.classNamePrefix}ClientConfiguration& other) - { - if (this == &other) - return *this; - Aws::Client::GenericClientConfiguration::operator =(other); -#foreach($statment in ${copyAssignmentStatements}) - ${statment} -#end - return *this; - } - -#end -#if(!$moveAssignemntStatements.isEmpty() || $metadata.hasEndpointDiscoveryTrait) - ${metadata.classNamePrefix}ClientConfiguration& operator=(${metadata.classNamePrefix}ClientConfiguration&& other) noexcept - { - if (this == &other) - return *this; - Aws::Client::GenericClientConfiguration::operator =(std::move(other)); -#foreach($statment in ${moveAssignemntStatements}) - ${statment} -#end - return *this; - } - -#end ${metadata.classNamePrefix}ClientConfiguration(const Aws::Client::ClientConfigurationInitValues &configuration = {}); /** @@ -123,18 +69,11 @@ namespace ${rootNamespace} ${metadata.classNamePrefix}ClientConfiguration(bool useSmartDefaults, const char* defaultMode = "legacy", bool shouldDisableIMDS = false); /** - * Converting constructors for compatibility with a legacy code + * Create a configuration that starts from shared settings (region, timeouts, proxy, retry, ...), + * then loads this service's options from the environment and profile. + * Explicit, so a client is never built from the shared configuration implicitly. */ -#set($classNamePrefix = $metadata.classNamePrefix) -#set($clsPrefixWSpace = $classNamePrefix.replaceAll(".", " ")) -#set($earlyClose = $serviceModel.metadata.serviceId != "S3") - ${classNamePrefix}ClientConfiguration(const Aws::Client::ClientConfiguration& config#if($earlyClose));#else, -#end -#if($serviceModel.metadata.serviceId == "S3") - ${clsPrefixWSpace} Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy = Client::AWSAuthV4Signer::PayloadSigningPolicy::Never, - ${clsPrefixWSpace} bool iUseVirtualAddressing = true, - ${clsPrefixWSpace} US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption = US_EAST_1_REGIONAL_ENDPOINT_OPTION::NOT_SET); -#end + explicit ${metadata.classNamePrefix}ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig); #if($serviceModel.metadata.serviceId == "S3") bool useVirtualAddressing = true; @@ -156,30 +95,17 @@ namespace ${rootNamespace} return Aws::MakeShared("${metadata.classNamePrefix}ClientConfiguration", client); }; #end -#if($metadata.hasEndpointDiscoveryTrait) - - /** - * Enable endpoint discovery - * For some services to dynamically set up their endpoints for different requests. - * By default, service clients will decide if endpoint discovery is enabled or not. - * If disabled, regional or overridden endpoint will be used instead. - * If a request requires endpoint discovery, but it was disabled then the request will never succeed. - * A boolean value is either true of false, use Optional here to have an instance does not contain a value, - * such that SDK will decide the default behavior as stated before, if no value specified. -#if($metadata.requireEndpointDiscovery) - * $serviceModel.metadata.serviceId service client requires endpoint discovery. The default value for this setting is Enabled. -#else - * $serviceModel.metadata.serviceId service client does not require endpoint discovery. The default value for this setting is Disabled. -#end - */ - Aws::Crt::Optional& enableEndpointDiscovery; - -#end +#parse("com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationOptionMembers.vm") #if($serviceNamespace == "S3Crt") #parse("com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/s3-crt/S3CrtClientConfigHeader.vm") #end private: void Load${serviceNamespace}SpecificConfig(const Aws::String& profileName); }; + + /** + * Values of this service's supported options that the client hands to core. + */ + ${exportValue} Aws::Client::ServiceClientOptions GetServiceClientOptions(const ${metadata.classNamePrefix}ClientConfiguration& config); } } \ No newline at end of file diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationOptionMembers.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationOptionMembers.vm new file mode 100644 index 000000000000..86d2fd52b544 --- /dev/null +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationOptionMembers.vm @@ -0,0 +1,123 @@ +## +## Service-specific options: declared only when the service's model or endpoint rules support them. +## The list comes from ServiceModel.getSupportedClientOptions(). +## +#set($options = $serviceModel.supportedClientOptions) +#if($options.contains("useFIPS")) + + /** + * Use FIPS endpoint in the endpoint calculation. Please check first that the service supports FIPS in a selected region. + */ + bool useFIPS = false; +#end +#if($options.contains("useDualStack")) + + /** + * Use dual stack endpoint in the endpoint calculation. It is your responsibility to verify that the service supports ipv6 in the region you select. + */ + bool useDualStack = false; +#end +#if($options.contains("accountId")) + + /** + * The AWS account ID. Used for account-based endpoint routing. An AWS account ID has a format like 111122223333. + * Account-based endpoint routing provides better request performance for some services. + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountId; +#end +#if($options.contains("accountIdEndpointMode")) + + /** + * This setting is used to turn off account-based endpoint routing if necessary, and bypass account-based rules. + * Can be the case sensitive string values "required", "disabled", or "preferred". Defaults to "preferred". + * + * https://docs.aws.amazon.com/sdkref/latest/guide/feature-account-endpoints.html + */ + Aws::String accountIdEndpointMode = "preferred"; +#end +#if($options.contains("enableEndpointDiscovery")) + + /** + * Enable endpoint discovery + * For some services to dynamically set up their endpoints for different requests. + * By default, service clients will decide if endpoint discovery is enabled or not. + * If disabled, regional or overridden endpoint will be used instead. + * If a request requires endpoint discovery, but it was disabled then the request will never succeed. + * A boolean value is either true of false, use Optional here to have an instance does not contain a value, + * such that SDK will decide the default behavior as stated before, if no value specified. +#if($metadata.requireEndpointDiscovery) + * $serviceModel.metadata.serviceId service client requires endpoint discovery. The default value for this setting is Enabled. +#else + * $serviceModel.metadata.serviceId service client does not require endpoint discovery. The default value for this setting is Disabled. +#end + */ + Aws::Crt::Optional enableEndpointDiscovery; +#end +#if($options.contains("enableHostPrefixInjection")) + + /** + * Enable host prefix injection. + * For services whose endpoint is injectable. e.g. servicediscovery, you can modify the http host's prefix so as to add "data-" prefix for DiscoverInstances request. + * Default to true, enabled. You can disable it for testing purpose. + */ + bool enableHostPrefixInjection = true; +#end +#if($options.contains("requestCompressionConfig")) + + /** + * Request compression configuration + * To use this feature, the service needs to provide the support, and the compression + * algorithms needs to be available at SDK build time. + */ + Aws::Client::RequestCompressionConfig requestCompressionConfig; +#end +#if($options.contains("checksumConfig")) + + /** + * Request checksum calculation and response checksum validation settings. + */ + Aws::Client::ChecksumConfig checksumConfig; +#end +#if($options.contains("disableExpectHeader")) + + /** + * When set to true, the SDK will NOT add "Expect: 100-Continue" header to any HTTP request, + * including streaming operations. + * + * By default (false), the SDK automatically adds "Expect: 100-Continue" only to streaming + * requests (operations with streaming input bodies). This allows the server to reject the + * request before the client sends a potentially large payload, saving bandwidth on failures. + * Non-streaming requests never receive the Expect header regardless of this setting. + * + * Set to true if you are going through a proxy or middleware that does not correctly + * handle the Expect: 100-Continue mechanism. + */ + bool disableExpectHeader = false; + + /** + * Control HTTP client chunking implementation mode. + * Default is set automatically: CLIENT_IMPLEMENTATION for custom clients, DEFAULT for AWS clients. + */ + Aws::Client::HttpClientChunkedMode httpClientChunkedMode = Aws::Client::HttpClientChunkedMode::CLIENT_IMPLEMENTATION; + + /** + * Buffer size in bytes that will be used to content encode + * bodies using aws-chunked. Changing this is useful when you + * want to minimize memory use while uploading. Size MUST + * be greater than 8KB otherwise the service may reject the request. + * + * Defaults to 64KiB. + * + * https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-streaming.html + */ + size_t awsChunkedBufferSize = Aws::Client::DEFAULT_AWS_CHUNKED_BUFFER_SIZE; +#end +#if($options.contains("sigV4aSigningRegionSet")) + + /** + * List of AWS regions for SigV4a multi-region signing. + */ + Aws::Vector sigV4aSigningRegionSet; +#end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationSource.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationSource.vm index 11679bd614cb..dedca1c74732 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationSource.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationSource.vm @@ -124,6 +124,25 @@ void ${metadata.classNamePrefix}ClientConfiguration::Load${serviceNamespace}Spec useArnRegion = true; } #end +#set($options = $serviceModel.supportedClientOptions) +#if($options.contains("useFIPS")) + useFIPS = Aws::Client::LoadUseFIPSFromEnvOrProfile(this->profileName); +#end +#if($options.contains("useDualStack")) + useDualStack = Aws::Client::LoadUseDualStackFromEnvOrProfile(this->profileName); +#end +#if($options.contains("accountIdEndpointMode")) + accountIdEndpointMode = Aws::Client::LoadAccountIdEndpointModeFromEnvOrProfile(this->profileName); +#end +#if($options.contains("requestCompressionConfig")) + requestCompressionConfig = Aws::Client::LoadRequestCompressionConfigFromEnvOrProfile(this->profileName); +#end +#if($options.contains("checksumConfig")) + checksumConfig = Aws::Client::LoadChecksumConfigFromEnvOrProfile(this->profileName); +#end +#if($options.contains("sigV4aSigningRegionSet")) + sigV4aSigningRegionSet = Aws::Client::LoadSigV4aSigningRegionSetFromEnvOrProfile(this->profileName); +#end #if($metadata.hasEndpointDiscoveryTrait) #set($inputProfileNameUsed = true) if(!enableEndpointDiscovery) { @@ -163,40 +182,53 @@ void ${metadata.classNamePrefix}ClientConfiguration::Load${serviceNamespace}Spec } ${metadata.classNamePrefix}ClientConfiguration::${metadata.classNamePrefix}ClientConfiguration(const Aws::Client::ClientConfigurationInitValues &configuration) -: BaseClientConfigClass(configuration)#if($metadata.hasEndpointDiscoveryTrait), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)#end${nl}{ +: BaseClientConfigClass(configuration)${nl}{ Load${serviceNamespace}SpecificConfig(this->profileName); } ${metadata.classNamePrefix}ClientConfiguration::${metadata.classNamePrefix}ClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS) -: BaseClientConfigClass(inputProfileName, shouldDisableIMDS)#if($metadata.hasEndpointDiscoveryTrait), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)#end${nl}{ +: BaseClientConfigClass(inputProfileName, shouldDisableIMDS)${nl}{ Load${serviceNamespace}SpecificConfig(Aws::String(inputProfileName)); } ${metadata.classNamePrefix}ClientConfiguration::${metadata.classNamePrefix}ClientConfiguration(bool useSmartDefaults, const char* defaultMode, bool shouldDisableIMDS) -: BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS)#if($metadata.hasEndpointDiscoveryTrait), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)#end${nl}{ +: BaseClientConfigClass(useSmartDefaults, defaultMode, shouldDisableIMDS)${nl}{ + Load${serviceNamespace}SpecificConfig(this->profileName); +} + +${metadata.classNamePrefix}ClientConfiguration::${metadata.classNamePrefix}ClientConfiguration(const Aws::Client::ClientConfiguration& sharedConfig) +: BaseClientConfigClass(sharedConfig) +{ Load${serviceNamespace}SpecificConfig(this->profileName); } -#set($classNamePrefix = $metadata.classNamePrefix) -#set($clsPrefixWSpace = $classNamePrefix.replaceAll(".", " ")) -#set($earlyClose = $serviceModel.metadata.serviceId != "S3") -${classNamePrefix}ClientConfiguration::${classNamePrefix}ClientConfiguration(const Aws::Client::ClientConfiguration& config#if($earlyClose))#else, +Aws::Client::ServiceClientOptions GetServiceClientOptions(const ${metadata.classNamePrefix}ClientConfiguration& config) +{ + Aws::Client::ServiceClientOptions options; +#if($options.contains("requestCompressionConfig")) + options.requestCompressionConfig = config.requestCompressionConfig; #end -#if($serviceModel.metadata.serviceId == "S3") -${clsPrefixWSpace} ${clsPrefixWSpace}Client::AWSAuthV4Signer::PayloadSigningPolicy iPayloadSigningPolicy, -${clsPrefixWSpace} ${clsPrefixWSpace}bool iUseVirtualAddressing, -${clsPrefixWSpace} ${clsPrefixWSpace}US_EAST_1_REGIONAL_ENDPOINT_OPTION iUseUSEast1RegionalEndPointOption) +#if($options.contains("checksumConfig")) + options.checksumConfig = config.checksumConfig; #end - : BaseClientConfigClass(config)#if($metadata.hasEndpointDiscoveryTrait), enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)#end#if($serviceModel.metadata.serviceId == "S3"), -#else +#if($options.contains("disableExpectHeader")) + options.disableExpectHeader = config.disableExpectHeader; + options.httpClientChunkedMode = config.httpClientChunkedMode; + options.awsChunkedBufferSize = config.awsChunkedBufferSize; #end -#if($serviceModel.metadata.serviceId == "S3") - useVirtualAddressing(iUseVirtualAddressing), - useUSEast1RegionalEndPointOption(iUseUSEast1RegionalEndPointOption), - payloadSigningPolicy(iPayloadSigningPolicy) +#if($options.contains("sigV4aSigningRegionSet")) + options.sigV4aSigningRegionSet = config.sigV4aSigningRegionSet; #end -{ - Load${serviceNamespace}SpecificConfig(this->profileName); +#if($options.contains("accountId")) + options.accountId = config.accountId; +#end +#if($options.contains("accountIdEndpointMode")) + options.accountIdEndpointMode = config.accountIdEndpointMode; +#end +#if(!$options.contains("requestCompressionConfig") && !$options.contains("checksumConfig") && !$options.contains("disableExpectHeader") && !$options.contains("sigV4aSigningRegionSet") && !$options.contains("accountId") && !$options.contains("accountIdEndpointMode")) + (void)(config); +#end + return options; } #if($serviceNamespace == "S3Crt") diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/model/ServiceClientModelHeaderInclude.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/model/ServiceClientModelHeaderInclude.vm index fb3e9b1d4f0a..9b3895853e7c 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/model/ServiceClientModelHeaderInclude.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/model/ServiceClientModelHeaderInclude.vm @@ -83,9 +83,6 @@ namespace ${rootNamespace} namespace ${metadata.namespace} { -#if(!$serviceModel.hasServiceSpecificClientConfig()) - using ${metadata.classNamePrefix}ClientConfiguration = Aws::Client::GenericClientConfiguration; -#end using ${metadata.classNamePrefix}EndpointProviderBase = Aws::${metadata.namespace}::Endpoint::${metadata.classNamePrefix}EndpointProviderBase; using ${metadata.classNamePrefix}EndpointProvider = Aws::${metadata.namespace}::Endpoint::${metadata.classNamePrefix}EndpointProvider; diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/endpoint/EndpointProviderHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/endpoint/EndpointProviderHeader.vm index 1e9723a0921f..618724e19e37 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/endpoint/EndpointProviderHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/endpoint/EndpointProviderHeader.vm @@ -17,19 +17,13 @@ #if($serviceModel.metadata.serviceId == "S3" || $serviceModel.metadata.serviceId == "S3 Control") #set($hasServiceSpecificEpParams = true) #end -#if($serviceModel.endpointRuleSetModel.parameters.containsKey("AccountId")) -#set($hasServiceSpecificEpParams = true) -#end -#if($serviceModel.endpointRuleSetModel.parameters.containsKey("AccountIdEndpointMode")) +#set($options = $serviceModel.supportedClientOptions) +#if($options.contains("accountId") || $options.contains("accountIdEndpointMode") || $options.contains("useFIPS") || $options.contains("useDualStack")) #set($hasServiceSpecificEpParams = true) #end #pragma once \#include -#if($serviceModel.hasServiceSpecificClientConfig()) \#include -#else -\#include -#end \#include \#include \#include @@ -43,9 +37,7 @@ namespace ${serviceNamespace} { namespace Endpoint { -#if($serviceModel.hasServiceSpecificClientConfig()) using ${metadata.classNamePrefix}ClientConfiguration = Aws::${serviceNamespace}::${metadata.classNamePrefix}ClientConfiguration; -#end using EndpointParameters = Aws::Endpoint::EndpointParameters; using Aws::Endpoint::EndpointProviderBase; using Aws::Endpoint::${epProviderType}; @@ -77,10 +69,6 @@ public: using ${epContextClassName} = Aws::Endpoint::ClientContextParameters; #end -#if(!$serviceModel.hasServiceSpecificClientConfig()) -using ${metadata.classNamePrefix}ClientConfiguration = Aws::Client::GenericClientConfiguration; -#end -#if($serviceModel.hasServiceSpecificClientConfig()) class ${exportMacro} ${epBuiltInClassName} : public Aws::Endpoint::BuiltInParameters { public: @@ -94,9 +82,6 @@ private: void SetServiceSpecificParameters(const ${metadata.classNamePrefix}ClientConfiguration& config); #end }; -#else -using ${epBuiltInClassName} = Aws::Endpoint::BuiltInParameters; -#end /** * The type for the ${serviceNamespace} Client Endpoint Provider. @@ -109,7 +94,6 @@ using ${metadata.classNamePrefix}EndpointProviderBase = using ${metadata.classNamePrefix}DefaultEpProviderBase = ${epProviderType}<${metadata.classNamePrefix}ClientConfiguration, ${epBuiltInClassName}, ${epContextClassName}>; -#if($serviceModel.hasServiceSpecificClientConfig() || $serviceModel.clientContextParams) } // namespace Endpoint } // namespace ${serviceNamespace} @@ -129,7 +113,6 @@ namespace ${serviceNamespace} { namespace Endpoint { -#end /** * Default endpoint provider used for this service */ diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/endpoint/EndpointProviderSource.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/endpoint/EndpointProviderSource.vm index d57aca5e100b..7909e525b9fb 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/endpoint/EndpointProviderSource.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/endpoint/EndpointProviderSource.vm @@ -15,10 +15,8 @@ #if($serviceModel.metadata.serviceId == "S3" || $serviceModel.metadata.serviceId == "S3 Control") #set($hasServiceSpecificEpParams = true) #end -#if($serviceModel.endpointRuleSetModel.parameters.containsKey("AccountId")) -#set($hasServiceSpecificEpParams = true) -#end -#if($serviceModel.endpointRuleSetModel.parameters.containsKey("AccountIdEndpointMode")) +#set($options = $serviceModel.supportedClientOptions) +#if($options.contains("accountId") || $options.contains("accountIdEndpointMode") || $options.contains("useFIPS") || $options.contains("useDualStack")) #set($hasServiceSpecificEpParams = true) #end \#include @@ -28,7 +26,6 @@ namespace ${rootNamespace} { -#if($serviceModel.hasServiceSpecificClientConfig() || $serviceModel.clientContextParams) #ifndef AWS_${metadata.classNamePrefix.toUpperCase()}_EXPORTS // Except for Windows DLL namespace Endpoint { @@ -45,7 +42,6 @@ template class Aws::Endpoint::${epProviderType}<${serviceNamespace}::Endpoint::$ } // namespace Endpoint #endif -#end namespace ${serviceNamespace} { namespace Endpoint @@ -80,7 +76,6 @@ ${metadata.classNamePrefix}EndpointProvider::${metadata.classNamePrefix}Endpoint } #end #end -#if($serviceModel.hasServiceSpecificClientConfig()) void ${epBuiltInClassName}::SetFromClientConfiguration(const ${metadata.classNamePrefix}ClientConfiguration& config) { SetFromClientConfiguration(static_cast(config)); @@ -104,12 +99,22 @@ ${metadata.classNamePrefix}EndpointProvider::${metadata.classNamePrefix}Endpoint static const char* AWS_S3_USE_ARN_REGION = "UseArnRegion"; SetBooleanParameter(AWS_S3_USE_ARN_REGION, config.useArnRegion); #end -#if($serviceModel.endpointRuleSetModel.parameters.containsKey("AccountId")) +#if($options.contains("useFIPS")) + if (config.useFIPS) { + SetBooleanParameter("UseFIPS", true); + } +#end +#if($options.contains("useDualStack")) + if (config.useDualStack) { + SetBooleanParameter("UseDualStack", true); + } +#end +#if($options.contains("accountId")) if(!config.accountId.empty()) { SetStringParameter("AccountId", config.accountId); } #end -#if($serviceModel.endpointRuleSetModel.parameters.containsKey("AccountIdEndpointMode")) +#if($options.contains("accountIdEndpointMode")) if(!config.accountIdEndpointMode.empty()) { SetStringParameter("AccountIdEndpointMode", config.accountIdEndpointMode); } @@ -143,7 +148,6 @@ ${metadata.classNamePrefix}EndpointProvider::${metadata.classNamePrefix}Endpoint } #end #end -#end } // namespace Endpoint } // namespace ${serviceNamespace} } // namespace ${rootNamespace} diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/json/JsonServiceClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/json/JsonServiceClientHeader.vm index ad835ca14dbe..35f64f73b2bd 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/json/JsonServiceClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/json/JsonServiceClientHeader.vm @@ -51,7 +51,6 @@ namespace ${serviceNamespace} #set($json_virtual = "virtual ") #end - ${json_virtual}void OverrideEndpoint(const Aws::String& endpoint); #if($serviceModel.endpointRules) ${json_virtual}std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& accessEndpointProvider(); #end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsTestSuiteSrc.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsTestSuiteSrc.vm index 62c3c11a0850..0f11d4d9367a 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsTestSuiteSrc.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/protocoltests/ProtocolTestsTestSuiteSrc.vm @@ -14,7 +14,7 @@ using namespace Aws::$serviceNs::Model; #foreach($case in $testSuite.cases) AWS_PROTOCOL_TEST($testSuite.name, $case.id) { - $serviceClient client(mockCredentials, mockConfig); + $serviceClient client(mockCredentials, nullptr, Aws::${serviceNs}::${serviceModel.metadata.classNamePrefix}ClientConfiguration(mockConfig)); #if($case.input && $serviceModel.metadata.protocol == "smithy-rpc-v2-cbor") //Cbor specific diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/rds/RDSClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/rds/RDSClientHeader.vm index 2cef4ed87c6f..44cb6c7041a5 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/rds/RDSClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/rds/RDSClientHeader.vm @@ -55,7 +55,6 @@ namespace ${rootNamespace} #end #parse("com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientHeaderOperations.vm") - ${rds_virtual}void OverrideEndpoint(const Aws::String& endpoint); #if($serviceModel.endpointRules) ${rds_virtual}std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& accessEndpointProvider(); #end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm index 2a382b08b8b6..7affe30a9782 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/S3ClientHeader.vm @@ -201,7 +201,9 @@ namespace ${rootNamespace} ${s3_virtual}bool MultipartUploadSupported() const; +#if($serviceNamespace == "S3Crt") ${s3_virtual}void OverrideEndpoint(const Aws::String& endpoint); +#end #if($serviceModel.endpointRules) ${s3_virtual}std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& accessEndpointProvider(); #end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ClientHeader.vm index a3e88f4f52fd..e5c4104ac01e 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ClientHeader.vm @@ -217,7 +217,9 @@ namespace ${rootNamespace} ${s3_smithy_virtual}bool MultipartUploadSupported() const; +#if($serviceNamespace == "S3Crt") ${s3_smithy_virtual}void OverrideEndpoint(const Aws::String& endpoint); +#end #if($serviceModel.endpointRules) ${s3_smithy_virtual}std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& accessEndpointProvider(); #end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3control/S3ControlClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3control/S3ControlClientHeader.vm index 45f919a4637b..03629ee2206a 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3control/S3ControlClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3control/S3ControlClientHeader.vm @@ -62,7 +62,6 @@ namespace ${metadata.namespace} #set($s3_control_virtual = "virtual ") #end - ${s3_control_virtual}void OverrideEndpoint(const Aws::String& endpoint); #if($serviceModel.endpointRules) ${s3_control_virtual}std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& accessEndpointProvider(); #end diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/smithy/SmithyClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/smithy/SmithyClientHeader.vm index bff4908a4597..fc2f94820988 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/smithy/SmithyClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/smithy/SmithyClientHeader.vm @@ -106,7 +106,6 @@ namespace ${serviceNamespace} #foreach($presigner in $serviceModel.presigners) ${smithy_virtual}Aws::Utils::Outcome ${presigner.functionName}(const Aws::String& ${presigner.hostNameVarName}, const Aws::String& ${presigner.regionVarName},#foreach($arg in $presigner.queryParams)#if(${arg.variableName}) ${arg.type} ${arg.variableName},#end#end long long expiresIn = 900); #end - ${smithy_virtual}void OverrideEndpoint(const ${rootNamespace}::String& endpoint); ${smithy_virtual}std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& accessEndpointProvider(); private: friend class ${rootNamespace}::Client::ClientWithAsyncTemplateMethods<${className}>; diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/smithy/SmithyClientSourceInit.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/smithy/SmithyClientSourceInit.vm index fd54126b9f59..ac0e48cebf51 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/smithy/SmithyClientSourceInit.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/smithy/SmithyClientSourceInit.vm @@ -16,28 +16,6 @@ ${className}::${className}(const Aws::UnorderedMap(ALLOCATION_TAG), - Aws::MakeShared<${metadata.classNamePrefix}EndpointProvider>(ALLOCATION_TAG), - Aws::MakeShared>(ALLOCATION_TAG, Aws::Vector({$AuthSchemeOptions})), - { -#foreach($entry in $AuthSchemeMapEntries) - #if($entry.contains("smithy::BearerTokenAuthScheme")) - {${entry}{Aws::MakeShared(ALLOCATION_TAG, bearerTokenProvider), GetServiceName(), clientConfiguration.region}}, - #else - {${entry}{GetServiceName(), clientConfiguration.region}}, - #end -#end - }) -{ -} -#end ## END OF BEARER TOKEN AUTH PROVIDER C-TOR @@ -178,94 +156,6 @@ ${className}::${className}(const std::shared_ptr& creden /* Legacy constructors due deprecation */ #if($serviceModel.metadata.serviceId == "S3") -${className}::${className}(const Aws::Client::ClientConfiguration& clientConfiguration, - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, - bool useVirtualAddressing /*= true*/, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption): - AwsSmithyClientT( - ${clientConfiguration}{clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption}, - GetServiceName(), - "${metadata.serviceId}", - Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG), - Aws::MakeShared<${metadata.classNamePrefix}EndpointProvider>(ALLOCATION_TAG), - Aws::MakeShared<${AuthSchemeResolver}>(ALLOCATION_TAG), - { - [&]() -> Aws::UnorderedMap > { - auto credsResolver = Aws::MakeShared(ALLOCATION_TAG, clientConfiguration.ResolveCredentialProviderConfig()); - return { -#foreach($entry in $AuthSchemeMapEntries) -#if($AuthSchemes && $AuthSchemes[$foreach.index] == $s3_express_auth) - {${entry}{Aws::MakeShared(ALLOCATION_TAG, *this), GetServiceName(), Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false}}, -#else - {${entry}{credsResolver, GetServiceName(), Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false}}, -#end -#end - }; - }() - }) -{} - -${className}::${className}( - const Aws::Auth::AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration, - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, - bool useVirtualAddressing /*= true*/, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption): - AwsSmithyClientT( - ${clientConfiguration}{clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption}, - GetServiceName(), - "${metadata.serviceId}", - Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG), - Aws::MakeShared<${metadata.classNamePrefix}EndpointProvider>(ALLOCATION_TAG), - Aws::MakeShared<${AuthSchemeResolver}>(ALLOCATION_TAG), - { - [&]() -> Aws::UnorderedMap > { - auto credsResolver = Aws::MakeShared(ALLOCATION_TAG, credentials ); - return { -#foreach($entry in $AuthSchemeMapEntries) -#if($AuthSchemes && $AuthSchemes[$foreach.index] == $s3_express_auth) - {${entry}{Aws::MakeShared(ALLOCATION_TAG, *this), GetServiceName(), Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false}}, -#else - {${entry}{credsResolver, GetServiceName(), Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false}}, -#end -#end - }; - }() - }) -{} - -${className}::${className}( - const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration, - Aws::Client::AWSAuthV4Signer::PayloadSigningPolicy signPayloads /*= Never*/, - bool useVirtualAddressing /*= true*/, - Aws::S3::US_EAST_1_REGIONAL_ENDPOINT_OPTION USEast1RegionalEndPointOption): - AwsSmithyClientT( - ${clientConfiguration}{clientConfiguration, signPayloads, useVirtualAddressing, USEast1RegionalEndPointOption}, - GetServiceName(), - "${metadata.serviceId}", - Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG), - Aws::MakeShared<${metadata.classNamePrefix}EndpointProvider>(ALLOCATION_TAG), - Aws::MakeShared<${AuthSchemeResolver}>(ALLOCATION_TAG), - { - [&]() -> Aws::UnorderedMap > { - auto credsResolver = Aws::MakeShared(ALLOCATION_TAG, credentialsProvider ); - return { -#foreach($entry in $AuthSchemeMapEntries) -#if($AuthSchemes && $AuthSchemes[$foreach.index] == $s3_express_auth) - {${entry}{Aws::MakeShared(ALLOCATION_TAG, *this), GetServiceName(), Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false}}, -#else - {${entry}{credsResolver, GetServiceName(), Aws::Region::ComputeSignerRegion(clientConfiguration.region), signPayloads, false}}, -#end -#end - }; - }() - }) -{} - ${className}& ${className}::operator=(const ${className} &rhs) = default; ${className}& ${className}::operator=(${className} &&rhs) = default; @@ -290,85 +180,6 @@ ${className}::${className}(const ${className} &rhs) : S3Client::S3Client(${className} &&rhs) noexcept : AwsSmithyClientT(std::move(rhs)) {} -#else -${className}::${className}(const Aws::Client::ClientConfiguration& clientConfiguration) : - AwsSmithyClientT(clientConfiguration, - GetServiceName(), - "${metadata.serviceId}", - Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG), - Aws::MakeShared<${metadata.classNamePrefix}EndpointProvider>(ALLOCATION_TAG), -#if(!$IsMultiAuth) - Aws::MakeShared>(ALLOCATION_TAG, Aws::Vector({$AuthSchemeOptions})), -#else - Aws::MakeShared(ALLOCATION_TAG, ${metadata.classNamePrefix}EndpointProvider, ${clientConfiguration}), -#end - { -#foreach($entry in $AuthSchemeMapEntries) - #if($entry.contains("smithy::BearerTokenAuthScheme") && $serviceModel.metadata.signingName == "bedrock") - {${entry}{Aws::MakeShared<${metadata.classNamePrefix}AwsBearerTokenIdentityResolver>("BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), GetServiceName(), clientConfiguration.region}}, - #else - {${entry}{GetServiceName(), clientConfiguration.region, clientConfiguration.ResolveCredentialProviderConfig()}}, - #end -#end - }) -{} - -${className}::${className}(const AWSCredentials& credentials, - const Aws::Client::ClientConfiguration& clientConfiguration) : - AwsSmithyClientT(clientConfiguration, - GetServiceName(), - "${metadata.serviceId}", - Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG), - Aws::MakeShared<${metadata.classNamePrefix}EndpointProvider>(ALLOCATION_TAG), -#if(!$IsMultiAuth) - Aws::MakeShared>(ALLOCATION_TAG, Aws::Vector({$AuthSchemeOptions})), -#else - Aws::MakeShared(ALLOCATION_TAG, ${metadata.classNamePrefix}EndpointProvider, ${clientConfiguration}), -#end - { -#foreach($entry in $AuthSchemeMapEntries) -#if(!$entry.contains("smithy::BearerTokenAuthScheme")) - {$entry{Aws::MakeShared(ALLOCATION_TAG, credentials), GetServiceName(), clientConfiguration.region}}, -#else - #if($entry.contains("smithy::BearerTokenAuthScheme") && $serviceModel.metadata.signingName == "bedrock") - {${entry}{Aws::MakeShared<${metadata.classNamePrefix}AwsBearerTokenIdentityResolver>("BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), GetServiceName(), clientConfiguration.region}}, - #else - {${entry}{GetServiceName(), clientConfiguration.region, clientConfiguration.ResolveCredentialProviderConfig()}} - #end - -#end -#end - }) -{} - -${className}::${className}(const std::shared_ptr& credentialsProvider, - const Aws::Client::ClientConfiguration& clientConfiguration) : - AwsSmithyClientT(clientConfiguration, - GetServiceName(), - "${metadata.serviceId}", - Aws::Http::CreateHttpClient(clientConfiguration), - Aws::MakeShared<${metadata.classNamePrefix}ErrorMarshaller>(ALLOCATION_TAG), - Aws::MakeShared<${metadata.classNamePrefix}EndpointProvider>(ALLOCATION_TAG), -#if(!$IsMultiAuth) - Aws::MakeShared>(ALLOCATION_TAG, Aws::Vector({$AuthSchemeOptions})), -#else - Aws::MakeShared(ALLOCATION_TAG, ${metadata.classNamePrefix}EndpointProvider, ${clientConfiguration}), -#end { -#foreach($entry in $AuthSchemeMapEntries) -#if(!$entry.contains("smithy::BearerTokenAuthScheme")) - {$entry{Aws::MakeShared(ALLOCATION_TAG, credentialsProvider), GetServiceName(), clientConfiguration.region}}, -#else - #if($serviceModel.metadata.serviceId == "Bedrock" || $serviceModel.metadata.serviceId == "Bedrock Runtime" || $serviceModel.metadata.serviceId == "Bedrock Agent" || $serviceModel.metadata.serviceId == "Bedrock Agent Runtime") - {${entry}{Aws::MakeShared<${metadata.classNamePrefix}AwsBearerTokenIdentityResolver>("BearerTokenAuthScheme", clientConfiguration.ResolveCredentialProviderConfig()), GetServiceName(), clientConfiguration.region}} - #else - {${entry}{GetServiceName(), clientConfiguration.region, clientConfiguration.ResolveCredentialProviderConfig()}} - #end -#end -#end - }) -{} #end #end /* End of legacy constructors due deprecation */ @@ -381,11 +192,4 @@ ${className}::~${className}() std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& ${className}::accessEndpointProvider() { return m_endpointProvider; -} - -void ${className}::OverrideEndpoint(const Aws::String& endpoint) -{ - AWS_CHECK_PTR(SERVICE_NAME, m_endpointProvider); - m_clientConfiguration.endpointOverride = endpoint; - m_endpointProvider->OverrideEndpoint(endpoint); } \ No newline at end of file diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/XmlServiceClientHeader.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/XmlServiceClientHeader.vm index c1e876676ea5..ee1f5b89542b 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/XmlServiceClientHeader.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/xml/XmlServiceClientHeader.vm @@ -58,7 +58,6 @@ namespace ${serviceNamespace} #set($xml_virtual = "virtual ") #end - ${xml_virtual}void OverrideEndpoint(const Aws::String& endpoint); #if($serviceModel.endpointRules) ${xml_virtual}std::shared_ptr<${metadata.classNamePrefix}EndpointProviderBase>& accessEndpointProvider(); #end diff --git a/tools/code-generation/smithy/codegen/cpp-smoke-tests-codegen/src/main/java/com/amazonaws/util/awsclientsmithygenerator/generators/SmokeTestsSourceWriter.java b/tools/code-generation/smithy/codegen/cpp-smoke-tests-codegen/src/main/java/com/amazonaws/util/awsclientsmithygenerator/generators/SmokeTestsSourceWriter.java index 609187bc8354..8b3fd402e611 100644 --- a/tools/code-generation/smithy/codegen/cpp-smoke-tests-codegen/src/main/java/com/amazonaws/util/awsclientsmithygenerator/generators/SmokeTestsSourceWriter.java +++ b/tools/code-generation/smithy/codegen/cpp-smoke-tests-codegen/src/main/java/com/amazonaws/util/awsclientsmithygenerator/generators/SmokeTestsSourceWriter.java @@ -57,8 +57,16 @@ protected void defineTestCase(SmokeTestData test) { write("clientConfiguration.region = \"$L\";",configParams.getRegion()); } - write("clientConfiguration.useFIPS = $L;",configParams.useFips()) - .write("clientConfiguration.useDualStack = $L;",configParams.useDualstack()); + // Only emit options that are turned on: false is the default, and a service's configuration + // only has useFIPS/useDualStack when its endpoint rules support them. + if (configParams.useFips()) + { + write("clientConfiguration.useFIPS = true;"); + } + if (configParams.useDualstack()) + { + write("clientConfiguration.useDualStack = true;"); + } } //for s3, needs to be handled when client code is ready to use the parameters passed in client configuration