From ecef92cc443185f383878c2c9301dfaaac5bdf4d Mon Sep 17 00:00:00 2001 From: Avery Kuo Date: Thu, 5 Nov 2026 16:12:30 -0500 Subject: [PATCH 1/4] Per-client configuration: each client takes only its own service's options - ClientConfiguration keeps only settings every service shares; the 12 service-specific options move to generated per-service configurations, chosen from each service's endpoint rules and model (ServiceModel.getSupportedClientOptions) - Clients can no longer be built from the shared ClientConfiguration; an explicit XClientConfiguration(const ClientConfiguration&) seeds a service config from shared settings - Remove legacy client constructors and OverrideEndpoint (S3Crt unchanged until it becomes an alias of S3Client) - Regenerate DynamoDB, S3, S3 Control, S3 Vectors, STS and S3Crt's configuration --- .../include/aws/dynamodb/DynamoDBClient.h | 22 -- .../dynamodb/DynamoDBClientConfiguration.h | 59 +++-- .../source/DynamoDBClient.cpp | 41 --- .../source/DynamoDBClientConfiguration.cpp | 21 +- .../source/DynamoDBEndpointProvider.cpp | 6 + .../aws/s3-crt/S3CrtClientConfiguration.h | 75 +++++- .../source/S3CrtClientConfiguration.cpp | 24 +- .../source/S3CrtEndpointProvider.cpp | 6 + .../aws-cpp-sdk-s3/include/aws/s3/S3Client.h | 31 --- .../include/aws/s3/S3ClientConfiguration.h | 75 +++++- .../src/aws-cpp-sdk-s3/source/S3Client.cpp | 56 +---- .../source/S3ClientConfiguration.cpp | 23 +- .../source/S3EndpointProvider.cpp | 6 + .../include/aws/s3control/S3ControlClient.h | 22 -- .../s3control/S3ControlClientConfiguration.h | 38 ++- .../source/S3ControlClient.cpp | 48 +--- .../source/S3ControlClientConfiguration.cpp | 11 +- .../source/S3ControlEndpointProvider.cpp | 6 + .../include/aws/s3vectors/S3VectorsClient.h | 22 -- .../s3vectors/S3VectorsClientConfiguration.h | 55 ++++ .../aws/s3vectors/S3VectorsEndpointProvider.h | 33 ++- .../s3vectors/S3VectorsServiceClientModel.h | 1 - .../source/S3VectorsClient.cpp | 42 +--- .../source/S3VectorsClientConfiguration.cpp | 47 ++++ .../source/S3VectorsEndpointProvider.cpp | 30 +++ .../include/aws/sts/STSClient.h | 22 -- .../include/aws/sts/STSClientConfiguration.h | 66 +++++ .../include/aws/sts/STSEndpointProvider.h | 31 ++- .../include/aws/sts/STSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-sts/source/STSClient.cpp | 63 ----- .../source/STSClientConfiguration.cpp | 48 ++++ .../source/STSEndpointProvider.cpp | 31 +++ .../include/aws/core/client/AWSClient.h | 6 + .../aws/core/client/ClientConfiguration.h | 152 ++++------- .../include/aws/core/client/UserAgent.h | 2 + .../include/smithy/client/AwsSmithyClient.h | 4 +- .../smithy/client/AwsSmithyClientBase.h | 16 +- .../client/features/ChecksumInterceptor.h | 6 +- .../client/features/UserAgentInterceptor.h | 2 + .../source/client/AWSClient.cpp | 31 ++- .../source/client/ClientConfiguration.cpp | 164 ++++++------ .../source/client/UserAgent.cpp | 5 +- .../source/endpoint/BuiltInParameters.cpp | 9 +- .../smithy/client/AwsSmithyClientBase.cpp | 36 ++- .../aws/s3-encryption/S3EncryptionClient.h | 24 +- .../s3-encryption/S3EncryptionClient.cpp | 6 +- .../aws/client/AwsConfigTest.cpp | 44 ++-- .../SmithyClientEndpointProviderTest.cpp | 3 + .../smithy/client/AsyncSmithyClientTest.cpp | 11 +- .../utils/stream/ChunkingInterceptorTest.cpp | 10 +- .../TableOperationTest.cpp | 7 +- .../CMakeLists.txt | 4 +- .../DynamoDBClientConfigurationTest.cpp | 141 +++++++++++ .../LiveClientTests.cpp | 40 +-- .../CryptoModulesTest.cpp | 2 +- .../DataHandlersTest.cpp | 6 +- .../BucketAndObjectOperationTest.cpp | 55 ++-- ...ListObjectsV2PaginationIntegrationTest.cpp | 2 +- .../S3ControlTest.cpp | 22 +- .../STSTests.cpp | 2 +- .../TransferTests.cpp | 4 +- .../codegeneration/ServiceModel.java | 64 ++++- .../generators/cpp/CppClientGenerator.java | 7 +- .../cpp/ServiceClientHeaderConstructors.vm | 3 +- .../velocity/cpp/ServiceClientSourceInit.vm | 45 +--- .../ServiceClientSourceLegacyConstructors.vm | 235 ------------------ .../cpp/cbor/CborServiceClientHeader.vm | 1 - .../ServiceClientConfigurationHeader.vm | 94 +------ ...ServiceClientConfigurationOptionMembers.vm | 123 +++++++++ .../ServiceClientConfigurationSource.vm | 70 ++++-- .../model/ServiceClientModelHeaderInclude.vm | 3 - .../cpp/endpoint/EndpointProviderHeader.vm | 21 +- .../cpp/endpoint/EndpointProviderSource.vm | 24 +- .../cpp/json/JsonServiceClientHeader.vm | 1 - .../velocity/cpp/rds/RDSClientHeader.vm | 1 - .../velocity/cpp/s3/S3ClientHeader.vm | 2 + .../velocity/cpp/s3/SmithyS3ClientHeader.vm | 2 + .../cpp/s3control/S3ControlClientHeader.vm | 1 - .../velocity/cpp/smithy/SmithyClientHeader.vm | 1 - .../cpp/smithy/SmithyClientSourceInit.vm | 196 --------------- .../cpp/xml/XmlServiceClientHeader.vm | 1 - 81 files changed, 1387 insertions(+), 1386 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-s3vectors/include/aws/s3vectors/S3VectorsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-s3vectors/source/S3VectorsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sts/include/aws/sts/STSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sts/source/STSClientConfiguration.cpp create mode 100644 tests/aws-cpp-sdk-dynamodb-unit-tests/DynamoDBClientConfigurationTest.cpp delete mode 100644 tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/ServiceClientSourceLegacyConstructors.vm create mode 100644 tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/common/ServiceClientConfigurationOptionMembers.vm 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-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 402e94566f10..df4c5b9eebf5 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; } @@ -316,12 +267,7 @@ void S3Client::init(const S3::S3ClientConfiguration& config) { } 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 49070b2bf762..9a21401cfd57 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; } @@ -238,12 +197,7 @@ void S3ControlClient::init(const S3Control::S3ControlClientConfiguration& config } 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-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 f912671fc683..53c593d69a8b 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; } @@ -149,12 +114,7 @@ void S3VectorsClient::init(const S3Vectors::S3VectorsClientConfiguration& config } 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-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/src/aws-cpp-sdk-core/include/aws/core/client/AWSClient.h b/src/aws-cpp-sdk-core/include/aws/core/client/AWSClient.h index a03fd99dac21..cfe2ce73934a 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 @@ -210,6 +210,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 9799edfa69ab..7bd9244c05e7 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 @@ -180,16 +214,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. */ @@ -351,47 +375,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. @@ -403,13 +391,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 */ @@ -440,22 +421,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 */ @@ -502,27 +467,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 @@ -631,25 +575,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 541186b20501..97512ec972bf 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 @@ -60,6 +60,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); private: const Aws::String m_sdkVersion; 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 35e6436e0a16..b2026e5bd126 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); } + private: Aws::Client::UserAgent m_userAgent; }; diff --git a/src/aws-cpp-sdk-core/source/client/AWSClient.cpp b/src/aws-cpp-sdk-core/source/client/AWSClient.cpp index 8455b59847e2..95e18d0019ed 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); +} + Aws::Client::AWSAuthSigner* AWSClient::GetSignerByName(const char* name) const { const auto& signer = m_signerProvider->GetSigner(name); diff --git a/src/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp b/src/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp index 5449e28d8d14..f52592a47370 100644 --- a/src/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp +++ b/src/aws-cpp-sdk-core/source/client/ClientConfiguration.cpp @@ -235,8 +235,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; @@ -250,54 +248,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"); @@ -312,22 +275,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) @@ -352,26 +299,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, @@ -571,6 +498,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 098688119cb2..6527cefed79d 100644 --- a/src/aws-cpp-sdk-core/source/client/UserAgent.cpp +++ b/src/aws-cpp-sdk-core/source/client/UserAgent.cpp @@ -138,7 +138,10 @@ UserAgent::UserAgent(const ClientConfiguration& clientConfiguration, #undef XSTR #endif { - 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/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/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 10b2e42a5218..d36f737f303d 100644 --- a/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp +++ b/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp @@ -172,7 +172,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; @@ -181,7 +181,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. @@ -1646,7 +1645,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) { @@ -1668,7 +1667,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-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..4e804dcb6842 100644 --- a/tests/aws-cpp-sdk-s3-encryption-tests/CryptoModulesTest.cpp +++ b/tests/aws-cpp-sdk-s3-encryption-tests/CryptoModulesTest.cpp @@ -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) 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-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..e1253387a922 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); @@ -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-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-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/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 fee400b49541..42560c3b2ec5 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}() { @@ -349,6 +344,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) @@ -446,43 +442,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/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 From 51f9e1e08ae53237fec34b8e267b7fb86025a6ee Mon Sep 17 00:00:00 2001 From: Avery Kuo Date: Tue, 10 Nov 2026 15:36:31 -0500 Subject: [PATCH 2/4] Regenerate all services for per-client configuration - Regenerate all 438 service clients: each gets its own ClientConfiguration type with only the options its service supports; legacy constructors and OverrideEndpoint removed - KMSEncryptionMaterials takes KMSClientConfiguration - Update tests to build clients from their service's configuration --- .../aws/AWSMigrationHub/MigrationHubClient.h | 22 ---- .../MigrationHubClientConfiguration.h | 61 +++++++++++ .../MigrationHubEndpointProvider.h | 33 +++++- .../MigrationHubServiceClientModel.h | 1 - .../source/MigrationHubClient.cpp | 42 +------- .../MigrationHubClientConfiguration.cpp | 48 +++++++++ .../source/MigrationHubEndpointProvider.cpp | 34 ++++++ .../aws/accessanalyzer/AccessAnalyzerClient.h | 22 ---- .../AccessAnalyzerClientConfiguration.h | 61 +++++++++++ .../AccessAnalyzerEndpointProvider.h | 33 +++++- .../AccessAnalyzerServiceClientModel.h | 1 - .../source/AccessAnalyzerClient.cpp | 42 +------- .../AccessAnalyzerClientConfiguration.cpp | 48 +++++++++ .../source/AccessAnalyzerEndpointProvider.cpp | 34 ++++++ .../aws/account-access/AccountAccessClient.h | 22 ---- .../AccountAccessClientConfiguration.h | 55 ++++++++++ .../AccountAccessEndpointProvider.h | 33 +++++- .../AccountAccessServiceClientModel.h | 1 - .../source/AccountAccessClient.cpp | 42 +------- .../AccountAccessClientConfiguration.cpp | 47 ++++++++ .../source/AccountAccessEndpointProvider.cpp | 31 ++++++ .../include/aws/account/AccountClient.h | 22 ---- .../aws/account/AccountClientConfiguration.h | 61 +++++++++++ .../aws/account/AccountEndpointProvider.h | 33 +++++- .../aws/account/AccountServiceClientModel.h | 1 - .../source/AccountClient.cpp | 42 +------- .../source/AccountClientConfiguration.cpp | 48 +++++++++ .../source/AccountEndpointProvider.cpp | 33 ++++++ .../include/aws/acm-pca/ACMPCAClient.h | 22 ---- .../aws/acm-pca/ACMPCAClientConfiguration.h | 61 +++++++++++ .../aws/acm-pca/ACMPCAEndpointProvider.h | 33 +++++- .../aws/acm-pca/ACMPCAServiceClientModel.h | 1 - .../source/ACMPCAClient.cpp | 42 +------- .../source/ACMPCAClientConfiguration.cpp | 48 +++++++++ .../source/ACMPCAEndpointProvider.cpp | 31 ++++++ .../include/aws/acm/ACMClient.h | 22 ---- .../include/aws/acm/ACMClientConfiguration.h | 61 +++++++++++ .../include/aws/acm/ACMEndpointProvider.h | 15 ++- .../include/aws/acm/ACMServiceClientModel.h | 1 - .../src/aws-cpp-sdk-acm/source/ACMClient.cpp | 42 +------- .../source/ACMClientConfiguration.cpp | 47 ++++++++ .../source/ACMEndpointProvider.cpp | 18 ++++ .../AgentRegistryControlClient.h | 22 ---- .../AgentRegistryControlClientConfiguration.h | 51 +++++++++ .../AgentRegistryControlEndpointProvider.h | 32 +++++- .../AgentRegistryControlServiceClientModel.h | 1 - .../source/AgentRegistryControlClient.cpp | 43 +------- ...gentRegistryControlClientConfiguration.cpp | 48 +++++++++ .../AgentRegistryControlEndpointProvider.cpp | 24 +++++ .../aws/agent-registry/AgentRegistryClient.h | 22 ---- .../AgentRegistryClientConfiguration.h | 50 +++++++++ .../AgentRegistryEndpointProvider.h | 30 +++++- .../AgentRegistryServiceClientModel.h | 1 - .../source/AgentRegistryClient.cpp | 42 +------- .../AgentRegistryClientConfiguration.cpp | 46 ++++++++ .../source/AgentRegistryEndpointProvider.cpp | 24 +++++ .../include/aws/aiops/AIOpsClient.h | 22 ---- .../aws/aiops/AIOpsClientConfiguration.h | 61 +++++++++++ .../include/aws/aiops/AIOpsEndpointProvider.h | 31 +++++- .../aws/aiops/AIOpsServiceClientModel.h | 1 - .../aws-cpp-sdk-aiops/source/AIOpsClient.cpp | 42 +------- .../source/AIOpsClientConfiguration.cpp | 48 +++++++++ .../source/AIOpsEndpointProvider.cpp | 31 ++++++ .../include/aws/amp/PrometheusServiceClient.h | 22 ---- .../PrometheusServiceClientConfiguration.h | 61 +++++++++++ .../amp/PrometheusServiceEndpointProvider.h | 33 +++++- .../amp/PrometheusServiceServiceClientModel.h | 1 - .../source/PrometheusServiceClient.cpp | 43 +------- .../PrometheusServiceClientConfiguration.cpp | 49 +++++++++ .../PrometheusServiceEndpointProvider.cpp | 34 ++++++ .../include/aws/amplify/AmplifyClient.h | 22 ---- .../aws/amplify/AmplifyClientConfiguration.h | 61 +++++++++++ .../aws/amplify/AmplifyEndpointProvider.h | 33 +++++- .../aws/amplify/AmplifyServiceClientModel.h | 1 - .../source/AmplifyClient.cpp | 42 +------- .../source/AmplifyClientConfiguration.cpp | 48 +++++++++ .../source/AmplifyEndpointProvider.cpp | 33 ++++++ .../aws/amplifybackend/AmplifyBackendClient.h | 22 ---- .../AmplifyBackendClientConfiguration.h | 61 +++++++++++ .../AmplifyBackendEndpointProvider.h | 33 +++++- .../AmplifyBackendServiceClientModel.h | 1 - .../source/AmplifyBackendClient.cpp | 42 +------- .../AmplifyBackendClientConfiguration.cpp | 48 +++++++++ .../source/AmplifyBackendEndpointProvider.cpp | 34 ++++++ .../amplifyuibuilder/AmplifyUIBuilderClient.h | 22 ---- .../AmplifyUIBuilderClientConfiguration.h | 61 +++++++++++ .../AmplifyUIBuilderEndpointProvider.h | 33 +++++- .../AmplifyUIBuilderServiceClientModel.h | 1 - .../source/AmplifyUIBuilderClient.cpp | 43 +------- .../AmplifyUIBuilderClientConfiguration.cpp | 49 +++++++++ .../AmplifyUIBuilderEndpointProvider.cpp | 34 ++++++ .../include/aws/apigateway/APIGatewayClient.h | 22 ---- .../APIGatewayClientConfiguration.h | 93 ++++++++++++++++ .../apigateway/APIGatewayEndpointProvider.h | 33 +++++- .../apigateway/APIGatewayServiceClientModel.h | 1 - .../source/APIGatewayClient.cpp | 44 +------- .../source/APIGatewayClientConfiguration.cpp | 50 +++++++++ .../source/APIGatewayEndpointProvider.cpp | 33 ++++++ .../ApiGatewayManagementApiClient.h | 22 ---- ...iGatewayManagementApiClientConfiguration.h | 94 ++++++++++++++++ .../ApiGatewayManagementApiEndpointProvider.h | 35 +++++- ...piGatewayManagementApiServiceClientModel.h | 1 - .../source/ApiGatewayManagementApiClient.cpp | 45 +------- ...atewayManagementApiClientConfiguration.cpp | 52 +++++++++ ...piGatewayManagementApiEndpointProvider.cpp | 34 ++++++ .../aws/apigatewayv2/ApiGatewayV2Client.h | 22 ---- .../ApiGatewayV2ClientConfiguration.h | 61 +++++++++++ .../ApiGatewayV2EndpointProvider.h | 33 +++++- .../ApiGatewayV2ServiceClientModel.h | 1 - .../source/ApiGatewayV2Client.cpp | 42 +------- .../ApiGatewayV2ClientConfiguration.cpp | 48 +++++++++ .../source/ApiGatewayV2EndpointProvider.cpp | 34 ++++++ .../include/aws/appconfig/AppConfigClient.h | 22 ---- .../appconfig/AppConfigClientConfiguration.h | 93 ++++++++++++++++ .../aws/appconfig/AppConfigEndpointProvider.h | 33 +++++- .../appconfig/AppConfigServiceClientModel.h | 1 - .../source/AppConfigClient.cpp | 44 +------- .../source/AppConfigClientConfiguration.cpp | 50 +++++++++ .../source/AppConfigEndpointProvider.cpp | 33 ++++++ .../aws/appconfigdata/AppConfigDataClient.h | 22 ---- .../AppConfigDataClientConfiguration.h | 61 +++++++++++ .../AppConfigDataEndpointProvider.h | 33 +++++- .../AppConfigDataServiceClientModel.h | 1 - .../source/AppConfigDataClient.cpp | 42 +------- .../AppConfigDataClientConfiguration.cpp | 48 +++++++++ .../source/AppConfigDataEndpointProvider.cpp | 34 ++++++ .../include/aws/appfabric/AppFabricClient.h | 22 ---- .../appfabric/AppFabricClientConfiguration.h | 61 +++++++++++ .../aws/appfabric/AppFabricEndpointProvider.h | 33 +++++- .../appfabric/AppFabricServiceClientModel.h | 1 - .../source/AppFabricClient.cpp | 42 +------- .../source/AppFabricClientConfiguration.cpp | 48 +++++++++ .../source/AppFabricEndpointProvider.cpp | 33 ++++++ .../include/aws/appflow/AppflowClient.h | 22 ---- .../aws/appflow/AppflowClientConfiguration.h | 61 +++++++++++ .../aws/appflow/AppflowEndpointProvider.h | 33 +++++- .../aws/appflow/AppflowServiceClientModel.h | 1 - .../source/AppflowClient.cpp | 42 +------- .../source/AppflowClientConfiguration.cpp | 48 +++++++++ .../source/AppflowEndpointProvider.cpp | 33 ++++++ .../AppIntegrationsServiceClient.h | 22 ---- ...ppIntegrationsServiceClientConfiguration.h | 62 +++++++++++ .../AppIntegrationsServiceEndpointProvider.h | 35 +++++- ...AppIntegrationsServiceServiceClientModel.h | 1 - .../source/AppIntegrationsServiceClient.cpp | 43 +------- ...IntegrationsServiceClientConfiguration.cpp | 50 +++++++++ ...AppIntegrationsServiceEndpointProvider.cpp | 34 ++++++ .../ApplicationAutoScalingClient.h | 22 ---- ...pplicationAutoScalingClientConfiguration.h | 62 +++++++++++ .../ApplicationAutoScalingEndpointProvider.h | 35 +++++- ...ApplicationAutoScalingServiceClientModel.h | 1 - .../source/ApplicationAutoScalingClient.cpp | 43 +------- ...licationAutoScalingClientConfiguration.cpp | 50 +++++++++ ...ApplicationAutoScalingEndpointProvider.cpp | 34 ++++++ .../ApplicationInsightsClient.h | 22 ---- .../ApplicationInsightsClientConfiguration.h | 61 +++++++++++ .../ApplicationInsightsEndpointProvider.h | 35 +++++- .../ApplicationInsightsServiceClientModel.h | 1 - .../source/ApplicationInsightsClient.cpp | 43 +------- ...ApplicationInsightsClientConfiguration.cpp | 50 +++++++++ .../ApplicationInsightsEndpointProvider.cpp | 34 ++++++ .../ApplicationSignalsClient.h | 22 ---- .../ApplicationSignalsClientConfiguration.h | 55 ++++++++++ .../ApplicationSignalsEndpointProvider.h | 33 +++++- .../ApplicationSignalsServiceClientModel.h | 1 - .../source/ApplicationSignalsClient.cpp | 43 +------- .../ApplicationSignalsClientConfiguration.cpp | 49 +++++++++ .../ApplicationSignalsEndpointProvider.cpp | 31 ++++++ .../ApplicationCostProfilerClient.h | 22 ---- ...plicationCostProfilerClientConfiguration.h | 62 +++++++++++ .../ApplicationCostProfilerEndpointProvider.h | 35 +++++- ...pplicationCostProfilerServiceClientModel.h | 1 - .../source/ApplicationCostProfilerClient.cpp | 43 +------- ...icationCostProfilerClientConfiguration.cpp | 50 +++++++++ ...pplicationCostProfilerEndpointProvider.cpp | 34 ++++++ .../include/aws/appmesh/AppMeshClient.h | 22 ---- .../aws/appmesh/AppMeshClientConfiguration.h | 61 +++++++++++ .../aws/appmesh/AppMeshEndpointProvider.h | 33 +++++- .../aws/appmesh/AppMeshServiceClientModel.h | 1 - .../source/AppMeshClient.cpp | 42 +------- .../source/AppMeshClientConfiguration.cpp | 48 +++++++++ .../source/AppMeshEndpointProvider.cpp | 33 ++++++ .../include/aws/apprunner/AppRunnerClient.h | 22 ---- .../apprunner/AppRunnerClientConfiguration.h | 61 +++++++++++ .../aws/apprunner/AppRunnerEndpointProvider.h | 33 +++++- .../apprunner/AppRunnerServiceClientModel.h | 1 - .../source/AppRunnerClient.cpp | 42 +------- .../source/AppRunnerClientConfiguration.cpp | 48 +++++++++ .../source/AppRunnerEndpointProvider.cpp | 33 ++++++ .../include/aws/appstream/AppStreamClient.h | 22 ---- .../appstream/AppStreamClientConfiguration.h | 61 +++++++++++ .../aws/appstream/AppStreamEndpointProvider.h | 33 +++++- .../appstream/AppStreamServiceClientModel.h | 1 - .../source/AppStreamClient.cpp | 42 +------- .../source/AppStreamClientConfiguration.cpp | 48 +++++++++ .../source/AppStreamEndpointProvider.cpp | 33 ++++++ .../include/aws/appsync/AppSyncClient.h | 22 ---- .../aws/appsync/AppSyncClientConfiguration.h | 61 +++++++++++ .../aws/appsync/AppSyncEndpointProvider.h | 33 +++++- .../aws/appsync/AppSyncServiceClientModel.h | 1 - .../source/AppSyncClient.cpp | 42 +------- .../source/AppSyncClientConfiguration.cpp | 48 +++++++++ .../source/AppSyncEndpointProvider.cpp | 33 ++++++ .../arc-region-switch/ARCRegionswitchClient.h | 22 ---- .../ARCRegionswitchClientConfiguration.h | 55 ++++++++++ .../ARCRegionswitchEndpointProvider.h | 33 +++++- .../ARCRegionswitchServiceClientModel.h | 1 - .../source/ARCRegionswitchClient.cpp | 42 +------- .../ARCRegionswitchClientConfiguration.cpp | 48 +++++++++ .../ARCRegionswitchEndpointProvider.cpp | 31 ++++++ .../aws/arc-zonal-shift/ARCZonalShiftClient.h | 22 ---- .../ARCZonalShiftClientConfiguration.h | 61 +++++++++++ .../ARCZonalShiftEndpointProvider.h | 33 +++++- .../ARCZonalShiftServiceClientModel.h | 1 - .../source/ARCZonalShiftClient.cpp | 42 +------- .../ARCZonalShiftClientConfiguration.cpp | 48 +++++++++ .../source/ARCZonalShiftEndpointProvider.cpp | 34 ++++++ .../include/aws/artifact/ArtifactClient.h | 22 ---- .../artifact/ArtifactClientConfiguration.h | 61 +++++++++++ .../aws/artifact/ArtifactEndpointProvider.h | 33 +++++- .../aws/artifact/ArtifactServiceClientModel.h | 1 - .../source/ArtifactClient.cpp | 42 +------- .../source/ArtifactClientConfiguration.cpp | 48 +++++++++ .../source/ArtifactEndpointProvider.cpp | 33 ++++++ .../include/aws/athena/AthenaClient.h | 22 ---- .../aws/athena/AthenaClientConfiguration.h | 61 +++++++++++ .../aws/athena/AthenaEndpointProvider.h | 33 +++++- .../aws/athena/AthenaServiceClientModel.h | 1 - .../source/AthenaClient.cpp | 42 +------- .../source/AthenaClientConfiguration.cpp | 48 +++++++++ .../source/AthenaEndpointProvider.cpp | 31 ++++++ .../aws/auditmanager/AuditManagerClient.h | 22 ---- .../AuditManagerClientConfiguration.h | 61 +++++++++++ .../AuditManagerEndpointProvider.h | 33 +++++- .../AuditManagerServiceClientModel.h | 1 - .../source/AuditManagerClient.cpp | 42 +------- .../AuditManagerClientConfiguration.cpp | 48 +++++++++ .../source/AuditManagerEndpointProvider.cpp | 34 ++++++ .../AutoScalingPlansClient.h | 22 ---- .../AutoScalingPlansClientConfiguration.h | 61 +++++++++++ .../AutoScalingPlansEndpointProvider.h | 33 +++++- .../AutoScalingPlansServiceClientModel.h | 1 - .../source/AutoScalingPlansClient.cpp | 43 +------- .../AutoScalingPlansClientConfiguration.cpp | 49 +++++++++ .../AutoScalingPlansEndpointProvider.cpp | 34 ++++++ .../aws/autoscaling/AutoScalingClient.h | 22 ---- .../AutoScalingClientConfiguration.h | 61 +++++++++++ .../autoscaling/AutoScalingEndpointProvider.h | 33 +++++- .../AutoScalingServiceClientModel.h | 1 - .../source/AutoScalingClient.cpp | 42 +------- .../source/AutoScalingClientConfiguration.cpp | 48 +++++++++ .../source/AutoScalingEndpointProvider.cpp | 34 ++++++ .../include/aws/awstransfer/TransferClient.h | 22 ---- .../awstransfer/TransferClientConfiguration.h | 61 +++++++++++ .../awstransfer/TransferEndpointProvider.h | 33 +++++- .../awstransfer/TransferServiceClientModel.h | 1 - .../source/TransferClient.cpp | 42 +------- .../source/TransferClientConfiguration.cpp | 48 +++++++++ .../source/TransferEndpointProvider.cpp | 33 ++++++ .../include/aws/b2bi/B2BIClient.h | 22 ---- .../aws/b2bi/B2BIClientConfiguration.h | 61 +++++++++++ .../include/aws/b2bi/B2BIEndpointProvider.h | 31 +++++- .../include/aws/b2bi/B2BIServiceClientModel.h | 1 - .../aws-cpp-sdk-b2bi/source/B2BIClient.cpp | 42 +------- .../source/B2BIClientConfiguration.cpp | 48 +++++++++ .../source/B2BIEndpointProvider.cpp | 31 ++++++ .../aws/backup-gateway/BackupGatewayClient.h | 22 ---- .../BackupGatewayClientConfiguration.h | 61 +++++++++++ .../BackupGatewayEndpointProvider.h | 33 +++++- .../BackupGatewayServiceClientModel.h | 1 - .../source/BackupGatewayClient.cpp | 42 +------- .../BackupGatewayClientConfiguration.cpp | 48 +++++++++ .../source/BackupGatewayEndpointProvider.cpp | 34 ++++++ .../include/aws/backup/BackupClient.h | 22 ---- .../aws/backup/BackupClientConfiguration.h | 61 +++++++++++ .../aws/backup/BackupEndpointProvider.h | 33 +++++- .../aws/backup/BackupServiceClientModel.h | 1 - .../source/BackupClient.cpp | 42 +------- .../source/BackupClientConfiguration.cpp | 48 +++++++++ .../source/BackupEndpointProvider.cpp | 31 ++++++ .../aws/backupsearch/BackupSearchClient.h | 22 ---- .../BackupSearchClientConfiguration.h | 55 ++++++++++ .../BackupSearchEndpointProvider.h | 33 +++++- .../BackupSearchServiceClientModel.h | 1 - .../source/BackupSearchClient.cpp | 42 +------- .../BackupSearchClientConfiguration.cpp | 47 ++++++++ .../source/BackupSearchEndpointProvider.cpp | 31 ++++++ .../include/aws/batch/BatchClient.h | 22 ---- .../aws/batch/BatchClientConfiguration.h | 61 +++++++++++ .../include/aws/batch/BatchEndpointProvider.h | 31 +++++- .../aws/batch/BatchServiceClientModel.h | 1 - .../aws-cpp-sdk-batch/source/BatchClient.cpp | 42 +------- .../source/BatchClientConfiguration.cpp | 48 +++++++++ .../source/BatchEndpointProvider.cpp | 31 ++++++ .../aws/bcm-dashboards/BCMDashboardsClient.h | 22 ---- .../BCMDashboardsClientConfiguration.h | 55 ++++++++++ .../BCMDashboardsEndpointProvider.h | 33 +++++- .../BCMDashboardsServiceClientModel.h | 1 - .../source/BCMDashboardsClient.cpp | 42 +------- .../BCMDashboardsClientConfiguration.cpp | 47 ++++++++ .../source/BCMDashboardsEndpointProvider.cpp | 31 ++++++ .../bcm-data-exports/BCMDataExportsClient.h | 22 ---- .../BCMDataExportsClientConfiguration.h | 55 ++++++++++ .../BCMDataExportsEndpointProvider.h | 33 +++++- .../BCMDataExportsServiceClientModel.h | 1 - .../source/BCMDataExportsClient.cpp | 42 +------- .../BCMDataExportsClientConfiguration.cpp | 47 ++++++++ .../source/BCMDataExportsEndpointProvider.cpp | 31 ++++++ .../BCMPricingCalculatorClient.h | 22 ---- .../BCMPricingCalculatorClientConfiguration.h | 56 ++++++++++ .../BCMPricingCalculatorEndpointProvider.h | 35 +++++- .../BCMPricingCalculatorServiceClientModel.h | 1 - .../source/BCMPricingCalculatorClient.cpp | 43 +------- ...CMPricingCalculatorClientConfiguration.cpp | 49 +++++++++ .../BCMPricingCalculatorEndpointProvider.cpp | 31 ++++++ .../BCMRecommendedActionsClient.h | 22 ---- ...BCMRecommendedActionsClientConfiguration.h | 56 ++++++++++ .../BCMRecommendedActionsEndpointProvider.h | 35 +++++- .../BCMRecommendedActionsServiceClientModel.h | 1 - .../source/BCMRecommendedActionsClient.cpp | 43 +------- ...MRecommendedActionsClientConfiguration.cpp | 49 +++++++++ .../BCMRecommendedActionsEndpointProvider.cpp | 31 ++++++ .../BedrockAgentRuntimeClient.h | 22 ---- .../BedrockAgentRuntimeClientConfiguration.h | 22 +++- .../BedrockAgentRuntimeEndpointProvider.h | 3 + .../source/BedrockAgentRuntimeClient.cpp | 45 -------- ...BedrockAgentRuntimeClientConfiguration.cpp | 12 ++- .../BedrockAgentRuntimeEndpointProvider.cpp | 10 ++ .../aws/bedrock-agent/BedrockAgentClient.h | 22 ---- .../BedrockAgentClientConfiguration.h | 22 +++- .../BedrockAgentEndpointProvider.h | 3 + .../source/BedrockAgentClient.cpp | 42 -------- .../BedrockAgentClientConfiguration.cpp | 12 ++- .../source/BedrockAgentEndpointProvider.cpp | 10 ++ .../BedrockAgentCoreControlClient.h | 22 ---- ...drockAgentCoreControlClientConfiguration.h | 62 +++++++++++ .../BedrockAgentCoreControlEndpointProvider.h | 35 +++++- ...edrockAgentCoreControlServiceClientModel.h | 1 - .../source/BedrockAgentCoreControlClient.cpp | 43 +------- ...ockAgentCoreControlClientConfiguration.cpp | 50 +++++++++ ...edrockAgentCoreControlEndpointProvider.cpp | 34 ++++++ .../BedrockAgentCoreClient.h | 22 ---- .../BedrockAgentCoreClientConfiguration.h | 93 ++++++++++++++++ .../BedrockAgentCoreEndpointProvider.h | 33 +++++- .../BedrockAgentCoreServiceClientModel.h | 1 - .../source/BedrockAgentCoreClient.cpp | 45 +------- .../BedrockAgentCoreClientConfiguration.cpp | 51 +++++++++ .../BedrockAgentCoreEndpointProvider.cpp | 34 ++++++ .../BedrockDataAutomationRuntimeClient.h | 23 ---- ...DataAutomationRuntimeClientConfiguration.h | 23 +++- ...ockDataAutomationRuntimeEndpointProvider.h | 3 + .../BedrockDataAutomationRuntimeClient.cpp | 46 -------- ...taAutomationRuntimeClientConfiguration.cpp | 12 ++- ...kDataAutomationRuntimeEndpointProvider.cpp | 11 ++ .../BedrockDataAutomationClient.h | 22 ---- ...BedrockDataAutomationClientConfiguration.h | 23 +++- .../BedrockDataAutomationEndpointProvider.h | 3 + .../source/BedrockDataAutomationClient.cpp | 45 -------- ...drockDataAutomationClientConfiguration.cpp | 12 ++- .../BedrockDataAutomationEndpointProvider.cpp | 10 ++ .../bedrock-runtime/BedrockRuntimeClient.h | 22 ---- .../BedrockRuntimeClientConfiguration.h | 54 +++++++++- .../BedrockRuntimeEndpointProvider.h | 3 + .../source/BedrockRuntimeClient.cpp | 56 ---------- .../BedrockRuntimeClientConfiguration.cpp | 14 ++- .../source/BedrockRuntimeEndpointProvider.cpp | 10 ++ .../include/aws/bedrock/BedrockClient.h | 22 ---- .../aws/bedrock/BedrockClientConfiguration.h | 22 +++- .../aws/bedrock/BedrockEndpointProvider.h | 3 + .../source/BedrockClient.cpp | 56 ---------- .../source/BedrockClientConfiguration.cpp | 11 +- .../source/BedrockEndpointProvider.cpp | 10 ++ .../include/aws/billing/BillingClient.h | 22 ---- .../aws/billing/BillingClientConfiguration.h | 61 +++++++++++ .../aws/billing/BillingEndpointProvider.h | 33 +++++- .../aws/billing/BillingServiceClientModel.h | 1 - .../source/BillingClient.cpp | 42 +------- .../source/BillingClientConfiguration.cpp | 48 +++++++++ .../source/BillingEndpointProvider.cpp | 33 ++++++ .../billingconductor/BillingConductorClient.h | 22 ---- .../BillingConductorClientConfiguration.h | 61 +++++++++++ .../BillingConductorEndpointProvider.h | 33 +++++- .../BillingConductorServiceClientModel.h | 1 - .../source/BillingConductorClient.cpp | 43 +------- .../BillingConductorClientConfiguration.cpp | 49 +++++++++ .../BillingConductorEndpointProvider.cpp | 34 ++++++ .../include/aws/braket/BraketClient.h | 22 ---- .../aws/braket/BraketClientConfiguration.h | 61 +++++++++++ .../aws/braket/BraketEndpointProvider.h | 33 +++++- .../aws/braket/BraketServiceClientModel.h | 1 - .../source/BraketClient.cpp | 42 +------- .../source/BraketClientConfiguration.cpp | 48 +++++++++ .../source/BraketEndpointProvider.cpp | 31 ++++++ .../include/aws/budgets/BudgetsClient.h | 22 ---- .../aws/budgets/BudgetsClientConfiguration.h | 61 +++++++++++ .../aws/budgets/BudgetsEndpointProvider.h | 33 +++++- .../aws/budgets/BudgetsServiceClientModel.h | 1 - .../source/BudgetsClient.cpp | 42 +------- .../source/BudgetsClientConfiguration.cpp | 48 +++++++++ .../source/BudgetsEndpointProvider.cpp | 33 ++++++ .../include/aws/ce/CostExplorerClient.h | 22 ---- .../aws/ce/CostExplorerClientConfiguration.h | 61 +++++++++++ .../aws/ce/CostExplorerEndpointProvider.h | 33 +++++- .../aws/ce/CostExplorerServiceClientModel.h | 1 - .../source/CostExplorerClient.cpp | 42 +------- .../CostExplorerClientConfiguration.cpp | 48 +++++++++ .../source/CostExplorerEndpointProvider.cpp | 34 ++++++ .../include/aws/chatbot/ChatbotClient.h | 22 ---- .../aws/chatbot/ChatbotClientConfiguration.h | 61 +++++++++++ .../aws/chatbot/ChatbotEndpointProvider.h | 33 +++++- .../aws/chatbot/ChatbotServiceClientModel.h | 1 - .../source/ChatbotClient.cpp | 42 +------- .../source/ChatbotClientConfiguration.cpp | 48 +++++++++ .../source/ChatbotEndpointProvider.cpp | 33 ++++++ .../ChimeSDKIdentityClient.h | 22 ---- .../ChimeSDKIdentityClientConfiguration.h | 61 +++++++++++ .../ChimeSDKIdentityEndpointProvider.h | 33 +++++- .../ChimeSDKIdentityServiceClientModel.h | 1 - .../source/ChimeSDKIdentityClient.cpp | 43 +------- .../ChimeSDKIdentityClientConfiguration.cpp | 49 +++++++++ .../ChimeSDKIdentityEndpointProvider.cpp | 34 ++++++ .../ChimeSDKMediaPipelinesClient.h | 22 ---- ...himeSDKMediaPipelinesClientConfiguration.h | 62 +++++++++++ .../ChimeSDKMediaPipelinesEndpointProvider.h | 35 +++++- ...ChimeSDKMediaPipelinesServiceClientModel.h | 1 - .../source/ChimeSDKMediaPipelinesClient.cpp | 43 +------- ...meSDKMediaPipelinesClientConfiguration.cpp | 50 +++++++++ ...ChimeSDKMediaPipelinesEndpointProvider.cpp | 34 ++++++ .../ChimeSDKMeetingsClient.h | 22 ---- .../ChimeSDKMeetingsClientConfiguration.h | 61 +++++++++++ .../ChimeSDKMeetingsEndpointProvider.h | 33 +++++- .../ChimeSDKMeetingsServiceClientModel.h | 1 - .../source/ChimeSDKMeetingsClient.cpp | 43 +------- .../ChimeSDKMeetingsClientConfiguration.cpp | 49 +++++++++ .../ChimeSDKMeetingsEndpointProvider.cpp | 34 ++++++ .../ChimeSDKMessagingClient.h | 22 ---- .../ChimeSDKMessagingClientConfiguration.h | 61 +++++++++++ .../ChimeSDKMessagingEndpointProvider.h | 33 +++++- .../ChimeSDKMessagingServiceClientModel.h | 1 - .../source/ChimeSDKMessagingClient.cpp | 43 +------- .../ChimeSDKMessagingClientConfiguration.cpp | 49 +++++++++ .../ChimeSDKMessagingEndpointProvider.cpp | 34 ++++++ .../aws/chime-sdk-voice/ChimeSDKVoiceClient.h | 22 ---- .../ChimeSDKVoiceClientConfiguration.h | 61 +++++++++++ .../ChimeSDKVoiceEndpointProvider.h | 33 +++++- .../ChimeSDKVoiceServiceClientModel.h | 1 - .../source/ChimeSDKVoiceClient.cpp | 42 +------- .../ChimeSDKVoiceClientConfiguration.cpp | 48 +++++++++ .../source/ChimeSDKVoiceEndpointProvider.cpp | 34 ++++++ .../include/aws/chime/ChimeClient.h | 22 ---- .../aws/chime/ChimeClientConfiguration.h | 61 +++++++++++ .../include/aws/chime/ChimeEndpointProvider.h | 31 +++++- .../aws/chime/ChimeServiceClientModel.h | 1 - .../aws-cpp-sdk-chime/source/ChimeClient.cpp | 42 +------- .../source/ChimeClientConfiguration.cpp | 48 +++++++++ .../source/ChimeEndpointProvider.cpp | 31 ++++++ .../include/aws/cleanrooms/CleanRoomsClient.h | 22 ---- .../CleanRoomsClientConfiguration.h | 61 +++++++++++ .../cleanrooms/CleanRoomsEndpointProvider.h | 33 +++++- .../cleanrooms/CleanRoomsServiceClientModel.h | 1 - .../source/CleanRoomsClient.cpp | 42 +------- .../source/CleanRoomsClientConfiguration.cpp | 48 +++++++++ .../source/CleanRoomsEndpointProvider.cpp | 33 ++++++ .../aws/cleanroomsml/CleanRoomsMLClient.h | 22 ---- .../CleanRoomsMLClientConfiguration.h | 61 +++++++++++ .../CleanRoomsMLEndpointProvider.h | 33 +++++- .../CleanRoomsMLServiceClientModel.h | 1 - .../source/CleanRoomsMLClient.cpp | 42 +------- .../CleanRoomsMLClientConfiguration.cpp | 48 +++++++++ .../source/CleanRoomsMLEndpointProvider.cpp | 34 ++++++ .../include/aws/cloud9/Cloud9Client.h | 22 ---- .../aws/cloud9/Cloud9ClientConfiguration.h | 61 +++++++++++ .../aws/cloud9/Cloud9EndpointProvider.h | 33 +++++- .../aws/cloud9/Cloud9ServiceClientModel.h | 1 - .../source/Cloud9Client.cpp | 42 +------- .../source/Cloud9ClientConfiguration.cpp | 48 +++++++++ .../source/Cloud9EndpointProvider.cpp | 31 ++++++ .../aws/cloudcontrol/CloudControlApiClient.h | 22 ---- .../CloudControlApiClientConfiguration.h | 61 +++++++++++ .../CloudControlApiEndpointProvider.h | 33 +++++- .../CloudControlApiServiceClientModel.h | 1 - .../source/CloudControlApiClient.cpp | 42 +------- .../CloudControlApiClientConfiguration.cpp | 49 +++++++++ .../CloudControlApiEndpointProvider.cpp | 34 ++++++ .../aws/clouddirectory/CloudDirectoryClient.h | 22 ---- .../CloudDirectoryClientConfiguration.h | 61 +++++++++++ .../CloudDirectoryEndpointProvider.h | 33 +++++- .../CloudDirectoryServiceClientModel.h | 1 - .../source/CloudDirectoryClient.cpp | 42 +------- .../CloudDirectoryClientConfiguration.cpp | 48 +++++++++ .../source/CloudDirectoryEndpointProvider.cpp | 34 ++++++ .../aws/cloudformation/CloudFormationClient.h | 22 ---- .../CloudFormationClientConfiguration.h | 61 +++++++++++ .../CloudFormationEndpointProvider.h | 33 +++++- .../CloudFormationServiceClientModel.h | 1 - .../source/CloudFormationClient.cpp | 42 +------- .../CloudFormationClientConfiguration.cpp | 48 +++++++++ .../source/CloudFormationEndpointProvider.cpp | 34 ++++++ .../CloudFrontKeyValueStoreClient.h | 22 ---- ...oudFrontKeyValueStoreClientConfiguration.h | 61 +++++++++++ .../CloudFrontKeyValueStoreEndpointProvider.h | 35 +++++- ...loudFrontKeyValueStoreServiceClientModel.h | 1 - .../source/CloudFrontKeyValueStoreClient.cpp | 45 +------- ...dFrontKeyValueStoreClientConfiguration.cpp | 50 +++++++++ ...loudFrontKeyValueStoreEndpointProvider.cpp | 31 ++++++ .../include/aws/cloudfront/CloudFrontClient.h | 22 ---- .../CloudFrontClientConfiguration.h | 61 +++++++++++ .../cloudfront/CloudFrontEndpointProvider.h | 33 +++++- .../cloudfront/CloudFrontServiceClientModel.h | 1 - .../source/CloudFrontClient.cpp | 42 +------- .../source/CloudFrontClientConfiguration.cpp | 48 +++++++++ .../source/CloudFrontEndpointProvider.cpp | 33 ++++++ .../include/aws/cloudhsm/CloudHSMClient.h | 22 ---- .../cloudhsm/CloudHSMClientConfiguration.h | 61 +++++++++++ .../aws/cloudhsm/CloudHSMEndpointProvider.h | 33 +++++- .../aws/cloudhsm/CloudHSMServiceClientModel.h | 1 - .../source/CloudHSMClient.cpp | 42 +------- .../source/CloudHSMClientConfiguration.cpp | 48 +++++++++ .../source/CloudHSMEndpointProvider.cpp | 33 ++++++ .../include/aws/cloudhsmv2/CloudHSMV2Client.h | 22 ---- .../CloudHSMV2ClientConfiguration.h | 61 +++++++++++ .../cloudhsmv2/CloudHSMV2EndpointProvider.h | 33 +++++- .../cloudhsmv2/CloudHSMV2ServiceClientModel.h | 1 - .../source/CloudHSMV2Client.cpp | 42 +------- .../source/CloudHSMV2ClientConfiguration.cpp | 48 +++++++++ .../source/CloudHSMV2EndpointProvider.cpp | 33 ++++++ .../aws/cloudsearch/CloudSearchClient.h | 22 ---- .../CloudSearchClientConfiguration.h | 61 +++++++++++ .../cloudsearch/CloudSearchEndpointProvider.h | 33 +++++- .../CloudSearchServiceClientModel.h | 1 - .../source/CloudSearchClient.cpp | 42 +------- .../source/CloudSearchClientConfiguration.cpp | 48 +++++++++ .../source/CloudSearchEndpointProvider.cpp | 34 ++++++ .../CloudSearchDomainClient.h | 22 ---- .../CloudSearchDomainClientConfiguration.h | 93 ++++++++++++++++ .../CloudSearchDomainEndpointProvider.h | 33 +++++- .../CloudSearchDomainServiceClientModel.h | 1 - .../source/CloudSearchDomainClient.cpp | 45 +------- .../CloudSearchDomainClientConfiguration.cpp | 51 +++++++++ .../CloudSearchDomainEndpointProvider.cpp | 34 ++++++ .../cloudtrail-data/CloudTrailDataClient.h | 22 ---- .../CloudTrailDataClientConfiguration.h | 61 +++++++++++ .../CloudTrailDataEndpointProvider.h | 33 +++++- .../CloudTrailDataServiceClientModel.h | 1 - .../source/CloudTrailDataClient.cpp | 42 +------- .../CloudTrailDataClientConfiguration.cpp | 48 +++++++++ .../source/CloudTrailDataEndpointProvider.cpp | 34 ++++++ .../include/aws/cloudtrail/CloudTrailClient.h | 22 ---- .../CloudTrailClientConfiguration.h | 61 +++++++++++ .../cloudtrail/CloudTrailEndpointProvider.h | 33 +++++- .../cloudtrail/CloudTrailServiceClientModel.h | 1 - .../source/CloudTrailClient.cpp | 42 +------- .../source/CloudTrailClientConfiguration.cpp | 48 +++++++++ .../source/CloudTrailEndpointProvider.cpp | 33 ++++++ .../aws/cloudwatchomni/CloudWatchOmniClient.h | 22 ---- .../CloudWatchOmniClientConfiguration.h | 55 ++++++++++ .../CloudWatchOmniEndpointProvider.h | 33 +++++- .../CloudWatchOmniServiceClientModel.h | 1 - .../source/CloudWatchOmniClient.cpp | 42 +------- .../CloudWatchOmniClientConfiguration.cpp | 47 ++++++++ .../source/CloudWatchOmniEndpointProvider.cpp | 31 ++++++ .../aws/codeartifact/CodeArtifactClient.h | 22 ---- .../CodeArtifactClientConfiguration.h | 93 ++++++++++++++++ .../CodeArtifactEndpointProvider.h | 33 +++++- .../CodeArtifactServiceClientModel.h | 1 - .../source/CodeArtifactClient.cpp | 44 +------- .../CodeArtifactClientConfiguration.cpp | 50 +++++++++ .../source/CodeArtifactEndpointProvider.cpp | 34 ++++++ .../include/aws/codebuild/CodeBuildClient.h | 22 ---- .../codebuild/CodeBuildClientConfiguration.h | 61 +++++++++++ .../aws/codebuild/CodeBuildEndpointProvider.h | 33 +++++- .../codebuild/CodeBuildServiceClientModel.h | 1 - .../source/CodeBuildClient.cpp | 42 +------- .../source/CodeBuildClientConfiguration.cpp | 48 +++++++++ .../source/CodeBuildEndpointProvider.cpp | 33 ++++++ .../aws/codecatalyst/CodeCatalystClient.h | 9 -- .../CodeCatalystClientConfiguration.h | 55 ++++++++++ .../CodeCatalystEndpointProvider.h | 33 +++++- .../CodeCatalystServiceClientModel.h | 1 - .../source/CodeCatalystClient.cpp | 18 +--- .../CodeCatalystClientConfiguration.cpp | 47 ++++++++ .../source/CodeCatalystEndpointProvider.cpp | 31 ++++++ .../include/aws/codecommit/CodeCommitClient.h | 22 ---- .../CodeCommitClientConfiguration.h | 61 +++++++++++ .../codecommit/CodeCommitEndpointProvider.h | 33 +++++- .../codecommit/CodeCommitServiceClientModel.h | 1 - .../source/CodeCommitClient.cpp | 42 +------- .../source/CodeCommitClientConfiguration.cpp | 48 +++++++++ .../source/CodeCommitEndpointProvider.cpp | 33 ++++++ .../codeconnections/CodeConnectionsClient.h | 22 ---- .../CodeConnectionsClientConfiguration.h | 61 +++++++++++ .../CodeConnectionsEndpointProvider.h | 33 +++++- .../CodeConnectionsServiceClientModel.h | 1 - .../source/CodeConnectionsClient.cpp | 42 +------- .../CodeConnectionsClientConfiguration.cpp | 49 +++++++++ .../CodeConnectionsEndpointProvider.cpp | 34 ++++++ .../include/aws/codedeploy/CodeDeployClient.h | 22 ---- .../CodeDeployClientConfiguration.h | 61 +++++++++++ .../codedeploy/CodeDeployEndpointProvider.h | 33 +++++- .../codedeploy/CodeDeployServiceClientModel.h | 1 - .../source/CodeDeployClient.cpp | 42 +------- .../source/CodeDeployClientConfiguration.cpp | 48 +++++++++ .../source/CodeDeployEndpointProvider.cpp | 33 ++++++ .../CodeGuruReviewerClient.h | 22 ---- .../CodeGuruReviewerClientConfiguration.h | 61 +++++++++++ .../CodeGuruReviewerEndpointProvider.h | 33 +++++- .../CodeGuruReviewerServiceClientModel.h | 1 - .../source/CodeGuruReviewerClient.cpp | 43 +------- .../CodeGuruReviewerClientConfiguration.cpp | 49 +++++++++ .../CodeGuruReviewerEndpointProvider.cpp | 34 ++++++ .../CodeGuruSecurityClient.h | 22 ---- .../CodeGuruSecurityClientConfiguration.h | 61 +++++++++++ .../CodeGuruSecurityEndpointProvider.h | 33 +++++- .../CodeGuruSecurityServiceClientModel.h | 1 - .../source/CodeGuruSecurityClient.cpp | 43 +------- .../CodeGuruSecurityClientConfiguration.cpp | 49 +++++++++ .../CodeGuruSecurityEndpointProvider.cpp | 34 ++++++ .../codeguruprofiler/CodeGuruProfilerClient.h | 22 ---- .../CodeGuruProfilerClientConfiguration.h | 93 ++++++++++++++++ .../CodeGuruProfilerEndpointProvider.h | 33 +++++- .../CodeGuruProfilerServiceClientModel.h | 1 - .../source/CodeGuruProfilerClient.cpp | 45 +------- .../CodeGuruProfilerClientConfiguration.cpp | 51 +++++++++ .../CodeGuruProfilerEndpointProvider.cpp | 34 ++++++ .../aws/codepipeline/CodePipelineClient.h | 22 ---- .../CodePipelineClientConfiguration.h | 61 +++++++++++ .../CodePipelineEndpointProvider.h | 33 +++++- .../CodePipelineServiceClientModel.h | 1 - .../source/CodePipelineClient.cpp | 42 +------- .../CodePipelineClientConfiguration.cpp | 48 +++++++++ .../source/CodePipelineEndpointProvider.cpp | 34 ++++++ .../CodeStarconnectionsClient.h | 22 ---- .../CodeStarconnectionsClientConfiguration.h | 61 +++++++++++ .../CodeStarconnectionsEndpointProvider.h | 35 +++++- .../CodeStarconnectionsServiceClientModel.h | 1 - .../source/CodeStarconnectionsClient.cpp | 43 +------- ...CodeStarconnectionsClientConfiguration.cpp | 50 +++++++++ .../CodeStarconnectionsEndpointProvider.cpp | 34 ++++++ .../CodeStarNotificationsClient.h | 22 ---- ...CodeStarNotificationsClientConfiguration.h | 62 +++++++++++ .../CodeStarNotificationsEndpointProvider.h | 35 +++++- .../CodeStarNotificationsServiceClientModel.h | 1 - .../source/CodeStarNotificationsClient.cpp | 43 +------- ...deStarNotificationsClientConfiguration.cpp | 50 +++++++++ .../CodeStarNotificationsEndpointProvider.cpp | 34 ++++++ .../cognito-identity/CognitoIdentityClient.h | 22 ---- .../CognitoIdentityClientConfiguration.h | 61 +++++++++++ .../CognitoIdentityEndpointProvider.h | 33 +++++- .../CognitoIdentityServiceClientModel.h | 1 - .../source/CognitoIdentityClient.cpp | 42 +------- .../CognitoIdentityClientConfiguration.cpp | 49 +++++++++ .../CognitoIdentityEndpointProvider.cpp | 34 ++++++ .../CognitoIdentityProviderClient.h | 22 ---- ...gnitoIdentityProviderClientConfiguration.h | 62 +++++++++++ .../CognitoIdentityProviderEndpointProvider.h | 35 +++++- ...ognitoIdentityProviderServiceClientModel.h | 1 - .../source/CognitoIdentityProviderClient.cpp | 43 +------- ...itoIdentityProviderClientConfiguration.cpp | 50 +++++++++ ...ognitoIdentityProviderEndpointProvider.cpp | 34 ++++++ .../aws/cognito-sync/CognitoSyncClient.h | 22 ---- .../CognitoSyncClientConfiguration.h | 61 +++++++++++ .../CognitoSyncEndpointProvider.h | 33 +++++- .../CognitoSyncServiceClientModel.h | 1 - .../source/CognitoSyncClient.cpp | 42 +------- .../source/CognitoSyncClientConfiguration.cpp | 48 +++++++++ .../source/CognitoSyncEndpointProvider.cpp | 34 ++++++ .../include/aws/comprehend/ComprehendClient.h | 22 ---- .../ComprehendClientConfiguration.h | 61 +++++++++++ .../comprehend/ComprehendEndpointProvider.h | 33 +++++- .../comprehend/ComprehendServiceClientModel.h | 1 - .../source/ComprehendClient.cpp | 42 +------- .../source/ComprehendClientConfiguration.cpp | 48 +++++++++ .../source/ComprehendEndpointProvider.cpp | 33 ++++++ .../ComprehendMedicalClient.h | 22 ---- .../ComprehendMedicalClientConfiguration.h | 61 +++++++++++ .../ComprehendMedicalEndpointProvider.h | 33 +++++- .../ComprehendMedicalServiceClientModel.h | 1 - .../source/ComprehendMedicalClient.cpp | 43 +------- .../ComprehendMedicalClientConfiguration.cpp | 49 +++++++++ .../ComprehendMedicalEndpointProvider.cpp | 34 ++++++ .../ComputeOptimizerAutomationClient.h | 23 ---- ...teOptimizerAutomationClientConfiguration.h | 62 +++++++++++ ...mputeOptimizerAutomationEndpointProvider.h | 35 +++++- ...uteOptimizerAutomationServiceClientModel.h | 1 - .../ComputeOptimizerAutomationClient.cpp | 43 +------- ...OptimizerAutomationClientConfiguration.cpp | 52 +++++++++ ...uteOptimizerAutomationEndpointProvider.cpp | 35 ++++++ .../ComputeOptimizerClient.h | 22 ---- .../ComputeOptimizerClientConfiguration.h | 61 +++++++++++ .../ComputeOptimizerEndpointProvider.h | 33 +++++- .../ComputeOptimizerServiceClientModel.h | 1 - .../source/ComputeOptimizerClient.cpp | 43 +------- .../ComputeOptimizerClientConfiguration.cpp | 49 +++++++++ .../ComputeOptimizerEndpointProvider.cpp | 34 ++++++ .../include/aws/config/ConfigServiceClient.h | 22 ---- .../config/ConfigServiceClientConfiguration.h | 61 +++++++++++ .../config/ConfigServiceEndpointProvider.h | 33 +++++- .../config/ConfigServiceServiceClientModel.h | 1 - .../source/ConfigServiceClient.cpp | 42 +------- .../ConfigServiceClientConfiguration.cpp | 48 +++++++++ .../source/ConfigServiceEndpointProvider.cpp | 34 ++++++ .../ConnectContactLensClient.h | 22 ---- .../ConnectContactLensClientConfiguration.h | 61 +++++++++++ .../ConnectContactLensEndpointProvider.h | 33 +++++- .../ConnectContactLensServiceClientModel.h | 1 - .../source/ConnectContactLensClient.cpp | 43 +------- .../ConnectContactLensClientConfiguration.cpp | 50 +++++++++ .../ConnectContactLensEndpointProvider.cpp | 34 ++++++ .../include/aws/connect/ConnectClient.h | 22 ---- .../aws/connect/ConnectClientConfiguration.h | 61 +++++++++++ .../aws/connect/ConnectEndpointProvider.h | 33 +++++- .../aws/connect/ConnectServiceClientModel.h | 1 - .../source/ConnectClient.cpp | 42 +------- .../source/ConnectClientConfiguration.cpp | 48 +++++++++ .../source/ConnectEndpointProvider.cpp | 33 ++++++ .../connectcampaigns/ConnectCampaignsClient.h | 22 ---- .../ConnectCampaignsClientConfiguration.h | 61 +++++++++++ .../ConnectCampaignsEndpointProvider.h | 33 +++++- .../ConnectCampaignsServiceClientModel.h | 1 - .../source/ConnectCampaignsClient.cpp | 43 +------- .../ConnectCampaignsClientConfiguration.cpp | 49 +++++++++ .../ConnectCampaignsEndpointProvider.cpp | 34 ++++++ .../ConnectCampaignsV2Client.h | 22 ---- .../ConnectCampaignsV2ClientConfiguration.h | 61 +++++++++++ .../ConnectCampaignsV2EndpointProvider.h | 33 +++++- .../ConnectCampaignsV2ServiceClientModel.h | 1 - .../source/ConnectCampaignsV2Client.cpp | 43 +------- .../ConnectCampaignsV2ClientConfiguration.cpp | 50 +++++++++ .../ConnectCampaignsV2EndpointProvider.cpp | 34 ++++++ .../aws/connectcases/ConnectCasesClient.h | 22 ---- .../ConnectCasesClientConfiguration.h | 61 +++++++++++ .../ConnectCasesEndpointProvider.h | 33 +++++- .../ConnectCasesServiceClientModel.h | 1 - .../source/ConnectCasesClient.cpp | 42 +------- .../ConnectCasesClientConfiguration.cpp | 48 +++++++++ .../source/ConnectCasesEndpointProvider.cpp | 34 ++++++ .../aws/connecthealth/ConnectHealthClient.h | 22 ---- .../ConnectHealthClientConfiguration.h | 94 ++++++++++++++++ .../ConnectHealthEndpointProvider.h | 33 +++++- .../ConnectHealthServiceClientModel.h | 1 - .../source/ConnectHealthClient.cpp | 44 +------- .../ConnectHealthClientConfiguration.cpp | 49 +++++++++ .../source/ConnectHealthEndpointProvider.cpp | 31 ++++++ .../ConnectParticipantClient.h | 22 ---- .../ConnectParticipantClientConfiguration.h | 61 +++++++++++ .../ConnectParticipantEndpointProvider.h | 33 +++++- .../ConnectParticipantServiceClientModel.h | 1 - .../source/ConnectParticipantClient.cpp | 43 +------- .../ConnectParticipantClientConfiguration.cpp | 50 +++++++++ .../ConnectParticipantEndpointProvider.cpp | 34 ++++++ .../include/aws/continuum/ContinuumClient.h | 22 ---- .../continuum/ContinuumClientConfiguration.h | 55 ++++++++++ .../aws/continuum/ContinuumEndpointProvider.h | 33 +++++- .../continuum/ContinuumServiceClientModel.h | 1 - .../source/ContinuumClient.cpp | 42 +------- .../source/ContinuumClientConfiguration.cpp | 47 ++++++++ .../source/ContinuumEndpointProvider.cpp | 30 ++++++ .../aws/controlcatalog/ControlCatalogClient.h | 22 ---- .../ControlCatalogClientConfiguration.h | 61 +++++++++++ .../ControlCatalogEndpointProvider.h | 33 +++++- .../ControlCatalogServiceClientModel.h | 1 - .../source/ControlCatalogClient.cpp | 42 +------- .../ControlCatalogClientConfiguration.cpp | 48 +++++++++ .../source/ControlCatalogEndpointProvider.cpp | 34 ++++++ .../aws/controltower/ControlTowerClient.h | 22 ---- .../ControlTowerClientConfiguration.h | 61 +++++++++++ .../ControlTowerEndpointProvider.h | 33 +++++- .../ControlTowerServiceClientModel.h | 1 - .../source/ControlTowerClient.cpp | 42 +------- .../ControlTowerClientConfiguration.cpp | 48 +++++++++ .../source/ControlTowerEndpointProvider.cpp | 34 ++++++ .../CostOptimizationHubClient.h | 22 ---- .../CostOptimizationHubClientConfiguration.h | 61 +++++++++++ .../CostOptimizationHubEndpointProvider.h | 35 +++++- .../CostOptimizationHubServiceClientModel.h | 1 - .../source/CostOptimizationHubClient.cpp | 43 +------- ...CostOptimizationHubClientConfiguration.cpp | 50 +++++++++ .../CostOptimizationHubEndpointProvider.cpp | 34 ++++++ .../aws/cur/CostandUsageReportServiceClient.h | 23 ---- ...andUsageReportServiceClientConfiguration.h | 62 +++++++++++ ...ostandUsageReportServiceEndpointProvider.h | 35 +++++- ...tandUsageReportServiceServiceClientModel.h | 1 - .../CostandUsageReportServiceClient.cpp | 43 +------- ...dUsageReportServiceClientConfiguration.cpp | 52 +++++++++ ...tandUsageReportServiceEndpointProvider.cpp | 34 ++++++ .../CustomerProfilesClient.h | 22 ---- .../CustomerProfilesClientConfiguration.h | 61 +++++++++++ .../CustomerProfilesEndpointProvider.h | 33 +++++- .../CustomerProfilesServiceClientModel.h | 1 - .../source/CustomerProfilesClient.cpp | 43 +------- .../CustomerProfilesClientConfiguration.cpp | 49 +++++++++ .../CustomerProfilesEndpointProvider.cpp | 34 ++++++ .../include/aws/databrew/GlueDataBrewClient.h | 22 ---- .../GlueDataBrewClientConfiguration.h | 61 +++++++++++ .../databrew/GlueDataBrewEndpointProvider.h | 33 +++++- .../databrew/GlueDataBrewServiceClientModel.h | 1 - .../source/GlueDataBrewClient.cpp | 42 +------- .../GlueDataBrewClientConfiguration.cpp | 48 +++++++++ .../source/GlueDataBrewEndpointProvider.cpp | 34 ++++++ .../aws/dataexchange/DataExchangeClient.h | 22 ---- .../DataExchangeClientConfiguration.h | 100 ++++++++++++++++++ .../DataExchangeEndpointProvider.h | 33 +++++- .../DataExchangeServiceClientModel.h | 1 - .../source/DataExchangeClient.cpp | 44 +------- .../DataExchangeClientConfiguration.cpp | 50 +++++++++ .../source/DataExchangeEndpointProvider.cpp | 34 ++++++ .../aws/datapipeline/DataPipelineClient.h | 22 ---- .../DataPipelineClientConfiguration.h | 61 +++++++++++ .../DataPipelineEndpointProvider.h | 33 +++++- .../DataPipelineServiceClientModel.h | 1 - .../source/DataPipelineClient.cpp | 42 +------- .../DataPipelineClientConfiguration.cpp | 48 +++++++++ .../source/DataPipelineEndpointProvider.cpp | 34 ++++++ .../include/aws/datasync/DataSyncClient.h | 22 ---- .../datasync/DataSyncClientConfiguration.h | 61 +++++++++++ .../aws/datasync/DataSyncEndpointProvider.h | 33 +++++- .../aws/datasync/DataSyncServiceClientModel.h | 1 - .../source/DataSyncClient.cpp | 42 +------- .../source/DataSyncClientConfiguration.cpp | 48 +++++++++ .../source/DataSyncEndpointProvider.cpp | 33 ++++++ .../include/aws/datazone/DataZoneClient.h | 22 ---- .../datazone/DataZoneClientConfiguration.h | 87 +++++++++++++++ .../aws/datazone/DataZoneEndpointProvider.h | 33 +++++- .../aws/datazone/DataZoneServiceClientModel.h | 1 - .../source/DataZoneClient.cpp | 44 +------- .../source/DataZoneClientConfiguration.cpp | 49 +++++++++ .../source/DataZoneEndpointProvider.cpp | 30 ++++++ .../include/aws/dax/DAXClient.h | 22 ---- .../include/aws/dax/DAXClientConfiguration.h | 61 +++++++++++ .../include/aws/dax/DAXEndpointProvider.h | 31 +++++- .../include/aws/dax/DAXServiceClientModel.h | 1 - .../src/aws-cpp-sdk-dax/source/DAXClient.cpp | 42 +------- .../source/DAXClientConfiguration.cpp | 47 ++++++++ .../source/DAXEndpointProvider.cpp | 31 ++++++ .../include/aws/deadline/DeadlineClient.h | 22 ---- .../deadline/DeadlineClientConfiguration.h | 68 ++++++++++++ .../aws/deadline/DeadlineEndpointProvider.h | 33 +++++- .../aws/deadline/DeadlineServiceClientModel.h | 1 - .../source/DeadlineClient.cpp | 42 +------- .../source/DeadlineClientConfiguration.cpp | 48 +++++++++ .../source/DeadlineEndpointProvider.cpp | 33 ++++++ .../include/aws/detective/DetectiveClient.h | 22 ---- .../detective/DetectiveClientConfiguration.h | 61 +++++++++++ .../aws/detective/DetectiveEndpointProvider.h | 33 +++++- .../detective/DetectiveServiceClientModel.h | 1 - .../source/DetectiveClient.cpp | 42 +------- .../source/DetectiveClientConfiguration.cpp | 48 +++++++++ .../source/DetectiveEndpointProvider.cpp | 33 ++++++ .../include/aws/devicefarm/DeviceFarmClient.h | 22 ---- .../DeviceFarmClientConfiguration.h | 61 +++++++++++ .../devicefarm/DeviceFarmEndpointProvider.h | 33 +++++- .../devicefarm/DeviceFarmServiceClientModel.h | 1 - .../source/DeviceFarmClient.cpp | 42 +------- .../source/DeviceFarmClientConfiguration.cpp | 48 +++++++++ .../source/DeviceFarmEndpointProvider.cpp | 33 ++++++ .../aws/devops-agent/DevOpsAgentClient.h | 22 ---- .../DevOpsAgentClientConfiguration.h | 62 +++++++++++ .../DevOpsAgentEndpointProvider.h | 33 +++++- .../DevOpsAgentServiceClientModel.h | 1 - .../source/DevOpsAgentClient.cpp | 42 +------- .../source/DevOpsAgentClientConfiguration.cpp | 47 ++++++++ .../source/DevOpsAgentEndpointProvider.cpp | 31 ++++++ .../aws/devops-guru/DevOpsGuruClient.h | 22 ---- .../DevOpsGuruClientConfiguration.h | 61 +++++++++++ .../devops-guru/DevOpsGuruEndpointProvider.h | 33 +++++- .../DevOpsGuruServiceClientModel.h | 1 - .../source/DevOpsGuruClient.cpp | 42 +------- .../source/DevOpsGuruClientConfiguration.cpp | 48 +++++++++ .../source/DevOpsGuruEndpointProvider.cpp | 33 ++++++ .../aws/directconnect/DirectConnectClient.h | 22 ---- .../DirectConnectClientConfiguration.h | 61 +++++++++++ .../DirectConnectEndpointProvider.h | 33 +++++- .../DirectConnectServiceClientModel.h | 1 - .../source/DirectConnectClient.cpp | 42 +------- .../DirectConnectClientConfiguration.cpp | 48 +++++++++ .../source/DirectConnectEndpointProvider.cpp | 34 ++++++ .../DirectoryServiceDataClient.h | 22 ---- .../DirectoryServiceDataClientConfiguration.h | 62 +++++++++++ .../DirectoryServiceDataEndpointProvider.h | 35 +++++- .../DirectoryServiceDataServiceClientModel.h | 1 - .../source/DirectoryServiceDataClient.cpp | 43 +------- ...irectoryServiceDataClientConfiguration.cpp | 50 +++++++++ .../DirectoryServiceDataEndpointProvider.cpp | 34 ++++++ .../ApplicationDiscoveryServiceClient.h | 23 ---- ...ationDiscoveryServiceClientConfiguration.h | 62 +++++++++++ ...licationDiscoveryServiceEndpointProvider.h | 35 +++++- ...cationDiscoveryServiceServiceClientModel.h | 1 - .../ApplicationDiscoveryServiceClient.cpp | 43 +------- ...ionDiscoveryServiceClientConfiguration.cpp | 53 ++++++++++ ...cationDiscoveryServiceEndpointProvider.cpp | 39 +++++++ .../include/aws/dlm/DLMClient.h | 22 ---- .../include/aws/dlm/DLMClientConfiguration.h | 61 +++++++++++ .../include/aws/dlm/DLMEndpointProvider.h | 31 +++++- .../include/aws/dlm/DLMServiceClientModel.h | 1 - .../src/aws-cpp-sdk-dlm/source/DLMClient.cpp | 42 +------- .../source/DLMClientConfiguration.cpp | 47 ++++++++ .../source/DLMEndpointProvider.cpp | 31 ++++++ .../aws/dms/DatabaseMigrationServiceClient.h | 22 ---- ...abaseMigrationServiceClientConfiguration.h | 62 +++++++++++ ...DatabaseMigrationServiceEndpointProvider.h | 35 +++++- ...tabaseMigrationServiceServiceClientModel.h | 1 - .../source/DatabaseMigrationServiceClient.cpp | 43 +------- ...aseMigrationServiceClientConfiguration.cpp | 52 +++++++++ ...tabaseMigrationServiceEndpointProvider.cpp | 34 ++++++ .../aws/docdb-elastic/DocDBElasticClient.h | 22 ---- .../DocDBElasticClientConfiguration.h | 61 +++++++++++ .../DocDBElasticEndpointProvider.h | 33 +++++- .../DocDBElasticServiceClientModel.h | 1 - .../source/DocDBElasticClient.cpp | 42 +------- .../DocDBElasticClientConfiguration.cpp | 48 +++++++++ .../source/DocDBElasticEndpointProvider.cpp | 34 ++++++ .../include/aws/docdb/DocDBClient.h | 22 ---- .../aws/docdb/DocDBClientConfiguration.h | 61 +++++++++++ .../include/aws/docdb/DocDBEndpointProvider.h | 31 +++++- .../aws/docdb/DocDBServiceClientModel.h | 1 - .../aws-cpp-sdk-docdb/source/DocDBClient.cpp | 42 +------- .../source/DocDBClientConfiguration.cpp | 48 +++++++++ .../source/DocDBEndpointProvider.cpp | 31 ++++++ .../include/aws/drs/DrsClient.h | 22 ---- .../include/aws/drs/DrsClientConfiguration.h | 61 +++++++++++ .../include/aws/drs/DrsEndpointProvider.h | 31 +++++- .../include/aws/drs/DrsServiceClientModel.h | 1 - .../src/aws-cpp-sdk-drs/source/DrsClient.cpp | 42 +------- .../source/DrsClientConfiguration.cpp | 47 ++++++++ .../source/DrsEndpointProvider.cpp | 31 ++++++ .../include/aws/ds/DirectoryServiceClient.h | 22 ---- .../ds/DirectoryServiceClientConfiguration.h | 61 +++++++++++ .../aws/ds/DirectoryServiceEndpointProvider.h | 33 +++++- .../ds/DirectoryServiceServiceClientModel.h | 1 - .../source/DirectoryServiceClient.cpp | 43 +------- .../DirectoryServiceClientConfiguration.cpp | 49 +++++++++ .../DirectoryServiceEndpointProvider.cpp | 34 ++++++ .../include/aws/dsql/DSQLClient.h | 22 ---- .../aws/dsql/DSQLClientConfiguration.h | 55 ++++++++++ .../include/aws/dsql/DSQLEndpointProvider.h | 31 +++++- .../include/aws/dsql/DSQLServiceClientModel.h | 1 - .../aws-cpp-sdk-dsql/source/DSQLClient.cpp | 42 +------- .../source/DSQLClientConfiguration.cpp | 47 ++++++++ .../source/DSQLEndpointProvider.cpp | 28 +++++ .../dynamodbstreams/DynamoDBStreamsClient.h | 22 ---- .../DynamoDBStreamsClientConfiguration.h | 22 +++- .../DynamoDBStreamsEndpointProvider.h | 3 + .../source/DynamoDBStreamsClient.cpp | 42 +------- .../DynamoDBStreamsClientConfiguration.cpp | 12 ++- .../DynamoDBStreamsEndpointProvider.cpp | 10 ++ .../include/aws/ebs/EBSClient.h | 22 ---- .../include/aws/ebs/EBSClientConfiguration.h | 93 ++++++++++++++++ .../include/aws/ebs/EBSEndpointProvider.h | 31 +++++- .../include/aws/ebs/EBSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-ebs/source/EBSClient.cpp | 44 +------- .../source/EBSClientConfiguration.cpp | 49 +++++++++ .../source/EBSEndpointProvider.cpp | 31 ++++++ .../EC2InstanceConnectClient.h | 22 ---- .../EC2InstanceConnectClientConfiguration.h | 61 +++++++++++ .../EC2InstanceConnectEndpointProvider.h | 33 +++++- .../EC2InstanceConnectServiceClientModel.h | 1 - .../source/EC2InstanceConnectClient.cpp | 43 +------- .../EC2InstanceConnectClientConfiguration.cpp | 50 +++++++++ .../EC2InstanceConnectEndpointProvider.cpp | 34 ++++++ .../include/aws/ec2/EC2Client.h | 22 ---- .../include/aws/ec2/EC2ClientConfiguration.h | 61 +++++++++++ .../include/aws/ec2/EC2EndpointProvider.h | 31 +++++- .../include/aws/ec2/EC2ServiceClientModel.h | 1 - .../src/aws-cpp-sdk-ec2/source/EC2Client.cpp | 42 +------- .../source/EC2ClientConfiguration.cpp | 47 ++++++++ .../source/EC2EndpointProvider.cpp | 31 ++++++ .../include/aws/ecr-public/ECRPublicClient.h | 22 ---- .../ecr-public/ECRPublicClientConfiguration.h | 61 +++++++++++ .../ecr-public/ECRPublicEndpointProvider.h | 33 +++++- .../ecr-public/ECRPublicServiceClientModel.h | 1 - .../source/ECRPublicClient.cpp | 42 +------- .../source/ECRPublicClientConfiguration.cpp | 48 +++++++++ .../source/ECRPublicEndpointProvider.cpp | 33 ++++++ .../include/aws/ecr/ECRClient.h | 22 ---- .../include/aws/ecr/ECRClientConfiguration.h | 61 +++++++++++ .../include/aws/ecr/ECREndpointProvider.h | 31 +++++- .../include/aws/ecr/ECRServiceClientModel.h | 1 - .../src/aws-cpp-sdk-ecr/source/ECRClient.cpp | 42 +------- .../source/ECRClientConfiguration.cpp | 47 ++++++++ .../source/ECREndpointProvider.cpp | 31 ++++++ .../include/aws/ecs/ECSClient.h | 22 ---- .../include/aws/ecs/ECSClientConfiguration.h | 61 +++++++++++ .../include/aws/ecs/ECSEndpointProvider.h | 31 +++++- .../include/aws/ecs/ECSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-ecs/source/ECSClient.cpp | 42 +------- .../source/ECSClientConfiguration.cpp | 47 ++++++++ .../source/ECSEndpointProvider.cpp | 31 ++++++ .../include/aws/eks-auth/EKSAuthClient.h | 22 ---- .../aws/eks-auth/EKSAuthClientConfiguration.h | 55 ++++++++++ .../aws/eks-auth/EKSAuthEndpointProvider.h | 33 +++++- .../aws/eks-auth/EKSAuthServiceClientModel.h | 1 - .../source/EKSAuthClient.cpp | 42 +------- .../source/EKSAuthClientConfiguration.cpp | 47 ++++++++ .../source/EKSAuthEndpointProvider.cpp | 30 ++++++ .../include/aws/eks/EKSClient.h | 22 ---- .../include/aws/eks/EKSClientConfiguration.h | 61 +++++++++++ .../include/aws/eks/EKSEndpointProvider.h | 31 +++++- .../include/aws/eks/EKSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-eks/source/EKSClient.cpp | 42 +------- .../source/EKSClientConfiguration.cpp | 47 ++++++++ .../source/EKSEndpointProvider.cpp | 31 ++++++ .../aws/elasticache/ElastiCacheClient.h | 22 ---- .../ElastiCacheClientConfiguration.h | 61 +++++++++++ .../elasticache/ElastiCacheEndpointProvider.h | 33 +++++- .../ElastiCacheServiceClientModel.h | 1 - .../source/ElastiCacheClient.cpp | 42 +------- .../source/ElastiCacheClientConfiguration.cpp | 48 +++++++++ .../source/ElastiCacheEndpointProvider.cpp | 34 ++++++ .../elasticbeanstalk/ElasticBeanstalkClient.h | 22 ---- .../ElasticBeanstalkClientConfiguration.h | 61 +++++++++++ .../ElasticBeanstalkEndpointProvider.h | 33 +++++- .../ElasticBeanstalkServiceClientModel.h | 1 - .../source/ElasticBeanstalkClient.cpp | 43 +------- .../ElasticBeanstalkClientConfiguration.cpp | 49 +++++++++ .../ElasticBeanstalkEndpointProvider.cpp | 34 ++++++ .../include/aws/elasticfilesystem/EFSClient.h | 22 ---- .../EFSClientConfiguration.h | 61 +++++++++++ .../elasticfilesystem/EFSEndpointProvider.h | 31 +++++- .../elasticfilesystem/EFSServiceClientModel.h | 1 - .../source/EFSClient.cpp | 42 +------- .../source/EFSClientConfiguration.cpp | 47 ++++++++ .../source/EFSEndpointProvider.cpp | 31 ++++++ .../ElasticLoadBalancingClient.h | 22 ---- .../ElasticLoadBalancingClientConfiguration.h | 62 +++++++++++ .../ElasticLoadBalancingEndpointProvider.h | 35 +++++- .../ElasticLoadBalancingServiceClientModel.h | 1 - .../source/ElasticLoadBalancingClient.cpp | 43 +------- ...lasticLoadBalancingClientConfiguration.cpp | 50 +++++++++ .../ElasticLoadBalancingEndpointProvider.cpp | 34 ++++++ .../ElasticLoadBalancingv2Client.h | 22 ---- ...lasticLoadBalancingv2ClientConfiguration.h | 62 +++++++++++ .../ElasticLoadBalancingv2EndpointProvider.h | 35 +++++- ...ElasticLoadBalancingv2ServiceClientModel.h | 1 - .../source/ElasticLoadBalancingv2Client.cpp | 43 +------- ...sticLoadBalancingv2ClientConfiguration.cpp | 50 +++++++++ ...ElasticLoadBalancingv2EndpointProvider.cpp | 34 ++++++ .../include/aws/elasticmapreduce/EMRClient.h | 22 ---- .../elasticmapreduce/EMRClientConfiguration.h | 61 +++++++++++ .../elasticmapreduce/EMREndpointProvider.h | 31 +++++- .../elasticmapreduce/EMRServiceClientModel.h | 1 - .../source/EMRClient.cpp | 42 +------- .../source/EMRClientConfiguration.cpp | 47 ++++++++ .../source/EMREndpointProvider.cpp | 31 ++++++ .../ElementalInferenceClient.h | 22 ---- .../ElementalInferenceClientConfiguration.h | 61 +++++++++++ .../ElementalInferenceEndpointProvider.h | 33 +++++- .../ElementalInferenceServiceClientModel.h | 1 - .../source/ElementalInferenceClient.cpp | 43 +------- .../ElementalInferenceClientConfiguration.cpp | 50 +++++++++ .../ElementalInferenceEndpointProvider.cpp | 34 ++++++ .../include/aws/email/SESClient.h | 22 ---- .../aws/email/SESClientConfiguration.h | 61 +++++++++++ .../include/aws/email/SESEndpointProvider.h | 31 +++++- .../include/aws/email/SESServiceClientModel.h | 1 - .../aws-cpp-sdk-email/source/SESClient.cpp | 42 +------- .../source/SESClientConfiguration.cpp | 47 ++++++++ .../source/SESEndpointProvider.cpp | 31 ++++++ .../aws/emr-containers/EMRContainersClient.h | 22 ---- .../EMRContainersClientConfiguration.h | 61 +++++++++++ .../EMRContainersEndpointProvider.h | 33 +++++- .../EMRContainersServiceClientModel.h | 1 - .../source/EMRContainersClient.cpp | 42 +------- .../EMRContainersClientConfiguration.cpp | 48 +++++++++ .../source/EMRContainersEndpointProvider.cpp | 34 ++++++ .../aws/emr-serverless/EMRServerlessClient.h | 22 ---- .../EMRServerlessClientConfiguration.h | 61 +++++++++++ .../EMRServerlessEndpointProvider.h | 33 +++++- .../EMRServerlessServiceClientModel.h | 1 - .../source/EMRServerlessClient.cpp | 42 +------- .../EMRServerlessClientConfiguration.cpp | 48 +++++++++ .../source/EMRServerlessEndpointProvider.cpp | 34 ++++++ .../endusermessaging/EndUserMessagingClient.h | 22 ---- .../EndUserMessagingClientConfiguration.h | 61 +++++++++++ .../EndUserMessagingEndpointProvider.h | 33 +++++- .../EndUserMessagingServiceClientModel.h | 1 - .../source/EndUserMessagingClient.cpp | 43 +------- .../EndUserMessagingClientConfiguration.cpp | 49 +++++++++ .../EndUserMessagingEndpointProvider.cpp | 34 ++++++ .../entityresolution/EntityResolutionClient.h | 22 ---- .../EntityResolutionClientConfiguration.h | 61 +++++++++++ .../EntityResolutionEndpointProvider.h | 33 +++++- .../EntityResolutionServiceClientModel.h | 1 - .../source/EntityResolutionClient.cpp | 43 +------- .../EntityResolutionClientConfiguration.cpp | 49 +++++++++ .../EntityResolutionEndpointProvider.cpp | 34 ++++++ .../aws/es/ElasticsearchServiceClient.h | 22 ---- .../ElasticsearchServiceClientConfiguration.h | 62 +++++++++++ .../es/ElasticsearchServiceEndpointProvider.h | 35 +++++- .../ElasticsearchServiceServiceClientModel.h | 1 - .../source/ElasticsearchServiceClient.cpp | 43 +------- ...lasticsearchServiceClientConfiguration.cpp | 50 +++++++++ .../ElasticsearchServiceEndpointProvider.cpp | 34 ++++++ .../aws/eventbridge/EventBridgeClient.h | 22 ---- .../EventBridgeClientConfiguration.h | 66 ++++++++++++ .../eventbridge/EventBridgeEndpointProvider.h | 33 +++++- .../EventBridgeServiceClientModel.h | 1 - .../source/EventBridgeClient.cpp | 44 +------- .../source/EventBridgeClientConfiguration.cpp | 49 +++++++++ .../source/EventBridgeEndpointProvider.cpp | 34 ++++++ .../aws/eventbridgev2/EventBridgeV2Client.h | 22 ---- .../EventBridgeV2ClientConfiguration.h | 38 ++++++- .../source/EventBridgeV2Client.cpp | 42 +------- .../EventBridgeV2ClientConfiguration.cpp | 14 ++- .../source/EventBridgeV2EndpointProvider.cpp | 6 ++ .../aws/events/CloudWatchEventsClient.h | 22 ---- .../CloudWatchEventsClientConfiguration.h | 61 +++++++++++ .../events/CloudWatchEventsEndpointProvider.h | 33 +++++- .../CloudWatchEventsServiceClientModel.h | 1 - .../source/CloudWatchEventsClient.cpp | 43 +------- .../CloudWatchEventsClientConfiguration.cpp | 49 +++++++++ .../CloudWatchEventsEndpointProvider.cpp | 34 ++++++ .../include/aws/evs/EVSClient.h | 22 ---- .../include/aws/evs/EVSClientConfiguration.h | 61 +++++++++++ .../include/aws/evs/EVSEndpointProvider.h | 31 +++++- .../include/aws/evs/EVSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-evs/source/EVSClient.cpp | 42 +------- .../source/EVSClientConfiguration.cpp | 47 ++++++++ .../source/EVSEndpointProvider.cpp | 31 ++++++ .../include/aws/firehose/FirehoseClient.h | 22 ---- .../firehose/FirehoseClientConfiguration.h | 61 +++++++++++ .../aws/firehose/FirehoseEndpointProvider.h | 33 +++++- .../aws/firehose/FirehoseServiceClientModel.h | 1 - .../source/FirehoseClient.cpp | 42 +------- .../source/FirehoseClientConfiguration.cpp | 48 +++++++++ .../source/FirehoseEndpointProvider.cpp | 33 ++++++ .../include/aws/fis/FISClient.h | 22 ---- .../include/aws/fis/FISClientConfiguration.h | 61 +++++++++++ .../include/aws/fis/FISEndpointProvider.h | 31 +++++- .../include/aws/fis/FISServiceClientModel.h | 1 - .../src/aws-cpp-sdk-fis/source/FISClient.cpp | 42 +------- .../source/FISClientConfiguration.cpp | 47 ++++++++ .../source/FISEndpointProvider.cpp | 31 ++++++ .../include/aws/fms/FMSClient.h | 22 ---- .../include/aws/fms/FMSClientConfiguration.h | 61 +++++++++++ .../include/aws/fms/FMSEndpointProvider.h | 31 +++++- .../include/aws/fms/FMSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-fms/source/FMSClient.cpp | 42 +------- .../source/FMSClientConfiguration.cpp | 47 ++++++++ .../source/FMSEndpointProvider.cpp | 31 ++++++ .../aws/forecast/ForecastServiceClient.h | 22 ---- .../ForecastServiceClientConfiguration.h | 61 +++++++++++ .../ForecastServiceEndpointProvider.h | 33 +++++- .../ForecastServiceServiceClientModel.h | 1 - .../source/ForecastServiceClient.cpp | 42 +------- .../ForecastServiceClientConfiguration.cpp | 49 +++++++++ .../ForecastServiceEndpointProvider.cpp | 34 ++++++ .../ForecastQueryServiceClient.h | 22 ---- .../ForecastQueryServiceClientConfiguration.h | 62 +++++++++++ .../ForecastQueryServiceEndpointProvider.h | 35 +++++- .../ForecastQueryServiceServiceClientModel.h | 1 - .../source/ForecastQueryServiceClient.cpp | 43 +------- ...orecastQueryServiceClientConfiguration.cpp | 50 +++++++++ .../ForecastQueryServiceEndpointProvider.cpp | 34 ++++++ .../aws/frauddetector/FraudDetectorClient.h | 22 ---- .../FraudDetectorClientConfiguration.h | 61 +++++++++++ .../FraudDetectorEndpointProvider.h | 33 +++++- .../FraudDetectorServiceClientModel.h | 1 - .../source/FraudDetectorClient.cpp | 42 +------- .../FraudDetectorClientConfiguration.cpp | 48 +++++++++ .../source/FraudDetectorEndpointProvider.cpp | 34 ++++++ .../include/aws/freetier/FreeTierClient.h | 22 ---- .../freetier/FreeTierClientConfiguration.h | 55 ++++++++++ .../aws/freetier/FreeTierEndpointProvider.h | 33 +++++- .../aws/freetier/FreeTierServiceClientModel.h | 1 - .../source/FreeTierClient.cpp | 42 +------- .../source/FreeTierClientConfiguration.cpp | 47 ++++++++ .../source/FreeTierEndpointProvider.cpp | 30 ++++++ .../include/aws/fsx/FSxClient.h | 22 ---- .../include/aws/fsx/FSxClientConfiguration.h | 61 +++++++++++ .../include/aws/fsx/FSxEndpointProvider.h | 31 +++++- .../include/aws/fsx/FSxServiceClientModel.h | 1 - .../src/aws-cpp-sdk-fsx/source/FSxClient.cpp | 42 +------- .../source/FSxClientConfiguration.cpp | 47 ++++++++ .../source/FSxEndpointProvider.cpp | 31 ++++++ .../include/aws/gamelift/GameLiftClient.h | 22 ---- .../gamelift/GameLiftClientConfiguration.h | 61 +++++++++++ .../aws/gamelift/GameLiftEndpointProvider.h | 33 +++++- .../aws/gamelift/GameLiftServiceClientModel.h | 1 - .../source/GameLiftClient.cpp | 42 +------- .../source/GameLiftClientConfiguration.cpp | 48 +++++++++ .../source/GameLiftEndpointProvider.cpp | 33 ++++++ .../gameliftstreams/GameLiftStreamsClient.h | 22 ---- .../GameLiftStreamsClientConfiguration.h | 55 ++++++++++ .../GameLiftStreamsEndpointProvider.h | 33 +++++- .../GameLiftStreamsServiceClientModel.h | 1 - .../source/GameLiftStreamsClient.cpp | 42 +------- .../GameLiftStreamsClientConfiguration.cpp | 48 +++++++++ .../GameLiftStreamsEndpointProvider.cpp | 31 ++++++ .../include/aws/geo-maps/GeoMapsClient.h | 22 ---- .../aws/geo-maps/GeoMapsClientConfiguration.h | 61 +++++++++++ .../aws/geo-maps/GeoMapsEndpointProvider.h | 33 +++++- .../aws/geo-maps/GeoMapsServiceClientModel.h | 1 - .../source/GeoMapsClient.cpp | 42 +------- .../source/GeoMapsClientConfiguration.cpp | 48 +++++++++ .../source/GeoMapsEndpointProvider.cpp | 33 ++++++ .../include/aws/geo-places/GeoPlacesClient.h | 22 ---- .../geo-places/GeoPlacesClientConfiguration.h | 61 +++++++++++ .../geo-places/GeoPlacesEndpointProvider.h | 33 +++++- .../geo-places/GeoPlacesServiceClientModel.h | 1 - .../source/GeoPlacesClient.cpp | 42 +------- .../source/GeoPlacesClientConfiguration.cpp | 48 +++++++++ .../source/GeoPlacesEndpointProvider.cpp | 33 ++++++ .../include/aws/geo-routes/GeoRoutesClient.h | 22 ---- .../geo-routes/GeoRoutesClientConfiguration.h | 61 +++++++++++ .../geo-routes/GeoRoutesEndpointProvider.h | 33 +++++- .../geo-routes/GeoRoutesServiceClientModel.h | 1 - .../source/GeoRoutesClient.cpp | 42 +------- .../source/GeoRoutesClientConfiguration.cpp | 48 +++++++++ .../source/GeoRoutesEndpointProvider.cpp | 33 ++++++ .../include/aws/glacier/GlacierClient.h | 22 ---- .../aws/glacier/GlacierClientConfiguration.h | 93 ++++++++++++++++ .../aws/glacier/GlacierEndpointProvider.h | 33 +++++- .../aws/glacier/GlacierServiceClientModel.h | 1 - .../source/GlacierClient.cpp | 44 +------- .../source/GlacierClientConfiguration.cpp | 50 +++++++++ .../source/GlacierEndpointProvider.cpp | 33 ++++++ .../GlobalAcceleratorClient.h | 22 ---- .../GlobalAcceleratorClientConfiguration.h | 61 +++++++++++ .../GlobalAcceleratorEndpointProvider.h | 33 +++++- .../GlobalAcceleratorServiceClientModel.h | 1 - .../source/GlobalAcceleratorClient.cpp | 43 +------- .../GlobalAcceleratorClientConfiguration.cpp | 49 +++++++++ .../GlobalAcceleratorEndpointProvider.cpp | 34 ++++++ .../include/aws/glue/GlueClient.h | 22 ---- .../aws/glue/GlueClientConfiguration.h | 61 +++++++++++ .../include/aws/glue/GlueEndpointProvider.h | 31 +++++- .../include/aws/glue/GlueServiceClientModel.h | 1 - .../aws-cpp-sdk-glue/source/GlueClient.cpp | 42 +------- .../source/GlueClientConfiguration.cpp | 48 +++++++++ .../source/GlueEndpointProvider.cpp | 31 ++++++ .../aws/grafana/ManagedGrafanaClient.h | 22 ---- .../ManagedGrafanaClientConfiguration.h | 61 +++++++++++ .../grafana/ManagedGrafanaEndpointProvider.h | 33 +++++- .../ManagedGrafanaServiceClientModel.h | 1 - .../source/ManagedGrafanaClient.cpp | 42 +------- .../ManagedGrafanaClientConfiguration.cpp | 48 +++++++++ .../source/ManagedGrafanaEndpointProvider.cpp | 34 ++++++ .../include/aws/greengrass/GreengrassClient.h | 22 ---- .../GreengrassClientConfiguration.h | 61 +++++++++++ .../greengrass/GreengrassEndpointProvider.h | 33 +++++- .../greengrass/GreengrassServiceClientModel.h | 1 - .../source/GreengrassClient.cpp | 42 +------- .../source/GreengrassClientConfiguration.cpp | 48 +++++++++ .../source/GreengrassEndpointProvider.cpp | 33 ++++++ .../aws/greengrassv2/GreengrassV2Client.h | 22 ---- .../GreengrassV2ClientConfiguration.h | 61 +++++++++++ .../GreengrassV2EndpointProvider.h | 33 +++++- .../GreengrassV2ServiceClientModel.h | 1 - .../source/GreengrassV2Client.cpp | 42 +------- .../GreengrassV2ClientConfiguration.cpp | 48 +++++++++ .../source/GreengrassV2EndpointProvider.cpp | 34 ++++++ .../aws/groundstation/GroundStationClient.h | 22 ---- .../GroundStationClientConfiguration.h | 61 +++++++++++ .../GroundStationEndpointProvider.h | 33 +++++- .../GroundStationServiceClientModel.h | 1 - .../source/GroundStationClient.cpp | 42 +------- .../GroundStationClientConfiguration.cpp | 48 +++++++++ .../source/GroundStationEndpointProvider.cpp | 34 ++++++ .../include/aws/guardduty/GuardDutyClient.h | 22 ---- .../guardduty/GuardDutyClientConfiguration.h | 61 +++++++++++ .../aws/guardduty/GuardDutyEndpointProvider.h | 33 +++++- .../guardduty/GuardDutyServiceClientModel.h | 1 - .../source/GuardDutyClient.cpp | 42 +------- .../source/GuardDutyClientConfiguration.cpp | 48 +++++++++ .../source/GuardDutyEndpointProvider.cpp | 33 ++++++ .../include/aws/health/HealthClient.h | 22 ---- .../aws/health/HealthClientConfiguration.h | 61 +++++++++++ .../aws/health/HealthEndpointProvider.h | 33 +++++- .../aws/health/HealthServiceClientModel.h | 1 - .../source/HealthClient.cpp | 42 +------- .../source/HealthClientConfiguration.cpp | 48 +++++++++ .../source/HealthEndpointProvider.cpp | 31 ++++++ .../include/aws/healthlake/HealthLakeClient.h | 22 ---- .../HealthLakeClientConfiguration.h | 68 ++++++++++++ .../healthlake/HealthLakeEndpointProvider.h | 33 +++++- .../healthlake/HealthLakeServiceClientModel.h | 1 - .../source/HealthLakeClient.cpp | 42 +------- .../source/HealthLakeClientConfiguration.cpp | 48 +++++++++ .../source/HealthLakeEndpointProvider.cpp | 33 ++++++ .../aws/iam-toolbox/IAMToolboxClient.h | 22 ---- .../IAMToolboxClientConfiguration.h | 61 +++++++++++ .../iam-toolbox/IAMToolboxEndpointProvider.h | 33 +++++- .../IAMToolboxServiceClientModel.h | 1 - .../source/IAMToolboxClient.cpp | 42 +------- .../source/IAMToolboxClientConfiguration.cpp | 48 +++++++++ .../source/IAMToolboxEndpointProvider.cpp | 33 ++++++ .../include/aws/iam/IAMClient.h | 22 ---- .../include/aws/iam/IAMClientConfiguration.h | 61 +++++++++++ .../include/aws/iam/IAMEndpointProvider.h | 31 +++++- .../include/aws/iam/IAMServiceClientModel.h | 1 - .../src/aws-cpp-sdk-iam/source/IAMClient.cpp | 42 +------- .../source/IAMClientConfiguration.cpp | 47 ++++++++ .../source/IAMEndpointProvider.cpp | 31 ++++++ .../aws/identitystore/IdentityStoreClient.h | 22 ---- .../IdentityStoreClientConfiguration.h | 61 +++++++++++ .../IdentityStoreEndpointProvider.h | 33 +++++- .../IdentityStoreServiceClientModel.h | 1 - .../source/IdentityStoreClient.cpp | 42 +------- .../IdentityStoreClientConfiguration.cpp | 48 +++++++++ .../source/IdentityStoreEndpointProvider.cpp | 34 ++++++ .../aws/imagebuilder/ImagebuilderClient.h | 22 ---- .../ImagebuilderClientConfiguration.h | 61 +++++++++++ .../ImagebuilderEndpointProvider.h | 33 +++++- .../ImagebuilderServiceClientModel.h | 1 - .../source/ImagebuilderClient.cpp | 42 +------- .../ImagebuilderClientConfiguration.cpp | 48 +++++++++ .../source/ImagebuilderEndpointProvider.cpp | 34 ++++++ .../aws/importexport/ImportExportClient.h | 22 ---- .../ImportExportClientConfiguration.h | 61 +++++++++++ .../ImportExportEndpointProvider.h | 33 +++++- .../ImportExportServiceClientModel.h | 1 - .../source/ImportExportClient.cpp | 42 +------- .../ImportExportClientConfiguration.cpp | 48 +++++++++ .../source/ImportExportEndpointProvider.cpp | 34 ++++++ .../aws/inspector-scan/InspectorscanClient.h | 22 ---- .../InspectorscanClientConfiguration.h | 61 +++++++++++ .../InspectorscanEndpointProvider.h | 33 +++++- .../InspectorscanServiceClientModel.h | 1 - .../source/InspectorscanClient.cpp | 42 +------- .../InspectorscanClientConfiguration.cpp | 48 +++++++++ .../source/InspectorscanEndpointProvider.cpp | 34 ++++++ .../include/aws/inspector/InspectorClient.h | 22 ---- .../inspector/InspectorClientConfiguration.h | 61 +++++++++++ .../aws/inspector/InspectorEndpointProvider.h | 33 +++++- .../inspector/InspectorServiceClientModel.h | 1 - .../source/InspectorClient.cpp | 42 +------- .../source/InspectorClientConfiguration.cpp | 48 +++++++++ .../source/InspectorEndpointProvider.cpp | 33 ++++++ .../include/aws/inspector2/Inspector2Client.h | 22 ---- .../Inspector2ClientConfiguration.h | 61 +++++++++++ .../inspector2/Inspector2EndpointProvider.h | 33 +++++- .../inspector2/Inspector2ServiceClientModel.h | 1 - .../source/Inspector2Client.cpp | 42 +------- .../source/Inspector2ClientConfiguration.cpp | 48 +++++++++ .../source/Inspector2EndpointProvider.cpp | 33 ++++++ .../aws/interconnect/InterconnectClient.h | 22 ---- .../InterconnectClientConfiguration.h | 55 ++++++++++ .../InterconnectEndpointProvider.h | 33 +++++- .../InterconnectServiceClientModel.h | 1 - .../source/InterconnectClient.cpp | 42 +------- .../InterconnectClientConfiguration.cpp | 47 ++++++++ .../source/InterconnectEndpointProvider.cpp | 31 ++++++ .../internetmonitor/InternetMonitorClient.h | 22 ---- .../InternetMonitorClientConfiguration.h | 61 +++++++++++ .../InternetMonitorEndpointProvider.h | 33 +++++- .../InternetMonitorServiceClientModel.h | 1 - .../source/InternetMonitorClient.cpp | 42 +------- .../InternetMonitorClientConfiguration.cpp | 49 +++++++++ .../InternetMonitorEndpointProvider.cpp | 34 ++++++ .../include/aws/invoicing/InvoicingClient.h | 22 ---- .../invoicing/InvoicingClientConfiguration.h | 55 ++++++++++ .../aws/invoicing/InvoicingEndpointProvider.h | 33 +++++- .../invoicing/InvoicingServiceClientModel.h | 1 - .../source/InvoicingClient.cpp | 42 +------- .../source/InvoicingClientConfiguration.cpp | 47 ++++++++ .../source/InvoicingEndpointProvider.cpp | 30 ++++++ .../include/aws/iot-data/IoTDataPlaneClient.h | 22 ---- .../IoTDataPlaneClientConfiguration.h | 93 ++++++++++++++++ .../iot-data/IoTDataPlaneEndpointProvider.h | 33 +++++- .../iot-data/IoTDataPlaneServiceClientModel.h | 1 - .../source/IoTDataPlaneClient.cpp | 44 +------- .../IoTDataPlaneClientConfiguration.cpp | 50 +++++++++ .../source/IoTDataPlaneEndpointProvider.cpp | 34 ++++++ .../iot-jobs-data/IoTJobsDataPlaneClient.h | 22 ---- .../IoTJobsDataPlaneClientConfiguration.h | 61 +++++++++++ .../IoTJobsDataPlaneEndpointProvider.h | 33 +++++- .../IoTJobsDataPlaneServiceClientModel.h | 1 - .../source/IoTJobsDataPlaneClient.cpp | 43 +------- .../IoTJobsDataPlaneClientConfiguration.cpp | 49 +++++++++ .../IoTJobsDataPlaneEndpointProvider.cpp | 34 ++++++ .../IoTManagedIntegrationsClient.h | 22 ---- ...oTManagedIntegrationsClientConfiguration.h | 56 ++++++++++ .../IoTManagedIntegrationsEndpointProvider.h | 35 +++++- ...IoTManagedIntegrationsServiceClientModel.h | 1 - .../source/IoTManagedIntegrationsClient.cpp | 43 +------- ...ManagedIntegrationsClientConfiguration.cpp | 49 +++++++++ ...IoTManagedIntegrationsEndpointProvider.cpp | 31 ++++++ .../include/aws/iot/IoTClient.h | 22 ---- .../include/aws/iot/IoTClientConfiguration.h | 61 +++++++++++ .../include/aws/iot/IoTEndpointProvider.h | 31 +++++- .../include/aws/iot/IoTServiceClientModel.h | 1 - .../src/aws-cpp-sdk-iot/source/IoTClient.cpp | 42 +------- .../source/IoTClientConfiguration.cpp | 47 ++++++++ .../source/IoTEndpointProvider.cpp | 31 ++++++ .../iotdeviceadvisor/IoTDeviceAdvisorClient.h | 22 ---- .../IoTDeviceAdvisorClientConfiguration.h | 61 +++++++++++ .../IoTDeviceAdvisorEndpointProvider.h | 33 +++++- .../IoTDeviceAdvisorServiceClientModel.h | 1 - .../source/IoTDeviceAdvisorClient.cpp | 43 +------- .../IoTDeviceAdvisorClientConfiguration.cpp | 49 +++++++++ .../IoTDeviceAdvisorEndpointProvider.cpp | 34 ++++++ .../aws/iotfleetwise/IoTFleetWiseClient.h | 22 ---- .../IoTFleetWiseClientConfiguration.h | 61 +++++++++++ .../IoTFleetWiseEndpointProvider.h | 33 +++++- .../IoTFleetWiseServiceClientModel.h | 1 - .../source/IoTFleetWiseClient.cpp | 42 +------- .../IoTFleetWiseClientConfiguration.cpp | 48 +++++++++ .../source/IoTFleetWiseEndpointProvider.cpp | 34 ++++++ .../IoTSecureTunnelingClient.h | 22 ---- .../IoTSecureTunnelingClientConfiguration.h | 61 +++++++++++ .../IoTSecureTunnelingEndpointProvider.h | 33 +++++- .../IoTSecureTunnelingServiceClientModel.h | 1 - .../source/IoTSecureTunnelingClient.cpp | 43 +------- .../IoTSecureTunnelingClientConfiguration.cpp | 50 +++++++++ .../IoTSecureTunnelingEndpointProvider.cpp | 34 ++++++ .../aws/iotsitewise/IoTSiteWiseClient.h | 22 ---- .../IoTSiteWiseClientConfiguration.h | 68 ++++++++++++ .../iotsitewise/IoTSiteWiseEndpointProvider.h | 33 +++++- .../IoTSiteWiseServiceClientModel.h | 1 - .../source/IoTSiteWiseClient.cpp | 42 +------- .../source/IoTSiteWiseClientConfiguration.cpp | 48 +++++++++ .../source/IoTSiteWiseEndpointProvider.cpp | 34 ++++++ .../aws/iotthingsgraph/IoTThingsGraphClient.h | 22 ---- .../IoTThingsGraphClientConfiguration.h | 61 +++++++++++ .../IoTThingsGraphEndpointProvider.h | 33 +++++- .../IoTThingsGraphServiceClientModel.h | 1 - .../source/IoTThingsGraphClient.cpp | 42 +------- .../IoTThingsGraphClientConfiguration.cpp | 48 +++++++++ .../source/IoTThingsGraphEndpointProvider.cpp | 34 ++++++ .../aws/iottwinmaker/IoTTwinMakerClient.h | 22 ---- .../IoTTwinMakerClientConfiguration.h | 68 ++++++++++++ .../IoTTwinMakerEndpointProvider.h | 33 +++++- .../IoTTwinMakerServiceClientModel.h | 1 - .../source/IoTTwinMakerClient.cpp | 42 +------- .../IoTTwinMakerClientConfiguration.cpp | 48 +++++++++ .../source/IoTTwinMakerEndpointProvider.cpp | 34 ++++++ .../aws/iotwireless/IoTWirelessClient.h | 22 ---- .../IoTWirelessClientConfiguration.h | 93 ++++++++++++++++ .../iotwireless/IoTWirelessEndpointProvider.h | 33 +++++- .../IoTWirelessServiceClientModel.h | 1 - .../source/IoTWirelessClient.cpp | 44 +------- .../source/IoTWirelessClientConfiguration.cpp | 50 +++++++++ .../source/IoTWirelessEndpointProvider.cpp | 34 ++++++ .../aws/ivs-realtime/IvsrealtimeClient.h | 22 ---- .../IvsrealtimeClientConfiguration.h | 61 +++++++++++ .../IvsrealtimeEndpointProvider.h | 33 +++++- .../IvsrealtimeServiceClientModel.h | 1 - .../source/IvsrealtimeClient.cpp | 42 +------- .../source/IvsrealtimeClientConfiguration.cpp | 48 +++++++++ .../source/IvsrealtimeEndpointProvider.cpp | 34 ++++++ .../include/aws/ivs/IVSClient.h | 22 ---- .../include/aws/ivs/IVSClientConfiguration.h | 61 +++++++++++ .../include/aws/ivs/IVSEndpointProvider.h | 31 +++++- .../include/aws/ivs/IVSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-ivs/source/IVSClient.cpp | 42 +------- .../source/IVSClientConfiguration.cpp | 47 ++++++++ .../source/IVSEndpointProvider.cpp | 31 ++++++ .../include/aws/ivschat/IvschatClient.h | 22 ---- .../aws/ivschat/IvschatClientConfiguration.h | 61 +++++++++++ .../aws/ivschat/IvschatEndpointProvider.h | 33 +++++- .../aws/ivschat/IvschatServiceClientModel.h | 1 - .../source/IvschatClient.cpp | 42 +------- .../source/IvschatClientConfiguration.cpp | 48 +++++++++ .../source/IvschatEndpointProvider.cpp | 33 ++++++ .../include/aws/kafka/KafkaClient.h | 22 ---- .../aws/kafka/KafkaClientConfiguration.h | 61 +++++++++++ .../include/aws/kafka/KafkaEndpointProvider.h | 31 +++++- .../aws/kafka/KafkaServiceClientModel.h | 1 - .../aws-cpp-sdk-kafka/source/KafkaClient.cpp | 42 +------- .../source/KafkaClientConfiguration.cpp | 48 +++++++++ .../source/KafkaEndpointProvider.cpp | 31 ++++++ .../aws/kafkaconnect/KafkaConnectClient.h | 22 ---- .../KafkaConnectClientConfiguration.h | 61 +++++++++++ .../KafkaConnectEndpointProvider.h | 33 +++++- .../KafkaConnectServiceClientModel.h | 1 - .../source/KafkaConnectClient.cpp | 42 +------- .../KafkaConnectClientConfiguration.cpp | 48 +++++++++ .../source/KafkaConnectEndpointProvider.cpp | 34 ++++++ .../aws/kendra-ranking/KendraRankingClient.h | 22 ---- .../KendraRankingClientConfiguration.h | 55 ++++++++++ .../KendraRankingEndpointProvider.h | 33 +++++- .../KendraRankingServiceClientModel.h | 1 - .../source/KendraRankingClient.cpp | 42 +------- .../KendraRankingClientConfiguration.cpp | 47 ++++++++ .../source/KendraRankingEndpointProvider.cpp | 31 ++++++ .../include/aws/kendra/KendraClient.h | 22 ---- .../aws/kendra/KendraClientConfiguration.h | 61 +++++++++++ .../aws/kendra/KendraEndpointProvider.h | 33 +++++- .../aws/kendra/KendraServiceClientModel.h | 1 - .../source/KendraClient.cpp | 42 +------- .../source/KendraClientConfiguration.cpp | 48 +++++++++ .../source/KendraEndpointProvider.cpp | 31 ++++++ .../include/aws/keyspaces/KeyspacesClient.h | 22 ---- .../keyspaces/KeyspacesClientConfiguration.h | 61 +++++++++++ .../aws/keyspaces/KeyspacesEndpointProvider.h | 33 +++++- .../keyspaces/KeyspacesServiceClientModel.h | 1 - .../source/KeyspacesClient.cpp | 42 +------- .../source/KeyspacesClientConfiguration.cpp | 48 +++++++++ .../source/KeyspacesEndpointProvider.cpp | 33 ++++++ .../keyspacesstreams/KeyspacesStreamsClient.h | 22 ---- .../KeyspacesStreamsClientConfiguration.h | 55 ++++++++++ .../KeyspacesStreamsEndpointProvider.h | 33 +++++- .../KeyspacesStreamsServiceClientModel.h | 1 - .../source/KeyspacesStreamsClient.cpp | 43 +------- .../KeyspacesStreamsClientConfiguration.cpp | 48 +++++++++ .../KeyspacesStreamsEndpointProvider.cpp | 31 ++++++ .../KinesisVideoArchivedMediaClient.h | 23 ---- ...sisVideoArchivedMediaClientConfiguration.h | 62 +++++++++++ ...inesisVideoArchivedMediaEndpointProvider.h | 35 +++++- ...esisVideoArchivedMediaServiceClientModel.h | 1 - .../KinesisVideoArchivedMediaClient.cpp | 43 +------- ...sVideoArchivedMediaClientConfiguration.cpp | 52 +++++++++ ...esisVideoArchivedMediaEndpointProvider.cpp | 34 ++++++ .../KinesisVideoMediaClient.h | 22 ---- .../KinesisVideoMediaClientConfiguration.h | 61 +++++++++++ .../KinesisVideoMediaEndpointProvider.h | 33 +++++- .../KinesisVideoMediaServiceClientModel.h | 1 - .../source/KinesisVideoMediaClient.cpp | 43 +------- .../KinesisVideoMediaClientConfiguration.cpp | 49 +++++++++ .../KinesisVideoMediaEndpointProvider.cpp | 34 ++++++ .../KinesisVideoSignalingChannelsClient.h | 23 ---- ...ideoSignalingChannelsClientConfiguration.h | 64 +++++++++++ ...isVideoSignalingChannelsEndpointProvider.h | 36 ++++++- ...VideoSignalingChannelsServiceClientModel.h | 1 - .../KinesisVideoSignalingChannelsClient.cpp | 43 +------- ...eoSignalingChannelsClientConfiguration.cpp | 54 ++++++++++ ...VideoSignalingChannelsEndpointProvider.cpp | 39 +++++++ .../KinesisVideoWebRTCStorageClient.h | 23 ---- ...sisVideoWebRTCStorageClientConfiguration.h | 62 +++++++++++ ...inesisVideoWebRTCStorageEndpointProvider.h | 35 +++++- ...esisVideoWebRTCStorageServiceClientModel.h | 1 - .../KinesisVideoWebRTCStorageClient.cpp | 43 +------- ...sVideoWebRTCStorageClientConfiguration.cpp | 52 +++++++++ ...esisVideoWebRTCStorageEndpointProvider.cpp | 34 ++++++ .../include/aws/kinesis/KinesisClient.h | 22 ---- .../aws/kinesis/KinesisClientConfiguration.h | 38 ++++++- .../source/KinesisClient.cpp | 42 +------- .../source/KinesisClientConfiguration.cpp | 13 ++- .../source/KinesisEndpointProvider.cpp | 6 ++ .../kinesisanalytics/KinesisAnalyticsClient.h | 22 ---- .../KinesisAnalyticsClientConfiguration.h | 61 +++++++++++ .../KinesisAnalyticsEndpointProvider.h | 33 +++++- .../KinesisAnalyticsServiceClientModel.h | 1 - .../source/KinesisAnalyticsClient.cpp | 43 +------- .../KinesisAnalyticsClientConfiguration.cpp | 49 +++++++++ .../KinesisAnalyticsEndpointProvider.cpp | 34 ++++++ .../KinesisAnalyticsV2Client.h | 22 ---- .../KinesisAnalyticsV2ClientConfiguration.h | 61 +++++++++++ .../KinesisAnalyticsV2EndpointProvider.h | 33 +++++- .../KinesisAnalyticsV2ServiceClientModel.h | 1 - .../source/KinesisAnalyticsV2Client.cpp | 43 +------- .../KinesisAnalyticsV2ClientConfiguration.cpp | 50 +++++++++ .../KinesisAnalyticsV2EndpointProvider.cpp | 34 ++++++ .../aws/kinesisvideo/KinesisVideoClient.h | 22 ---- .../KinesisVideoClientConfiguration.h | 61 +++++++++++ .../KinesisVideoEndpointProvider.h | 33 +++++- .../KinesisVideoServiceClientModel.h | 1 - .../source/KinesisVideoClient.cpp | 42 +------- .../KinesisVideoClientConfiguration.cpp | 48 +++++++++ .../source/KinesisVideoEndpointProvider.cpp | 34 ++++++ .../include/aws/kms/KMSClient.h | 22 ---- .../include/aws/kms/KMSClientConfiguration.h | 61 +++++++++++ .../include/aws/kms/KMSEndpointProvider.h | 31 +++++- .../include/aws/kms/KMSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-kms/source/KMSClient.cpp | 42 +------- .../source/KMSClientConfiguration.cpp | 47 ++++++++ .../source/KMSEndpointProvider.cpp | 31 ++++++ .../aws/lakeformation/LakeFormationClient.h | 22 ---- .../LakeFormationClientConfiguration.h | 68 ++++++++++++ .../LakeFormationEndpointProvider.h | 33 +++++- .../LakeFormationServiceClientModel.h | 1 - .../source/LakeFormationClient.cpp | 42 +------- .../LakeFormationClientConfiguration.cpp | 48 +++++++++ .../source/LakeFormationEndpointProvider.cpp | 34 ++++++ .../aws/lambda-core/LambdaCoreClient.h | 22 ---- .../LambdaCoreClientConfiguration.h | 61 +++++++++++ .../lambda-core/LambdaCoreEndpointProvider.h | 33 +++++- .../LambdaCoreServiceClientModel.h | 1 - .../source/LambdaCoreClient.cpp | 42 +------- .../source/LambdaCoreClientConfiguration.cpp | 48 +++++++++ .../source/LambdaCoreEndpointProvider.cpp | 33 ++++++ .../lambda-microvms/LambdaMicrovmsClient.h | 22 ---- .../LambdaMicrovmsClientConfiguration.h | 61 +++++++++++ .../LambdaMicrovmsEndpointProvider.h | 33 +++++- .../LambdaMicrovmsServiceClientModel.h | 1 - .../source/LambdaMicrovmsClient.cpp | 42 +------- .../LambdaMicrovmsClientConfiguration.cpp | 48 +++++++++ .../source/LambdaMicrovmsEndpointProvider.cpp | 34 ++++++ .../include/aws/lambda-web/LambdaWebClient.h | 22 ---- .../lambda-web/LambdaWebClientConfiguration.h | 61 +++++++++++ .../lambda-web/LambdaWebEndpointProvider.h | 33 +++++- .../lambda-web/LambdaWebServiceClientModel.h | 1 - .../source/LambdaWebClient.cpp | 42 +------- .../source/LambdaWebClientConfiguration.cpp | 48 +++++++++ .../source/LambdaWebEndpointProvider.cpp | 33 ++++++ .../include/aws/lambda/LambdaClient.h | 22 ---- .../aws/lambda/LambdaClientConfiguration.h | 93 ++++++++++++++++ .../aws/lambda/LambdaEndpointProvider.h | 33 +++++- .../aws/lambda/LambdaServiceClientModel.h | 1 - .../source/LambdaClient.cpp | 44 +------- .../source/LambdaClientConfiguration.cpp | 50 +++++++++ .../source/LambdaEndpointProvider.cpp | 31 ++++++ .../aws/launch-wizard/LaunchWizardClient.h | 22 ---- .../LaunchWizardClientConfiguration.h | 61 +++++++++++ .../LaunchWizardEndpointProvider.h | 33 +++++- .../LaunchWizardServiceClientModel.h | 1 - .../source/LaunchWizardClient.cpp | 42 +------- .../LaunchWizardClientConfiguration.cpp | 48 +++++++++ .../source/LaunchWizardEndpointProvider.cpp | 34 ++++++ .../LexModelBuildingServiceClient.h | 22 ---- ...xModelBuildingServiceClientConfiguration.h | 62 +++++++++++ .../LexModelBuildingServiceEndpointProvider.h | 35 +++++- ...exModelBuildingServiceServiceClientModel.h | 1 - .../source/LexModelBuildingServiceClient.cpp | 43 +------- ...odelBuildingServiceClientConfiguration.cpp | 50 +++++++++ ...exModelBuildingServiceEndpointProvider.cpp | 34 ++++++ .../include/aws/lex/LexRuntimeServiceClient.h | 22 ---- .../LexRuntimeServiceClientConfiguration.h | 93 ++++++++++++++++ .../lex/LexRuntimeServiceEndpointProvider.h | 33 +++++- .../lex/LexRuntimeServiceServiceClientModel.h | 1 - .../source/LexRuntimeServiceClient.cpp | 45 +------- .../LexRuntimeServiceClientConfiguration.cpp | 51 +++++++++ .../LexRuntimeServiceEndpointProvider.cpp | 34 ++++++ .../aws/lexv2-models/LexModelsV2Client.h | 22 ---- .../LexModelsV2ClientConfiguration.h | 61 +++++++++++ .../LexModelsV2EndpointProvider.h | 33 +++++- .../LexModelsV2ServiceClientModel.h | 1 - .../source/LexModelsV2Client.cpp | 42 +------- .../source/LexModelsV2ClientConfiguration.cpp | 48 +++++++++ .../source/LexModelsV2EndpointProvider.cpp | 34 ++++++ .../aws/lexv2-runtime/LexRuntimeV2Client.h | 22 ---- .../LexRuntimeV2ClientConfiguration.h | 93 ++++++++++++++++ .../LexRuntimeV2EndpointProvider.h | 33 +++++- .../LexRuntimeV2ServiceClientModel.h | 1 - .../source/LexRuntimeV2Client.cpp | 44 +------- .../LexRuntimeV2ClientConfiguration.cpp | 50 +++++++++ .../source/LexRuntimeV2EndpointProvider.cpp | 34 ++++++ .../LicenseManagerLinuxSubscriptionsClient.h | 23 ---- ...gerLinuxSubscriptionsClientConfiguration.h | 64 +++++++++++ ...anagerLinuxSubscriptionsEndpointProvider.h | 37 ++++++- ...agerLinuxSubscriptionsServiceClientModel.h | 1 - ...LicenseManagerLinuxSubscriptionsClient.cpp | 43 +------- ...rLinuxSubscriptionsClientConfiguration.cpp | 54 ++++++++++ ...agerLinuxSubscriptionsEndpointProvider.cpp | 39 +++++++ .../LicenseManagerUserSubscriptionsClient.h | 23 ---- ...agerUserSubscriptionsClientConfiguration.h | 64 +++++++++++ ...ManagerUserSubscriptionsEndpointProvider.h | 36 ++++++- ...nagerUserSubscriptionsServiceClientModel.h | 1 - .../LicenseManagerUserSubscriptionsClient.cpp | 43 +------- ...erUserSubscriptionsClientConfiguration.cpp | 54 ++++++++++ ...nagerUserSubscriptionsEndpointProvider.cpp | 39 +++++++ .../license-manager/LicenseManagerClient.h | 22 ---- .../LicenseManagerClientConfiguration.h | 61 +++++++++++ .../LicenseManagerEndpointProvider.h | 33 +++++- .../LicenseManagerServiceClientModel.h | 1 - .../source/LicenseManagerClient.cpp | 42 +------- .../LicenseManagerClientConfiguration.cpp | 48 +++++++++ .../source/LicenseManagerEndpointProvider.cpp | 34 ++++++ .../include/aws/lightsail/LightsailClient.h | 22 ---- .../lightsail/LightsailClientConfiguration.h | 61 +++++++++++ .../aws/lightsail/LightsailEndpointProvider.h | 33 +++++- .../lightsail/LightsailServiceClientModel.h | 1 - .../source/LightsailClient.cpp | 42 +------- .../source/LightsailClientConfiguration.cpp | 48 +++++++++ .../source/LightsailEndpointProvider.cpp | 33 ++++++ .../aws/location/LocationServiceClient.h | 22 ---- .../LocationServiceClientConfiguration.h | 68 ++++++++++++ .../LocationServiceEndpointProvider.h | 33 +++++- .../LocationServiceServiceClientModel.h | 1 - .../source/LocationServiceClient.cpp | 42 +------- .../LocationServiceClientConfiguration.cpp | 49 +++++++++ .../LocationServiceEndpointProvider.cpp | 34 ++++++ .../include/aws/logs/CloudWatchLogsClient.h | 22 ---- .../logs/CloudWatchLogsClientConfiguration.h | 68 ++++++++++++ .../aws/logs/CloudWatchLogsEndpointProvider.h | 33 +++++- .../logs/CloudWatchLogsServiceClientModel.h | 1 - .../source/CloudWatchLogsClient.cpp | 42 +------- .../CloudWatchLogsClientConfiguration.cpp | 48 +++++++++ .../source/CloudWatchLogsEndpointProvider.cpp | 34 ++++++ .../lookoutequipment/LookoutEquipmentClient.h | 22 ---- .../LookoutEquipmentClientConfiguration.h | 61 +++++++++++ .../LookoutEquipmentEndpointProvider.h | 33 +++++- .../LookoutEquipmentServiceClientModel.h | 1 - .../source/LookoutEquipmentClient.cpp | 43 +------- .../LookoutEquipmentClientConfiguration.cpp | 49 +++++++++ .../LookoutEquipmentEndpointProvider.cpp | 34 ++++++ .../aws/m2/MainframeModernizationClient.h | 22 ---- ...ainframeModernizationClientConfiguration.h | 62 +++++++++++ .../MainframeModernizationEndpointProvider.h | 35 +++++- ...MainframeModernizationServiceClientModel.h | 1 - .../source/MainframeModernizationClient.cpp | 43 +------- ...nframeModernizationClientConfiguration.cpp | 50 +++++++++ ...MainframeModernizationEndpointProvider.cpp | 34 ++++++ .../machinelearning/MachineLearningClient.h | 22 ---- .../MachineLearningClientConfiguration.h | 61 +++++++++++ .../MachineLearningEndpointProvider.h | 33 +++++- .../MachineLearningServiceClientModel.h | 1 - .../source/MachineLearningClient.cpp | 42 +------- .../MachineLearningClientConfiguration.cpp | 49 +++++++++ .../MachineLearningEndpointProvider.cpp | 34 ++++++ .../include/aws/macie2/Macie2Client.h | 22 ---- .../aws/macie2/Macie2ClientConfiguration.h | 61 +++++++++++ .../aws/macie2/Macie2EndpointProvider.h | 33 +++++- .../aws/macie2/Macie2ServiceClientModel.h | 1 - .../source/Macie2Client.cpp | 42 +------- .../source/Macie2ClientConfiguration.cpp | 48 +++++++++ .../source/Macie2EndpointProvider.cpp | 31 ++++++ .../aws/mailmanager/MailManagerClient.h | 22 ---- .../MailManagerClientConfiguration.h | 61 +++++++++++ .../mailmanager/MailManagerEndpointProvider.h | 33 +++++- .../MailManagerServiceClientModel.h | 1 - .../source/MailManagerClient.cpp | 42 +------- .../source/MailManagerClientConfiguration.cpp | 48 +++++++++ .../source/MailManagerEndpointProvider.cpp | 34 ++++++ .../ManagedBlockchainQueryClient.h | 22 ---- ...anagedBlockchainQueryClientConfiguration.h | 62 +++++++++++ .../ManagedBlockchainQueryEndpointProvider.h | 35 +++++- ...ManagedBlockchainQueryServiceClientModel.h | 1 - .../source/ManagedBlockchainQueryClient.cpp | 43 +------- ...agedBlockchainQueryClientConfiguration.cpp | 50 +++++++++ ...ManagedBlockchainQueryEndpointProvider.cpp | 34 ++++++ .../ManagedBlockchainClient.h | 22 ---- .../ManagedBlockchainClientConfiguration.h | 61 +++++++++++ .../ManagedBlockchainEndpointProvider.h | 33 +++++- .../ManagedBlockchainServiceClientModel.h | 1 - .../source/ManagedBlockchainClient.cpp | 43 +------- .../ManagedBlockchainClientConfiguration.cpp | 49 +++++++++ .../ManagedBlockchainEndpointProvider.cpp | 34 ++++++ .../AgreementServiceClient.h | 22 ---- .../AgreementServiceClientConfiguration.h | 61 +++++++++++ .../AgreementServiceEndpointProvider.h | 33 +++++- .../AgreementServiceServiceClientModel.h | 1 - .../source/AgreementServiceClient.cpp | 43 +------- .../AgreementServiceClientConfiguration.cpp | 49 +++++++++ .../AgreementServiceEndpointProvider.cpp | 34 ++++++ .../MarketplaceCatalogClient.h | 22 ---- .../MarketplaceCatalogClientConfiguration.h | 61 +++++++++++ .../MarketplaceCatalogEndpointProvider.h | 33 +++++- .../MarketplaceCatalogServiceClientModel.h | 1 - .../source/MarketplaceCatalogClient.cpp | 43 +------- .../MarketplaceCatalogClientConfiguration.cpp | 50 +++++++++ .../MarketplaceCatalogEndpointProvider.cpp | 34 ++++++ .../MarketplaceDeploymentClient.h | 22 ---- ...MarketplaceDeploymentClientConfiguration.h | 62 +++++++++++ .../MarketplaceDeploymentEndpointProvider.h | 35 +++++- .../MarketplaceDeploymentServiceClientModel.h | 1 - .../source/MarketplaceDeploymentClient.cpp | 43 +------- ...rketplaceDeploymentClientConfiguration.cpp | 50 +++++++++ .../MarketplaceDeploymentEndpointProvider.cpp | 34 ++++++ .../MarketplaceDiscoveryClient.h | 22 ---- .../MarketplaceDiscoveryClientConfiguration.h | 61 +++++++++++ .../MarketplaceDiscoveryEndpointProvider.h | 35 +++++- .../MarketplaceDiscoveryServiceClientModel.h | 1 - .../source/MarketplaceDiscoveryClient.cpp | 45 +------- ...arketplaceDiscoveryClientConfiguration.cpp | 50 +++++++++ .../MarketplaceDiscoveryEndpointProvider.cpp | 31 ++++++ .../MarketplaceEntitlementServiceClient.h | 23 ---- ...aceEntitlementServiceClientConfiguration.h | 64 +++++++++++ ...tplaceEntitlementServiceEndpointProvider.h | 36 ++++++- ...laceEntitlementServiceServiceClientModel.h | 1 - .../MarketplaceEntitlementServiceClient.cpp | 43 +------- ...eEntitlementServiceClientConfiguration.cpp | 54 ++++++++++ ...laceEntitlementServiceEndpointProvider.cpp | 39 +++++++ .../MarketplaceReportingClient.h | 22 ---- .../MarketplaceReportingClientConfiguration.h | 62 +++++++++++ .../MarketplaceReportingEndpointProvider.h | 35 +++++- .../MarketplaceReportingServiceClientModel.h | 1 - .../source/MarketplaceReportingClient.cpp | 43 +------- ...arketplaceReportingClientConfiguration.cpp | 50 +++++++++ .../MarketplaceReportingEndpointProvider.cpp | 34 ++++++ .../MarketplaceCommerceAnalyticsClient.h | 23 ---- ...laceCommerceAnalyticsClientConfiguration.h | 64 +++++++++++ ...etplaceCommerceAnalyticsEndpointProvider.h | 35 +++++- ...placeCommerceAnalyticsServiceClientModel.h | 1 - .../MarketplaceCommerceAnalyticsClient.cpp | 43 +------- ...ceCommerceAnalyticsClientConfiguration.cpp | 53 ++++++++++ ...placeCommerceAnalyticsEndpointProvider.cpp | 39 +++++++ .../aws/mediaconnect/MediaConnectClient.h | 22 ---- .../MediaConnectClientConfiguration.h | 61 +++++++++++ .../MediaConnectEndpointProvider.h | 33 +++++- .../MediaConnectServiceClientModel.h | 1 - .../source/MediaConnectClient.cpp | 42 +------- .../MediaConnectClientConfiguration.cpp | 48 +++++++++ .../source/MediaConnectEndpointProvider.cpp | 34 ++++++ .../aws/mediaconvert/MediaConvertClient.h | 22 ---- .../MediaConvertClientConfiguration.h | 61 +++++++++++ .../MediaConvertEndpointProvider.h | 33 +++++- .../MediaConvertServiceClientModel.h | 1 - .../source/MediaConvertClient.cpp | 42 +------- .../MediaConvertClientConfiguration.cpp | 48 +++++++++ .../source/MediaConvertEndpointProvider.cpp | 34 ++++++ .../include/aws/medialive/MediaLiveClient.h | 22 ---- .../medialive/MediaLiveClientConfiguration.h | 61 +++++++++++ .../aws/medialive/MediaLiveEndpointProvider.h | 33 +++++- .../medialive/MediaLiveServiceClientModel.h | 1 - .../source/MediaLiveClient.cpp | 42 +------- .../source/MediaLiveClientConfiguration.cpp | 48 +++++++++ .../source/MediaLiveEndpointProvider.cpp | 33 ++++++ .../mediapackage-vod/MediaPackageVodClient.h | 22 ---- .../MediaPackageVodClientConfiguration.h | 61 +++++++++++ .../MediaPackageVodEndpointProvider.h | 33 +++++- .../MediaPackageVodServiceClientModel.h | 1 - .../source/MediaPackageVodClient.cpp | 42 +------- .../MediaPackageVodClientConfiguration.cpp | 49 +++++++++ .../MediaPackageVodEndpointProvider.cpp | 34 ++++++ .../aws/mediapackage/MediaPackageClient.h | 22 ---- .../MediaPackageClientConfiguration.h | 61 +++++++++++ .../MediaPackageEndpointProvider.h | 33 +++++- .../MediaPackageServiceClientModel.h | 1 - .../source/MediaPackageClient.cpp | 42 +------- .../MediaPackageClientConfiguration.cpp | 48 +++++++++ .../source/MediaPackageEndpointProvider.cpp | 34 ++++++ .../aws/mediapackagev2/Mediapackagev2Client.h | 22 ---- .../Mediapackagev2ClientConfiguration.h | 61 +++++++++++ .../Mediapackagev2EndpointProvider.h | 33 +++++- .../Mediapackagev2ServiceClientModel.h | 1 - .../source/Mediapackagev2Client.cpp | 42 +------- .../Mediapackagev2ClientConfiguration.cpp | 48 +++++++++ .../source/Mediapackagev2EndpointProvider.cpp | 34 ++++++ .../mediastore-data/MediaStoreDataClient.h | 22 ---- .../MediaStoreDataClientConfiguration.h | 93 ++++++++++++++++ .../MediaStoreDataEndpointProvider.h | 33 +++++- .../MediaStoreDataServiceClientModel.h | 1 - .../source/MediaStoreDataClient.cpp | 44 +------- .../MediaStoreDataClientConfiguration.cpp | 50 +++++++++ .../source/MediaStoreDataEndpointProvider.cpp | 34 ++++++ .../include/aws/mediastore/MediaStoreClient.h | 22 ---- .../MediaStoreClientConfiguration.h | 61 +++++++++++ .../mediastore/MediaStoreEndpointProvider.h | 33 +++++- .../mediastore/MediaStoreServiceClientModel.h | 1 - .../source/MediaStoreClient.cpp | 42 +------- .../source/MediaStoreClientConfiguration.cpp | 48 +++++++++ .../source/MediaStoreEndpointProvider.cpp | 33 ++++++ .../aws/mediatailor/MediaTailorClient.h | 22 ---- .../MediaTailorClientConfiguration.h | 61 +++++++++++ .../mediatailor/MediaTailorEndpointProvider.h | 33 +++++- .../MediaTailorServiceClientModel.h | 1 - .../source/MediaTailorClient.cpp | 42 +------- .../source/MediaTailorClientConfiguration.cpp | 48 +++++++++ .../source/MediaTailorEndpointProvider.cpp | 34 ++++++ .../medical-imaging/MedicalImagingClient.h | 22 ---- .../MedicalImagingClientConfiguration.h | 68 ++++++++++++ .../MedicalImagingEndpointProvider.h | 33 +++++- .../MedicalImagingServiceClientModel.h | 1 - .../source/MedicalImagingClient.cpp | 42 +------- .../MedicalImagingClientConfiguration.cpp | 48 +++++++++ .../source/MedicalImagingEndpointProvider.cpp | 34 ++++++ .../include/aws/memorydb/MemoryDBClient.h | 22 ---- .../memorydb/MemoryDBClientConfiguration.h | 61 +++++++++++ .../aws/memorydb/MemoryDBEndpointProvider.h | 33 +++++- .../aws/memorydb/MemoryDBServiceClientModel.h | 1 - .../source/MemoryDBClient.cpp | 42 +------- .../source/MemoryDBClientConfiguration.cpp | 48 +++++++++ .../source/MemoryDBEndpointProvider.cpp | 33 ++++++ .../MarketplaceMeteringClient.h | 22 ---- .../MarketplaceMeteringClientConfiguration.h | 61 +++++++++++ .../MarketplaceMeteringEndpointProvider.h | 35 +++++- .../MarketplaceMeteringServiceClientModel.h | 1 - .../source/MarketplaceMeteringClient.cpp | 43 +------- ...MarketplaceMeteringClientConfiguration.cpp | 50 +++++++++ .../MarketplaceMeteringEndpointProvider.cpp | 34 ++++++ .../include/aws/mgn/MgnClient.h | 22 ---- .../include/aws/mgn/MgnClientConfiguration.h | 61 +++++++++++ .../include/aws/mgn/MgnEndpointProvider.h | 31 +++++- .../include/aws/mgn/MgnServiceClientModel.h | 1 - .../src/aws-cpp-sdk-mgn/source/MgnClient.cpp | 42 +------- .../source/MgnClientConfiguration.cpp | 47 ++++++++ .../source/MgnEndpointProvider.cpp | 31 ++++++ .../MigrationHubRefactorSpacesClient.h | 23 ---- ...tionHubRefactorSpacesClientConfiguration.h | 62 +++++++++++ ...grationHubRefactorSpacesEndpointProvider.h | 35 +++++- ...ationHubRefactorSpacesServiceClientModel.h | 1 - .../MigrationHubRefactorSpacesClient.cpp | 43 +------- ...onHubRefactorSpacesClientConfiguration.cpp | 52 +++++++++ ...ationHubRefactorSpacesEndpointProvider.cpp | 35 ++++++ .../MigrationHubConfigClient.h | 22 ---- .../MigrationHubConfigClientConfiguration.h | 61 +++++++++++ .../MigrationHubConfigEndpointProvider.h | 33 +++++- .../MigrationHubConfigServiceClientModel.h | 1 - .../source/MigrationHubConfigClient.cpp | 43 +------- .../MigrationHubConfigClientConfiguration.cpp | 50 +++++++++ .../MigrationHubConfigEndpointProvider.cpp | 34 ++++++ .../MigrationHubOrchestratorClient.h | 22 ---- ...rationHubOrchestratorClientConfiguration.h | 62 +++++++++++ ...MigrationHubOrchestratorEndpointProvider.h | 35 +++++- ...grationHubOrchestratorServiceClientModel.h | 1 - .../source/MigrationHubOrchestratorClient.cpp | 43 +------- ...tionHubOrchestratorClientConfiguration.cpp | 52 +++++++++ ...grationHubOrchestratorEndpointProvider.cpp | 34 ++++++ ...igrationHubStrategyRecommendationsClient.h | 23 ---- ...rategyRecommendationsClientConfiguration.h | 64 +++++++++++ ...bStrategyRecommendationsEndpointProvider.h | 38 ++++++- ...trategyRecommendationsServiceClientModel.h | 1 - ...rationHubStrategyRecommendationsClient.cpp | 44 +------- ...tegyRecommendationsClientConfiguration.cpp | 54 ++++++++++ ...trategyRecommendationsEndpointProvider.cpp | 39 +++++++ .../include/aws/monitoring/CloudWatchClient.h | 22 ---- .../CloudWatchClientConfiguration.h | 68 ++++++++++++ .../monitoring/CloudWatchEndpointProvider.h | 33 +++++- .../monitoring/CloudWatchServiceClientModel.h | 1 - .../source/CloudWatchClient.cpp | 42 +------- .../source/CloudWatchClientConfiguration.cpp | 49 +++++++++ .../source/CloudWatchEndpointProvider.cpp | 33 ++++++ .../include/aws/mpa/MPAClient.h | 22 ---- .../include/aws/mpa/MPAClientConfiguration.h | 55 ++++++++++ .../include/aws/mpa/MPAEndpointProvider.h | 31 +++++- .../include/aws/mpa/MPAServiceClientModel.h | 1 - .../src/aws-cpp-sdk-mpa/source/MPAClient.cpp | 42 +------- .../source/MPAClientConfiguration.cpp | 46 ++++++++ .../source/MPAEndpointProvider.cpp | 28 +++++ .../aws-cpp-sdk-mq/include/aws/mq/MQClient.h | 22 ---- .../include/aws/mq/MQClientConfiguration.h | 61 +++++++++++ .../include/aws/mq/MQEndpointProvider.h | 31 +++++- .../include/aws/mq/MQServiceClientModel.h | 1 - .../src/aws-cpp-sdk-mq/source/MQClient.cpp | 42 +------- .../source/MQClientConfiguration.cpp | 47 ++++++++ .../source/MQEndpointProvider.cpp | 31 ++++++ .../include/aws/mturk-requester/MTurkClient.h | 22 ---- .../MTurkClientConfiguration.h | 61 +++++++++++ .../mturk-requester/MTurkEndpointProvider.h | 31 +++++- .../mturk-requester/MTurkServiceClientModel.h | 1 - .../source/MTurkClient.cpp | 42 +------- .../source/MTurkClientConfiguration.cpp | 48 +++++++++ .../source/MTurkEndpointProvider.cpp | 31 ++++++ .../mwaa-serverless/MWAAServerlessClient.h | 22 ---- .../MWAAServerlessClientConfiguration.h | 55 ++++++++++ .../MWAAServerlessEndpointProvider.h | 33 +++++- .../MWAAServerlessServiceClientModel.h | 1 - .../source/MWAAServerlessClient.cpp | 42 +------- .../MWAAServerlessClientConfiguration.cpp | 47 ++++++++ .../source/MWAAServerlessEndpointProvider.cpp | 31 ++++++ .../include/aws/mwaa/MWAAClient.h | 22 ---- .../aws/mwaa/MWAAClientConfiguration.h | 68 ++++++++++++ .../include/aws/mwaa/MWAAEndpointProvider.h | 31 +++++- .../include/aws/mwaa/MWAAServiceClientModel.h | 1 - .../aws-cpp-sdk-mwaa/source/MWAAClient.cpp | 42 +------- .../source/MWAAClientConfiguration.cpp | 48 +++++++++ .../source/MWAAEndpointProvider.cpp | 31 ++++++ .../aws/neptune-graph/NeptuneGraphClient.h | 22 ---- .../NeptuneGraphClientConfiguration.h | 68 ++++++++++++ .../NeptuneGraphEndpointProvider.h | 33 +++++- .../NeptuneGraphServiceClientModel.h | 1 - .../source/NeptuneGraphClient.cpp | 42 +------- .../NeptuneGraphClientConfiguration.cpp | 48 +++++++++ .../source/NeptuneGraphEndpointProvider.cpp | 34 ++++++ .../include/aws/neptune/NeptuneClient.h | 22 ---- .../aws/neptune/NeptuneClientConfiguration.h | 61 +++++++++++ .../aws/neptune/NeptuneEndpointProvider.h | 33 +++++- .../aws/neptune/NeptuneServiceClientModel.h | 1 - .../source/NeptuneClient.cpp | 42 +------- .../source/NeptuneClientConfiguration.cpp | 48 +++++++++ .../source/NeptuneEndpointProvider.cpp | 33 ++++++ .../aws/neptunedata/NeptunedataClient.h | 22 ---- .../NeptunedataClientConfiguration.h | 61 +++++++++++ .../neptunedata/NeptunedataEndpointProvider.h | 33 +++++- .../NeptunedataServiceClientModel.h | 1 - .../source/NeptunedataClient.cpp | 42 +------- .../source/NeptunedataClientConfiguration.cpp | 48 +++++++++ .../source/NeptunedataEndpointProvider.cpp | 34 ++++++ .../network-firewall/NetworkFirewallClient.h | 22 ---- .../NetworkFirewallClientConfiguration.h | 61 +++++++++++ .../NetworkFirewallEndpointProvider.h | 33 +++++- .../NetworkFirewallServiceClientModel.h | 1 - .../source/NetworkFirewallClient.cpp | 42 +------- .../NetworkFirewallClientConfiguration.cpp | 49 +++++++++ .../NetworkFirewallEndpointProvider.cpp | 34 ++++++ .../NetworkSecurityManagerClient.h | 22 ---- ...etworkSecurityManagerClientConfiguration.h | 56 ++++++++++ .../NetworkSecurityManagerEndpointProvider.h | 35 +++++- ...NetworkSecurityManagerServiceClientModel.h | 1 - .../source/NetworkSecurityManagerClient.cpp | 43 +------- ...workSecurityManagerClientConfiguration.cpp | 49 +++++++++ ...NetworkSecurityManagerEndpointProvider.cpp | 31 ++++++ .../NetworkFlowMonitorClient.h | 22 ---- .../NetworkFlowMonitorClientConfiguration.h | 55 ++++++++++ .../NetworkFlowMonitorEndpointProvider.h | 33 +++++- .../NetworkFlowMonitorServiceClientModel.h | 1 - .../source/NetworkFlowMonitorClient.cpp | 43 +------- .../NetworkFlowMonitorClientConfiguration.cpp | 49 +++++++++ .../NetworkFlowMonitorEndpointProvider.cpp | 31 ++++++ .../aws/networkmanager/NetworkManagerClient.h | 22 ---- .../NetworkManagerClientConfiguration.h | 61 +++++++++++ .../NetworkManagerEndpointProvider.h | 33 +++++- .../NetworkManagerServiceClientModel.h | 1 - .../source/NetworkManagerClient.cpp | 42 +------- .../NetworkManagerClientConfiguration.cpp | 48 +++++++++ .../source/NetworkManagerEndpointProvider.cpp | 34 ++++++ .../aws/networkmonitor/NetworkMonitorClient.h | 22 ---- .../NetworkMonitorClientConfiguration.h | 61 +++++++++++ .../NetworkMonitorEndpointProvider.h | 33 +++++- .../NetworkMonitorServiceClientModel.h | 1 - .../source/NetworkMonitorClient.cpp | 42 +------- .../NetworkMonitorClientConfiguration.cpp | 48 +++++++++ .../source/NetworkMonitorEndpointProvider.cpp | 34 ++++++ .../aws/notifications/NotificationsClient.h | 22 ---- .../NotificationsClientConfiguration.h | 55 ++++++++++ .../NotificationsEndpointProvider.h | 33 +++++- .../NotificationsServiceClientModel.h | 1 - .../source/NotificationsClient.cpp | 42 +------- .../NotificationsClientConfiguration.cpp | 47 ++++++++ .../source/NotificationsEndpointProvider.cpp | 31 ++++++ .../NotificationsContactsClient.h | 22 ---- ...NotificationsContactsClientConfiguration.h | 56 ++++++++++ .../NotificationsContactsEndpointProvider.h | 35 +++++- .../NotificationsContactsServiceClientModel.h | 1 - .../source/NotificationsContactsClient.cpp | 43 +------- ...tificationsContactsClientConfiguration.cpp | 49 +++++++++ .../NotificationsContactsEndpointProvider.cpp | 31 ++++++ .../include/aws/nova-act/NovaActClient.h | 22 ---- .../aws/nova-act/NovaActClientConfiguration.h | 61 +++++++++++ .../aws/nova-act/NovaActEndpointProvider.h | 33 +++++- .../aws/nova-act/NovaActServiceClientModel.h | 1 - .../source/NovaActClient.cpp | 42 +------- .../source/NovaActClientConfiguration.cpp | 48 +++++++++ .../source/NovaActEndpointProvider.cpp | 33 ++++++ .../include/aws/oam/OAMClient.h | 22 ---- .../include/aws/oam/OAMClientConfiguration.h | 61 +++++++++++ .../include/aws/oam/OAMEndpointProvider.h | 31 +++++- .../include/aws/oam/OAMServiceClientModel.h | 1 - .../src/aws-cpp-sdk-oam/source/OAMClient.cpp | 42 +------- .../source/OAMClientConfiguration.cpp | 47 ++++++++ .../source/OAMEndpointProvider.cpp | 31 ++++++ .../ObservabilityAdminClient.h | 22 ---- .../ObservabilityAdminClientConfiguration.h | 61 +++++++++++ .../ObservabilityAdminEndpointProvider.h | 33 +++++- .../ObservabilityAdminServiceClientModel.h | 1 - .../source/ObservabilityAdminClient.cpp | 43 +------- .../ObservabilityAdminClientConfiguration.cpp | 50 +++++++++ .../ObservabilityAdminEndpointProvider.cpp | 34 ++++++ .../include/aws/odb/OdbClient.h | 22 ---- .../include/aws/odb/OdbClientConfiguration.h | 61 +++++++++++ .../include/aws/odb/OdbEndpointProvider.h | 31 +++++- .../include/aws/odb/OdbServiceClientModel.h | 1 - .../src/aws-cpp-sdk-odb/source/OdbClient.cpp | 42 +------- .../source/OdbClientConfiguration.cpp | 47 ++++++++ .../source/OdbEndpointProvider.cpp | 31 ++++++ .../include/aws/omics/OmicsClient.h | 22 ---- .../aws/omics/OmicsClientConfiguration.h | 100 ++++++++++++++++++ .../include/aws/omics/OmicsEndpointProvider.h | 31 +++++- .../aws/omics/OmicsServiceClientModel.h | 1 - .../aws-cpp-sdk-omics/source/OmicsClient.cpp | 44 +------- .../source/OmicsClientConfiguration.cpp | 50 +++++++++ .../source/OmicsEndpointProvider.cpp | 31 ++++++ .../aws/opensearch/OpenSearchServiceClient.h | 22 ---- .../OpenSearchServiceClientConfiguration.h | 61 +++++++++++ .../OpenSearchServiceEndpointProvider.h | 33 +++++- .../OpenSearchServiceServiceClientModel.h | 1 - .../source/OpenSearchServiceClient.cpp | 43 +------- .../OpenSearchServiceClientConfiguration.cpp | 49 +++++++++ .../OpenSearchServiceEndpointProvider.cpp | 34 ++++++ .../OpenSearchServerlessClient.h | 22 ---- .../OpenSearchServerlessClientConfiguration.h | 62 +++++++++++ .../OpenSearchServerlessEndpointProvider.h | 35 +++++- .../OpenSearchServerlessServiceClientModel.h | 1 - .../source/OpenSearchServerlessClient.cpp | 43 +------- ...penSearchServerlessClientConfiguration.cpp | 50 +++++++++ .../OpenSearchServerlessEndpointProvider.cpp | 34 ++++++ .../aws/organizations/OrganizationsClient.h | 22 ---- .../OrganizationsClientConfiguration.h | 61 +++++++++++ .../OrganizationsEndpointProvider.h | 33 +++++- .../OrganizationsServiceClientModel.h | 1 - .../source/OrganizationsClient.cpp | 42 +------- .../OrganizationsClientConfiguration.cpp | 48 +++++++++ .../source/OrganizationsEndpointProvider.cpp | 34 ++++++ .../include/aws/osis/OSISClient.h | 22 ---- .../aws/osis/OSISClientConfiguration.h | 61 +++++++++++ .../include/aws/osis/OSISEndpointProvider.h | 31 +++++- .../include/aws/osis/OSISServiceClientModel.h | 1 - .../aws-cpp-sdk-osis/source/OSISClient.cpp | 42 +------- .../source/OSISClientConfiguration.cpp | 48 +++++++++ .../source/OSISEndpointProvider.cpp | 31 ++++++ .../include/aws/outposts/OutpostsClient.h | 22 ---- .../outposts/OutpostsClientConfiguration.h | 61 +++++++++++ .../aws/outposts/OutpostsEndpointProvider.h | 33 +++++- .../aws/outposts/OutpostsServiceClientModel.h | 1 - .../source/OutpostsClient.cpp | 42 +------- .../source/OutpostsClientConfiguration.cpp | 48 +++++++++ .../source/OutpostsEndpointProvider.cpp | 33 ++++++ .../PartnerCentralAccountClient.h | 22 ---- ...PartnerCentralAccountClientConfiguration.h | 56 ++++++++++ .../PartnerCentralAccountEndpointProvider.h | 35 +++++- .../PartnerCentralAccountServiceClientModel.h | 1 - .../source/PartnerCentralAccountClient.cpp | 43 +------- ...rtnerCentralAccountClientConfiguration.cpp | 49 +++++++++ .../PartnerCentralAccountEndpointProvider.cpp | 31 ++++++ .../PartnerCentralBenefitsClient.h | 22 ---- ...artnerCentralBenefitsClientConfiguration.h | 56 ++++++++++ .../PartnerCentralBenefitsEndpointProvider.h | 35 +++++- ...PartnerCentralBenefitsServiceClientModel.h | 1 - .../source/PartnerCentralBenefitsClient.cpp | 43 +------- ...tnerCentralBenefitsClientConfiguration.cpp | 49 +++++++++ ...PartnerCentralBenefitsEndpointProvider.cpp | 31 ++++++ .../PartnerCentralChannelClient.h | 22 ---- ...PartnerCentralChannelClientConfiguration.h | 61 +++++++++++ .../PartnerCentralChannelEndpointProvider.h | 35 +++++- .../PartnerCentralChannelServiceClientModel.h | 1 - .../source/PartnerCentralChannelClient.cpp | 45 +------- ...rtnerCentralChannelClientConfiguration.cpp | 50 +++++++++ .../PartnerCentralChannelEndpointProvider.cpp | 31 ++++++ .../PartnerCentralRevenueMeasurementClient.h | 23 ---- ...ralRevenueMeasurementClientConfiguration.h | 63 +++++++++++ ...entralRevenueMeasurementEndpointProvider.h | 37 ++++++- ...tralRevenueMeasurementServiceClientModel.h | 1 - ...PartnerCentralRevenueMeasurementClient.cpp | 45 +------- ...lRevenueMeasurementClientConfiguration.cpp | 54 ++++++++++ ...tralRevenueMeasurementEndpointProvider.cpp | 36 +++++++ .../PartnerCentralSellingClient.h | 22 ---- ...PartnerCentralSellingClientConfiguration.h | 56 ++++++++++ .../PartnerCentralSellingEndpointProvider.h | 35 +++++- .../PartnerCentralSellingServiceClientModel.h | 1 - .../source/PartnerCentralSellingClient.cpp | 43 +------- ...rtnerCentralSellingClientConfiguration.cpp | 49 +++++++++ .../PartnerCentralSellingEndpointProvider.cpp | 31 ++++++ .../PaymentCryptographyDataClient.h | 22 ---- ...ymentCryptographyDataClientConfiguration.h | 62 +++++++++++ .../PaymentCryptographyDataEndpointProvider.h | 35 +++++- ...aymentCryptographyDataServiceClientModel.h | 1 - .../source/PaymentCryptographyDataClient.cpp | 43 +------- ...entCryptographyDataClientConfiguration.cpp | 50 +++++++++ ...aymentCryptographyDataEndpointProvider.cpp | 34 ++++++ .../PaymentCryptographyClient.h | 22 ---- .../PaymentCryptographyClientConfiguration.h | 61 +++++++++++ .../PaymentCryptographyEndpointProvider.h | 35 +++++- .../PaymentCryptographyServiceClientModel.h | 1 - .../source/PaymentCryptographyClient.cpp | 43 +------- ...PaymentCryptographyClientConfiguration.cpp | 50 +++++++++ .../PaymentCryptographyEndpointProvider.cpp | 34 ++++++ .../pca-connector-ad/PcaConnectorAdClient.h | 22 ---- .../PcaConnectorAdClientConfiguration.h | 61 +++++++++++ .../PcaConnectorAdEndpointProvider.h | 33 +++++- .../PcaConnectorAdServiceClientModel.h | 1 - .../source/PcaConnectorAdClient.cpp | 42 +------- .../PcaConnectorAdClientConfiguration.cpp | 48 +++++++++ .../source/PcaConnectorAdEndpointProvider.cpp | 34 ++++++ .../PcaConnectorScepClient.h | 22 ---- .../PcaConnectorScepClientConfiguration.h | 61 +++++++++++ .../PcaConnectorScepEndpointProvider.h | 33 +++++- .../PcaConnectorScepServiceClientModel.h | 1 - .../source/PcaConnectorScepClient.cpp | 43 +------- .../PcaConnectorScepClientConfiguration.cpp | 49 +++++++++ .../PcaConnectorScepEndpointProvider.cpp | 34 ++++++ .../include/aws/pcs/PCSClient.h | 22 ---- .../include/aws/pcs/PCSClientConfiguration.h | 61 +++++++++++ .../include/aws/pcs/PCSEndpointProvider.h | 31 +++++- .../include/aws/pcs/PCSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-pcs/source/PCSClient.cpp | 42 +------- .../source/PCSClientConfiguration.cpp | 47 ++++++++ .../source/PCSEndpointProvider.cpp | 31 ++++++ .../PersonalizeEventsClient.h | 22 ---- .../PersonalizeEventsClientConfiguration.h | 61 +++++++++++ .../PersonalizeEventsEndpointProvider.h | 33 +++++- .../PersonalizeEventsServiceClientModel.h | 1 - .../source/PersonalizeEventsClient.cpp | 43 +------- .../PersonalizeEventsClientConfiguration.cpp | 49 +++++++++ .../PersonalizeEventsEndpointProvider.cpp | 34 ++++++ .../PersonalizeRuntimeClient.h | 22 ---- .../PersonalizeRuntimeClientConfiguration.h | 61 +++++++++++ .../PersonalizeRuntimeEndpointProvider.h | 33 +++++- .../PersonalizeRuntimeServiceClientModel.h | 1 - .../source/PersonalizeRuntimeClient.cpp | 43 +------- .../PersonalizeRuntimeClientConfiguration.cpp | 50 +++++++++ .../PersonalizeRuntimeEndpointProvider.cpp | 34 ++++++ .../aws/personalize/PersonalizeClient.h | 22 ---- .../PersonalizeClientConfiguration.h | 61 +++++++++++ .../personalize/PersonalizeEndpointProvider.h | 33 +++++- .../PersonalizeServiceClientModel.h | 1 - .../source/PersonalizeClient.cpp | 42 +------- .../source/PersonalizeClientConfiguration.cpp | 48 +++++++++ .../source/PersonalizeEndpointProvider.cpp | 34 ++++++ .../aws-cpp-sdk-pi/include/aws/pi/PIClient.h | 22 ---- .../include/aws/pi/PIClientConfiguration.h | 61 +++++++++++ .../include/aws/pi/PIEndpointProvider.h | 31 +++++- .../include/aws/pi/PIServiceClientModel.h | 1 - .../src/aws-cpp-sdk-pi/source/PIClient.cpp | 42 +------- .../source/PIClientConfiguration.cpp | 47 ++++++++ .../source/PIEndpointProvider.cpp | 31 ++++++ .../aws/pinpoint-email/PinpointEmailClient.h | 22 ---- .../PinpointEmailClientConfiguration.h | 61 +++++++++++ .../PinpointEmailEndpointProvider.h | 33 +++++- .../PinpointEmailServiceClientModel.h | 1 - .../source/PinpointEmailClient.cpp | 42 +------- .../PinpointEmailClientConfiguration.cpp | 48 +++++++++ .../source/PinpointEmailEndpointProvider.cpp | 34 ++++++ .../PinpointSMSVoiceV2Client.h | 22 ---- .../PinpointSMSVoiceV2ClientConfiguration.h | 61 +++++++++++ .../PinpointSMSVoiceV2EndpointProvider.h | 33 +++++- .../PinpointSMSVoiceV2ServiceClientModel.h | 1 - .../source/PinpointSMSVoiceV2Client.cpp | 43 +------- .../PinpointSMSVoiceV2ClientConfiguration.cpp | 50 +++++++++ .../PinpointSMSVoiceV2EndpointProvider.cpp | 34 ++++++ .../include/aws/pinpoint/PinpointClient.h | 22 ---- .../pinpoint/PinpointClientConfiguration.h | 61 +++++++++++ .../aws/pinpoint/PinpointEndpointProvider.h | 33 +++++- .../aws/pinpoint/PinpointServiceClientModel.h | 1 - .../source/PinpointClient.cpp | 42 +------- .../source/PinpointClientConfiguration.cpp | 48 +++++++++ .../source/PinpointEndpointProvider.cpp | 33 ++++++ .../include/aws/pipes/PipesClient.h | 22 ---- .../aws/pipes/PipesClientConfiguration.h | 61 +++++++++++ .../include/aws/pipes/PipesEndpointProvider.h | 31 +++++- .../aws/pipes/PipesServiceClientModel.h | 1 - .../aws-cpp-sdk-pipes/source/PipesClient.cpp | 42 +------- .../source/PipesClientConfiguration.cpp | 48 +++++++++ .../source/PipesEndpointProvider.cpp | 31 ++++++ .../include/aws/polly/PollyClient.h | 22 ---- .../aws/polly/PollyClientConfiguration.h | 93 ++++++++++++++++ .../include/aws/polly/PollyEndpointProvider.h | 31 +++++- .../aws/polly/PollyServiceClientModel.h | 1 - .../aws-cpp-sdk-polly/source/PollyClient.cpp | 44 +------- .../source/PollyClientConfiguration.cpp | 50 +++++++++ .../source/PollyEndpointProvider.cpp | 31 ++++++ .../PricingPlanManagerClient.h | 22 ---- .../PricingPlanManagerClientConfiguration.h | 50 +++++++++ .../PricingPlanManagerEndpointProvider.h | 30 +++++- .../PricingPlanManagerServiceClientModel.h | 1 - .../source/PricingPlanManagerClient.cpp | 43 +------- .../PricingPlanManagerClientConfiguration.cpp | 48 +++++++++ .../PricingPlanManagerEndpointProvider.cpp | 24 +++++ .../include/aws/pricing/PricingClient.h | 22 ---- .../aws/pricing/PricingClientConfiguration.h | 61 +++++++++++ .../aws/pricing/PricingEndpointProvider.h | 33 +++++- .../aws/pricing/PricingServiceClientModel.h | 1 - .../source/PricingClient.cpp | 42 +------- .../source/PricingClientConfiguration.cpp | 48 +++++++++ .../source/PricingEndpointProvider.cpp | 33 ++++++ .../include/aws/proton/ProtonClient.h | 22 ---- .../aws/proton/ProtonClientConfiguration.h | 61 +++++++++++ .../aws/proton/ProtonEndpointProvider.h | 33 +++++- .../aws/proton/ProtonServiceClientModel.h | 1 - .../source/ProtonClient.cpp | 42 +------- .../source/ProtonClientConfiguration.cpp | 48 +++++++++ .../source/ProtonEndpointProvider.cpp | 31 ++++++ .../include/aws/qapps/QAppsClient.h | 22 ---- .../aws/qapps/QAppsClientConfiguration.h | 61 +++++++++++ .../include/aws/qapps/QAppsEndpointProvider.h | 31 +++++- .../aws/qapps/QAppsServiceClientModel.h | 1 - .../aws-cpp-sdk-qapps/source/QAppsClient.cpp | 42 +------- .../source/QAppsClientConfiguration.cpp | 48 +++++++++ .../source/QAppsEndpointProvider.cpp | 31 ++++++ .../include/aws/qbusiness/QBusinessClient.h | 22 ---- .../qbusiness/QBusinessClientConfiguration.h | 87 +++++++++++++++ .../aws/qbusiness/QBusinessEndpointProvider.h | 33 +++++- .../qbusiness/QBusinessServiceClientModel.h | 1 - .../source/QBusinessClient.cpp | 44 +------- .../source/QBusinessClientConfiguration.cpp | 49 +++++++++ .../source/QBusinessEndpointProvider.cpp | 30 ++++++ .../include/aws/qconnect/QConnectClient.h | 22 ---- .../qconnect/QConnectClientConfiguration.h | 61 +++++++++++ .../aws/qconnect/QConnectEndpointProvider.h | 33 +++++- .../aws/qconnect/QConnectServiceClientModel.h | 1 - .../source/QConnectClient.cpp | 42 +------- .../source/QConnectClientConfiguration.cpp | 48 +++++++++ .../source/QConnectEndpointProvider.cpp | 33 ++++++ .../include/aws/quicksight/QuickSightClient.h | 22 ---- .../QuickSightClientConfiguration.h | 61 +++++++++++ .../quicksight/QuickSightEndpointProvider.h | 33 +++++- .../quicksight/QuickSightServiceClientModel.h | 1 - .../source/QuickSightClient.cpp | 42 +------- .../source/QuickSightClientConfiguration.cpp | 48 +++++++++ .../source/QuickSightEndpointProvider.cpp | 33 ++++++ .../include/aws/ram/RAMClient.h | 22 ---- .../include/aws/ram/RAMClientConfiguration.h | 61 +++++++++++ .../include/aws/ram/RAMEndpointProvider.h | 31 +++++- .../include/aws/ram/RAMServiceClientModel.h | 1 - .../src/aws-cpp-sdk-ram/source/RAMClient.cpp | 42 +------- .../source/RAMClientConfiguration.cpp | 47 ++++++++ .../source/RAMEndpointProvider.cpp | 31 ++++++ .../include/aws/rbin/RecycleBinClient.h | 22 ---- .../aws/rbin/RecycleBinClientConfiguration.h | 61 +++++++++++ .../aws/rbin/RecycleBinEndpointProvider.h | 33 +++++- .../aws/rbin/RecycleBinServiceClientModel.h | 1 - .../source/RecycleBinClient.cpp | 42 +------- .../source/RecycleBinClientConfiguration.cpp | 48 +++++++++ .../source/RecycleBinEndpointProvider.cpp | 33 ++++++ .../aws/rds-data/RDSDataServiceClient.h | 22 ---- .../RDSDataServiceClientConfiguration.h | 61 +++++++++++ .../rds-data/RDSDataServiceEndpointProvider.h | 33 +++++- .../RDSDataServiceServiceClientModel.h | 1 - .../source/RDSDataServiceClient.cpp | 42 +------- .../RDSDataServiceClientConfiguration.cpp | 48 +++++++++ .../source/RDSDataServiceEndpointProvider.cpp | 34 ++++++ .../include/aws/rds/RDSClient.h | 22 ---- .../include/aws/rds/RDSClientConfiguration.h | 61 +++++++++++ .../include/aws/rds/RDSEndpointProvider.h | 31 +++++- .../include/aws/rds/RDSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-rds/source/RDSClient.cpp | 42 +------- .../source/RDSClientConfiguration.cpp | 47 ++++++++ .../source/RDSEndpointProvider.cpp | 31 ++++++ .../RedshiftDataAPIServiceClient.h | 22 ---- ...edshiftDataAPIServiceClientConfiguration.h | 62 +++++++++++ .../RedshiftDataAPIServiceEndpointProvider.h | 35 +++++- ...RedshiftDataAPIServiceServiceClientModel.h | 1 - .../source/RedshiftDataAPIServiceClient.cpp | 43 +------- ...shiftDataAPIServiceClientConfiguration.cpp | 50 +++++++++ ...RedshiftDataAPIServiceEndpointProvider.cpp | 34 ++++++ .../RedshiftServerlessClient.h | 22 ---- .../RedshiftServerlessClientConfiguration.h | 61 +++++++++++ .../RedshiftServerlessEndpointProvider.h | 33 +++++- .../RedshiftServerlessServiceClientModel.h | 1 - .../source/RedshiftServerlessClient.cpp | 43 +------- .../RedshiftServerlessClientConfiguration.cpp | 50 +++++++++ .../RedshiftServerlessEndpointProvider.cpp | 34 ++++++ .../include/aws/redshift/RedshiftClient.h | 22 ---- .../redshift/RedshiftClientConfiguration.h | 61 +++++++++++ .../aws/redshift/RedshiftEndpointProvider.h | 33 +++++- .../aws/redshift/RedshiftServiceClientModel.h | 1 - .../source/RedshiftClient.cpp | 42 +------- .../source/RedshiftClientConfiguration.cpp | 48 +++++++++ .../source/RedshiftEndpointProvider.cpp | 33 ++++++ .../aws/rekognition/RekognitionClient.h | 22 ---- .../RekognitionClientConfiguration.h | 61 +++++++++++ .../rekognition/RekognitionEndpointProvider.h | 33 +++++- .../RekognitionServiceClientModel.h | 1 - .../source/RekognitionClient.cpp | 42 +------- .../source/RekognitionClientConfiguration.cpp | 48 +++++++++ .../source/RekognitionEndpointProvider.cpp | 34 ++++++ .../aws/repostspace/RepostspaceClient.h | 22 ---- .../RepostspaceClientConfiguration.h | 61 +++++++++++ .../repostspace/RepostspaceEndpointProvider.h | 33 +++++- .../RepostspaceServiceClientModel.h | 1 - .../source/RepostspaceClient.cpp | 42 +------- .../source/RepostspaceClientConfiguration.cpp | 48 +++++++++ .../source/RepostspaceEndpointProvider.cpp | 34 ++++++ .../aws/resiliencehub/ResilienceHubClient.h | 22 ---- .../ResilienceHubClientConfiguration.h | 61 +++++++++++ .../ResilienceHubEndpointProvider.h | 33 +++++- .../ResilienceHubServiceClientModel.h | 1 - .../source/ResilienceHubClient.cpp | 42 +------- .../ResilienceHubClientConfiguration.cpp | 48 +++++++++ .../source/ResilienceHubEndpointProvider.cpp | 34 ++++++ .../resiliencehubv2/Resiliencehubv2Client.h | 22 ---- .../Resiliencehubv2ClientConfiguration.h | 61 +++++++++++ .../Resiliencehubv2EndpointProvider.h | 33 +++++- .../Resiliencehubv2ServiceClientModel.h | 1 - .../source/Resiliencehubv2Client.cpp | 42 +------- .../Resiliencehubv2ClientConfiguration.cpp | 49 +++++++++ .../Resiliencehubv2EndpointProvider.cpp | 34 ++++++ .../ResourceExplorer2Client.h | 22 ---- .../ResourceExplorer2ClientConfiguration.h | 61 +++++++++++ .../ResourceExplorer2EndpointProvider.h | 33 +++++- .../ResourceExplorer2ServiceClientModel.h | 1 - .../source/ResourceExplorer2Client.cpp | 43 +------- .../ResourceExplorer2ClientConfiguration.cpp | 49 +++++++++ .../ResourceExplorer2EndpointProvider.cpp | 34 ++++++ .../resource-groups/ResourceGroupsClient.h | 22 ---- .../ResourceGroupsClientConfiguration.h | 61 +++++++++++ .../ResourceGroupsEndpointProvider.h | 33 +++++- .../ResourceGroupsServiceClientModel.h | 1 - .../source/ResourceGroupsClient.cpp | 42 +------- .../ResourceGroupsClientConfiguration.cpp | 48 +++++++++ .../source/ResourceGroupsEndpointProvider.cpp | 34 ++++++ .../ResourceGroupsTaggingAPIClient.h | 22 ---- ...ourceGroupsTaggingAPIClientConfiguration.h | 62 +++++++++++ ...ResourceGroupsTaggingAPIEndpointProvider.h | 35 +++++- ...sourceGroupsTaggingAPIServiceClientModel.h | 1 - .../source/ResourceGroupsTaggingAPIClient.cpp | 43 +------- ...rceGroupsTaggingAPIClientConfiguration.cpp | 52 +++++++++ ...sourceGroupsTaggingAPIEndpointProvider.cpp | 34 ++++++ .../aws/rolesanywhere/RolesAnywhereClient.h | 22 ---- .../RolesAnywhereClientConfiguration.h | 61 +++++++++++ .../RolesAnywhereEndpointProvider.h | 33 +++++- .../RolesAnywhereServiceClientModel.h | 1 - .../source/RolesAnywhereClient.cpp | 42 +------- .../RolesAnywhereClientConfiguration.cpp | 48 +++++++++ .../source/RolesAnywhereEndpointProvider.cpp | 34 ++++++ .../Route53RecoveryClusterClient.h | 22 ---- ...oute53RecoveryClusterClientConfiguration.h | 62 +++++++++++ .../Route53RecoveryClusterEndpointProvider.h | 35 +++++- ...Route53RecoveryClusterServiceClientModel.h | 1 - .../source/Route53RecoveryClusterClient.cpp | 43 +------- ...te53RecoveryClusterClientConfiguration.cpp | 50 +++++++++ ...Route53RecoveryClusterEndpointProvider.cpp | 34 ++++++ .../Route53RecoveryControlConfigClient.h | 23 ---- ...RecoveryControlConfigClientConfiguration.h | 64 +++++++++++ ...e53RecoveryControlConfigEndpointProvider.h | 35 +++++- ...3RecoveryControlConfigServiceClientModel.h | 1 - .../Route53RecoveryControlConfigClient.cpp | 43 +------- ...coveryControlConfigClientConfiguration.cpp | 53 ++++++++++ ...3RecoveryControlConfigEndpointProvider.cpp | 39 +++++++ .../Route53RecoveryReadinessClient.h | 22 ---- ...te53RecoveryReadinessClientConfiguration.h | 62 +++++++++++ ...Route53RecoveryReadinessEndpointProvider.h | 35 +++++- ...ute53RecoveryReadinessServiceClientModel.h | 1 - .../source/Route53RecoveryReadinessClient.cpp | 43 +------- ...53RecoveryReadinessClientConfiguration.cpp | 52 +++++++++ ...ute53RecoveryReadinessEndpointProvider.cpp | 34 ++++++ .../include/aws/route53/Route53Client.h | 22 ---- .../aws/route53/Route53ClientConfiguration.h | 61 +++++++++++ .../aws/route53/Route53EndpointProvider.h | 33 +++++- .../aws/route53/Route53ServiceClientModel.h | 1 - .../source/Route53Client.cpp | 42 +------- .../source/Route53ClientConfiguration.cpp | 48 +++++++++ .../source/Route53EndpointProvider.cpp | 33 ++++++ .../aws/route53domains/Route53DomainsClient.h | 22 ---- .../Route53DomainsClientConfiguration.h | 61 +++++++++++ .../Route53DomainsEndpointProvider.h | 33 +++++- .../Route53DomainsServiceClientModel.h | 1 - .../source/Route53DomainsClient.cpp | 42 +------- .../Route53DomainsClientConfiguration.cpp | 48 +++++++++ .../source/Route53DomainsEndpointProvider.cpp | 34 ++++++ .../Route53GlobalResolverClient.h | 22 ---- ...Route53GlobalResolverClientConfiguration.h | 56 ++++++++++ .../Route53GlobalResolverEndpointProvider.h | 35 +++++- .../Route53GlobalResolverServiceClientModel.h | 1 - .../source/Route53GlobalResolverClient.cpp | 43 +------- ...ute53GlobalResolverClientConfiguration.cpp | 49 +++++++++ .../Route53GlobalResolverEndpointProvider.cpp | 31 ++++++ .../route53profiles/Route53ProfilesClient.h | 22 ---- .../Route53ProfilesClientConfiguration.h | 61 +++++++++++ .../Route53ProfilesEndpointProvider.h | 33 +++++- .../Route53ProfilesServiceClientModel.h | 1 - .../source/Route53ProfilesClient.cpp | 42 +------- .../Route53ProfilesClientConfiguration.cpp | 49 +++++++++ .../Route53ProfilesEndpointProvider.cpp | 34 ++++++ .../route53resolver/Route53ResolverClient.h | 22 ---- .../Route53ResolverClientConfiguration.h | 61 +++++++++++ .../Route53ResolverEndpointProvider.h | 33 +++++- .../Route53ResolverServiceClientModel.h | 1 - .../source/Route53ResolverClient.cpp | 42 +------- .../Route53ResolverClientConfiguration.cpp | 49 +++++++++ .../Route53ResolverEndpointProvider.cpp | 34 ++++++ .../include/aws/rtbfabric/RTBFabricClient.h | 22 ---- .../rtbfabric/RTBFabricClientConfiguration.h | 61 +++++++++++ .../aws/rtbfabric/RTBFabricEndpointProvider.h | 33 +++++- .../rtbfabric/RTBFabricServiceClientModel.h | 1 - .../source/RTBFabricClient.cpp | 42 +------- .../source/RTBFabricClientConfiguration.cpp | 48 +++++++++ .../source/RTBFabricEndpointProvider.cpp | 33 ++++++ .../include/aws/rum/CloudWatchRUMClient.h | 22 ---- .../rum/CloudWatchRUMClientConfiguration.h | 68 ++++++++++++ .../aws/rum/CloudWatchRUMEndpointProvider.h | 33 +++++- .../aws/rum/CloudWatchRUMServiceClientModel.h | 1 - .../source/CloudWatchRUMClient.cpp | 42 +------- .../CloudWatchRUMClientConfiguration.cpp | 48 +++++++++ .../source/CloudWatchRUMEndpointProvider.cpp | 34 ++++++ .../include/aws/s3files/S3FilesClient.h | 22 ---- .../aws/s3files/S3FilesClientConfiguration.h | 55 ++++++++++ .../aws/s3files/S3FilesEndpointProvider.h | 33 +++++- .../aws/s3files/S3FilesServiceClientModel.h | 1 - .../source/S3FilesClient.cpp | 42 +------- .../source/S3FilesClientConfiguration.cpp | 47 ++++++++ .../source/S3FilesEndpointProvider.cpp | 30 ++++++ .../include/aws/s3outposts/S3OutpostsClient.h | 22 ---- .../S3OutpostsClientConfiguration.h | 61 +++++++++++ .../s3outposts/S3OutpostsEndpointProvider.h | 33 +++++- .../s3outposts/S3OutpostsServiceClientModel.h | 1 - .../source/S3OutpostsClient.cpp | 42 +------- .../source/S3OutpostsClientConfiguration.cpp | 48 +++++++++ .../source/S3OutpostsEndpointProvider.cpp | 33 ++++++ .../include/aws/s3tables/S3TablesClient.h | 22 ---- .../s3tables/S3TablesClientConfiguration.h | 61 +++++++++++ .../aws/s3tables/S3TablesEndpointProvider.h | 33 +++++- .../aws/s3tables/S3TablesServiceClientModel.h | 1 - .../source/S3TablesClient.cpp | 42 +------- .../source/S3TablesClientConfiguration.cpp | 48 +++++++++ .../source/S3TablesEndpointProvider.cpp | 33 ++++++ .../AugmentedAIRuntimeClient.h | 22 ---- .../AugmentedAIRuntimeClientConfiguration.h | 61 +++++++++++ .../AugmentedAIRuntimeEndpointProvider.h | 33 +++++- .../AugmentedAIRuntimeServiceClientModel.h | 1 - .../source/AugmentedAIRuntimeClient.cpp | 43 +------- .../AugmentedAIRuntimeClientConfiguration.cpp | 50 +++++++++ .../AugmentedAIRuntimeEndpointProvider.cpp | 34 ++++++ .../SagemakerEdgeManagerClient.h | 22 ---- .../SagemakerEdgeManagerClientConfiguration.h | 62 +++++++++++ .../SagemakerEdgeManagerEndpointProvider.h | 35 +++++- .../SagemakerEdgeManagerServiceClientModel.h | 1 - .../source/SagemakerEdgeManagerClient.cpp | 43 +------- ...agemakerEdgeManagerClientConfiguration.cpp | 50 +++++++++ .../SagemakerEdgeManagerEndpointProvider.cpp | 34 ++++++ .../SageMakerFeatureStoreRuntimeClient.h | 23 ---- ...erFeatureStoreRuntimeClientConfiguration.h | 64 +++++++++++ ...MakerFeatureStoreRuntimeEndpointProvider.h | 35 +++++- ...kerFeatureStoreRuntimeServiceClientModel.h | 1 - .../SageMakerFeatureStoreRuntimeClient.cpp | 43 +------- ...FeatureStoreRuntimeClientConfiguration.cpp | 53 ++++++++++ ...kerFeatureStoreRuntimeEndpointProvider.cpp | 39 +++++++ .../SageMakerGeospatialClient.h | 22 ---- .../SageMakerGeospatialClientConfiguration.h | 61 +++++++++++ .../SageMakerGeospatialEndpointProvider.h | 35 +++++- .../SageMakerGeospatialServiceClientModel.h | 1 - .../source/SageMakerGeospatialClient.cpp | 43 +------- ...SageMakerGeospatialClientConfiguration.cpp | 50 +++++++++ .../SageMakerGeospatialEndpointProvider.cpp | 34 ++++++ .../SageMakerMetricsClient.h | 22 ---- .../SageMakerMetricsClientConfiguration.h | 61 +++++++++++ .../SageMakerMetricsEndpointProvider.h | 33 +++++- .../SageMakerMetricsServiceClientModel.h | 1 - .../source/SageMakerMetricsClient.cpp | 43 +------- .../SageMakerMetricsClientConfiguration.cpp | 49 +++++++++ .../SageMakerMetricsEndpointProvider.cpp | 34 ++++++ .../SageMakerRuntimeHTTP2Client.h | 22 ---- ...SageMakerRuntimeHTTP2ClientConfiguration.h | 94 ++++++++++++++++ .../SageMakerRuntimeHTTP2EndpointProvider.h | 35 +++++- .../SageMakerRuntimeHTTP2ServiceClientModel.h | 1 - .../source/SageMakerRuntimeHTTP2Client.cpp | 45 +------- ...geMakerRuntimeHTTP2ClientConfiguration.cpp | 52 +++++++++ .../SageMakerRuntimeHTTP2EndpointProvider.cpp | 34 ++++++ .../SageMakerRuntimeClient.h | 22 ---- .../SageMakerRuntimeClientConfiguration.h | 93 ++++++++++++++++ .../SageMakerRuntimeEndpointProvider.h | 33 +++++- .../SageMakerRuntimeServiceClientModel.h | 1 - .../source/SageMakerRuntimeClient.cpp | 45 +------- .../SageMakerRuntimeClientConfiguration.cpp | 51 +++++++++ .../SageMakerRuntimeEndpointProvider.cpp | 34 ++++++ .../include/aws/sagemaker/SageMakerClient.h | 22 ---- .../sagemaker/SageMakerClientConfiguration.h | 61 +++++++++++ .../aws/sagemaker/SageMakerEndpointProvider.h | 33 +++++- .../sagemaker/SageMakerServiceClientModel.h | 1 - .../source/SageMakerClient.cpp | 42 +------- .../source/SageMakerClientConfiguration.cpp | 48 +++++++++ .../source/SageMakerEndpointProvider.cpp | 33 ++++++ .../SagemakerJobRuntimeClient.h | 22 ---- .../SagemakerJobRuntimeClientConfiguration.h | 87 +++++++++++++++ .../SagemakerJobRuntimeEndpointProvider.h | 35 +++++- .../SagemakerJobRuntimeServiceClientModel.h | 1 - .../source/SagemakerJobRuntimeClient.cpp | 45 +------- ...SagemakerJobRuntimeClientConfiguration.cpp | 51 +++++++++ .../SagemakerJobRuntimeEndpointProvider.cpp | 31 ++++++ .../SageMakerTrainingSessionRuntimeClient.h | 23 ---- ...rainingSessionRuntimeClientConfiguration.h | 90 ++++++++++++++++ ...erTrainingSessionRuntimeEndpointProvider.h | 36 ++++++- ...TrainingSessionRuntimeServiceClientModel.h | 1 - .../SageMakerTrainingSessionRuntimeClient.cpp | 45 +------- ...iningSessionRuntimeClientConfiguration.cpp | 55 ++++++++++ ...TrainingSessionRuntimeEndpointProvider.cpp | 36 +++++++ .../aws/savingsplans/SavingsPlansClient.h | 22 ---- .../SavingsPlansClientConfiguration.h | 61 +++++++++++ .../SavingsPlansEndpointProvider.h | 33 +++++- .../SavingsPlansServiceClientModel.h | 1 - .../source/SavingsPlansClient.cpp | 42 +------- .../SavingsPlansClientConfiguration.cpp | 48 +++++++++ .../source/SavingsPlansEndpointProvider.cpp | 34 ++++++ .../include/aws/scheduler/SchedulerClient.h | 22 ---- .../scheduler/SchedulerClientConfiguration.h | 61 +++++++++++ .../aws/scheduler/SchedulerEndpointProvider.h | 33 +++++- .../scheduler/SchedulerServiceClientModel.h | 1 - .../source/SchedulerClient.cpp | 42 +------- .../source/SchedulerClientConfiguration.cpp | 48 +++++++++ .../source/SchedulerEndpointProvider.cpp | 33 ++++++ .../include/aws/schemas/SchemasClient.h | 22 ---- .../aws/schemas/SchemasClientConfiguration.h | 61 +++++++++++ .../aws/schemas/SchemasEndpointProvider.h | 33 +++++- .../aws/schemas/SchemasServiceClientModel.h | 1 - .../source/SchemasClient.cpp | 42 +------- .../source/SchemasClientConfiguration.cpp | 48 +++++++++ .../source/SchemasEndpointProvider.cpp | 33 ++++++ .../include/aws/sdb/SimpleDBClient.h | 22 ---- .../aws/sdb/SimpleDBClientConfiguration.h | 61 +++++++++++ .../aws/sdb/SimpleDBEndpointProvider.h | 33 +++++- .../aws/sdb/SimpleDBServiceClientModel.h | 1 - .../aws-cpp-sdk-sdb/source/SimpleDBClient.cpp | 42 +------- .../source/SimpleDBClientConfiguration.cpp | 48 +++++++++ .../source/SimpleDBEndpointProvider.cpp | 33 ++++++ .../aws/secretsmanager/SecretsManagerClient.h | 22 ---- .../SecretsManagerClientConfiguration.h | 61 +++++++++++ .../SecretsManagerEndpointProvider.h | 33 +++++- .../SecretsManagerServiceClientModel.h | 1 - .../source/SecretsManagerClient.cpp | 42 +------- .../SecretsManagerClientConfiguration.cpp | 48 +++++++++ .../source/SecretsManagerEndpointProvider.cpp | 34 ++++++ .../aws/security-ir/SecurityIRClient.h | 22 ---- .../SecurityIRClientConfiguration.h | 55 ++++++++++ .../security-ir/SecurityIREndpointProvider.h | 33 +++++- .../SecurityIRServiceClientModel.h | 1 - .../source/SecurityIRClient.cpp | 42 +------- .../source/SecurityIRClientConfiguration.cpp | 47 ++++++++ .../source/SecurityIREndpointProvider.cpp | 30 ++++++ .../aws/securityagent/SecurityAgentClient.h | 22 ---- .../SecurityAgentClientConfiguration.h | 55 ++++++++++ .../SecurityAgentEndpointProvider.h | 33 +++++- .../SecurityAgentServiceClientModel.h | 1 - .../source/SecurityAgentClient.cpp | 42 +------- .../SecurityAgentClientConfiguration.cpp | 47 ++++++++ .../source/SecurityAgentEndpointProvider.cpp | 31 ++++++ .../aws/securityhub/SecurityHubClient.h | 22 ---- .../SecurityHubClientConfiguration.h | 61 +++++++++++ .../securityhub/SecurityHubEndpointProvider.h | 33 +++++- .../SecurityHubServiceClientModel.h | 1 - .../source/SecurityHubClient.cpp | 42 +------- .../source/SecurityHubClientConfiguration.cpp | 48 +++++++++ .../source/SecurityHubEndpointProvider.cpp | 34 ++++++ .../aws/securitylake/SecurityLakeClient.h | 22 ---- .../SecurityLakeClientConfiguration.h | 61 +++++++++++ .../SecurityLakeEndpointProvider.h | 33 +++++- .../SecurityLakeServiceClientModel.h | 1 - .../source/SecurityLakeClient.cpp | 42 +------- .../SecurityLakeClientConfiguration.cpp | 48 +++++++++ .../source/SecurityLakeEndpointProvider.cpp | 34 ++++++ .../ServerlessApplicationRepositoryClient.h | 23 ---- ...ApplicationRepositoryClientConfiguration.h | 64 +++++++++++ ...essApplicationRepositoryEndpointProvider.h | 36 ++++++- ...sApplicationRepositoryServiceClientModel.h | 1 - .../ServerlessApplicationRepositoryClient.cpp | 43 +------- ...plicationRepositoryClientConfiguration.cpp | 54 ++++++++++ ...sApplicationRepositoryEndpointProvider.cpp | 39 +++++++ .../aws/service-quotas/ServiceQuotasClient.h | 22 ---- .../ServiceQuotasClientConfiguration.h | 61 +++++++++++ .../ServiceQuotasEndpointProvider.h | 33 +++++- .../ServiceQuotasServiceClientModel.h | 1 - .../source/ServiceQuotasClient.cpp | 42 +------- .../ServiceQuotasClientConfiguration.cpp | 48 +++++++++ .../source/ServiceQuotasEndpointProvider.cpp | 34 ++++++ .../AppRegistryClient.h | 22 ---- .../AppRegistryClientConfiguration.h | 61 +++++++++++ .../AppRegistryEndpointProvider.h | 33 +++++- .../AppRegistryServiceClientModel.h | 1 - .../source/AppRegistryClient.cpp | 42 +------- .../source/AppRegistryClientConfiguration.cpp | 48 +++++++++ .../source/AppRegistryEndpointProvider.cpp | 34 ++++++ .../aws/servicecatalog/ServiceCatalogClient.h | 22 ---- .../ServiceCatalogClientConfiguration.h | 61 +++++++++++ .../ServiceCatalogEndpointProvider.h | 33 +++++- .../ServiceCatalogServiceClientModel.h | 1 - .../source/ServiceCatalogClient.cpp | 42 +------- .../ServiceCatalogClientConfiguration.cpp | 48 +++++++++ .../source/ServiceCatalogEndpointProvider.cpp | 34 ++++++ .../servicediscovery/ServiceDiscoveryClient.h | 22 ---- .../ServiceDiscoveryClientConfiguration.h | 68 ++++++++++++ .../ServiceDiscoveryEndpointProvider.h | 33 +++++- .../ServiceDiscoveryServiceClientModel.h | 1 - .../source/ServiceDiscoveryClient.cpp | 43 +------- .../ServiceDiscoveryClientConfiguration.cpp | 49 +++++++++ .../ServiceDiscoveryEndpointProvider.cpp | 34 ++++++ .../include/aws/sesv2/SESV2Client.h | 22 ---- .../aws/sesv2/SESV2ClientConfiguration.h | 66 ++++++++++++ .../include/aws/sesv2/SESV2EndpointProvider.h | 31 +++++- .../aws/sesv2/SESV2ServiceClientModel.h | 1 - .../aws-cpp-sdk-sesv2/source/SESV2Client.cpp | 44 +------- .../source/SESV2ClientConfiguration.cpp | 49 +++++++++ .../source/SESV2EndpointProvider.cpp | 31 ++++++ .../include/aws/shield/ShieldClient.h | 22 ---- .../aws/shield/ShieldClientConfiguration.h | 61 +++++++++++ .../aws/shield/ShieldEndpointProvider.h | 33 +++++- .../aws/shield/ShieldServiceClientModel.h | 1 - .../source/ShieldClient.cpp | 42 +------- .../source/ShieldClientConfiguration.cpp | 48 +++++++++ .../source/ShieldEndpointProvider.cpp | 31 ++++++ .../aws/signer-data/SignerDataClient.h | 22 ---- .../SignerDataClientConfiguration.h | 61 +++++++++++ .../signer-data/SignerDataEndpointProvider.h | 33 +++++- .../SignerDataServiceClientModel.h | 1 - .../source/SignerDataClient.cpp | 42 +------- .../source/SignerDataClientConfiguration.cpp | 48 +++++++++ .../source/SignerDataEndpointProvider.cpp | 33 ++++++ .../include/aws/signer/SignerClient.h | 22 ---- .../aws/signer/SignerClientConfiguration.h | 68 ++++++++++++ .../aws/signer/SignerEndpointProvider.h | 33 +++++- .../aws/signer/SignerServiceClientModel.h | 1 - .../source/SignerClient.cpp | 42 +------- .../source/SignerClientConfiguration.cpp | 48 +++++++++ .../source/SignerEndpointProvider.cpp | 31 ++++++ .../include/aws/signin/SigninClient.h | 22 ---- .../aws/signin/SigninClientConfiguration.h | 61 +++++++++++ .../aws/signin/SigninEndpointProvider.h | 33 +++++- .../aws/signin/SigninServiceClientModel.h | 1 - .../source/SigninClient.cpp | 42 +------- .../source/SigninClientConfiguration.cpp | 48 +++++++++ .../source/SigninEndpointProvider.cpp | 31 ++++++ .../include/aws/simpledbv2/SimpleDBv2Client.h | 22 ---- .../SimpleDBv2ClientConfiguration.h | 61 +++++++++++ .../simpledbv2/SimpleDBv2EndpointProvider.h | 33 +++++- .../simpledbv2/SimpleDBv2ServiceClientModel.h | 1 - .../source/SimpleDBv2Client.cpp | 42 +------- .../source/SimpleDBv2ClientConfiguration.cpp | 48 +++++++++ .../source/SimpleDBv2EndpointProvider.cpp | 33 ++++++ .../aws/sms-voice/PinpointSMSVoiceClient.h | 22 ---- .../PinpointSMSVoiceClientConfiguration.h | 61 +++++++++++ .../PinpointSMSVoiceEndpointProvider.h | 33 +++++- .../PinpointSMSVoiceServiceClientModel.h | 1 - .../source/PinpointSMSVoiceClient.cpp | 43 +------- .../PinpointSMSVoiceClientConfiguration.cpp | 49 +++++++++ .../PinpointSMSVoiceEndpointProvider.cpp | 34 ++++++ .../SnowDeviceManagementClient.h | 22 ---- .../SnowDeviceManagementClientConfiguration.h | 62 +++++++++++ .../SnowDeviceManagementEndpointProvider.h | 35 +++++- .../SnowDeviceManagementServiceClientModel.h | 1 - .../source/SnowDeviceManagementClient.cpp | 43 +------- ...nowDeviceManagementClientConfiguration.cpp | 50 +++++++++ .../SnowDeviceManagementEndpointProvider.cpp | 34 ++++++ .../include/aws/snowball/SnowballClient.h | 22 ---- .../snowball/SnowballClientConfiguration.h | 61 +++++++++++ .../aws/snowball/SnowballEndpointProvider.h | 33 +++++- .../aws/snowball/SnowballServiceClientModel.h | 1 - .../source/SnowballClient.cpp | 42 +------- .../source/SnowballClientConfiguration.cpp | 48 +++++++++ .../source/SnowballEndpointProvider.cpp | 33 ++++++ .../include/aws/sns/SNSClient.h | 22 ---- .../include/aws/sns/SNSClientConfiguration.h | 61 +++++++++++ .../include/aws/sns/SNSEndpointProvider.h | 31 +++++- .../include/aws/sns/SNSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-sns/source/SNSClient.cpp | 42 +------- .../source/SNSClientConfiguration.cpp | 47 ++++++++ .../source/SNSEndpointProvider.cpp | 31 ++++++ .../socialmessaging/SocialMessagingClient.h | 22 ---- .../SocialMessagingClientConfiguration.h | 61 +++++++++++ .../SocialMessagingEndpointProvider.h | 33 +++++- .../SocialMessagingServiceClientModel.h | 1 - .../source/SocialMessagingClient.cpp | 42 +------- .../SocialMessagingClientConfiguration.cpp | 49 +++++++++ .../SocialMessagingEndpointProvider.cpp | 34 ++++++ .../include/aws/sqs/SQSClient.h | 22 ---- .../include/aws/sqs/SQSClientConfiguration.h | 61 +++++++++++ .../include/aws/sqs/SQSEndpointProvider.h | 31 +++++- .../include/aws/sqs/SQSServiceClientModel.h | 1 - .../src/aws-cpp-sdk-sqs/source/SQSClient.cpp | 42 +------- .../source/SQSClientConfiguration.cpp | 47 ++++++++ .../source/SQSEndpointProvider.cpp | 31 ++++++ .../aws/ssm-contacts/SSMContactsClient.h | 22 ---- .../SSMContactsClientConfiguration.h | 61 +++++++++++ .../SSMContactsEndpointProvider.h | 33 +++++- .../SSMContactsServiceClientModel.h | 1 - .../source/SSMContactsClient.cpp | 42 +------- .../source/SSMContactsClientConfiguration.cpp | 48 +++++++++ .../source/SSMContactsEndpointProvider.cpp | 34 ++++++ .../aws/ssm-guiconnect/SSMGuiConnectClient.h | 22 ---- .../SSMGuiConnectClientConfiguration.h | 61 +++++++++++ .../SSMGuiConnectEndpointProvider.h | 33 +++++- .../SSMGuiConnectServiceClientModel.h | 1 - .../source/SSMGuiConnectClient.cpp | 42 +------- .../SSMGuiConnectClientConfiguration.cpp | 48 +++++++++ .../source/SSMGuiConnectEndpointProvider.cpp | 34 ++++++ .../aws/ssm-incidents/SSMIncidentsClient.h | 22 ---- .../SSMIncidentsClientConfiguration.h | 61 +++++++++++ .../SSMIncidentsEndpointProvider.h | 33 +++++- .../SSMIncidentsServiceClientModel.h | 1 - .../source/SSMIncidentsClient.cpp | 42 +------- .../SSMIncidentsClientConfiguration.cpp | 48 +++++++++ .../source/SSMIncidentsEndpointProvider.cpp | 34 ++++++ .../aws/ssm-quicksetup/SSMQuickSetupClient.h | 22 ---- .../SSMQuickSetupClientConfiguration.h | 61 +++++++++++ .../SSMQuickSetupEndpointProvider.h | 33 +++++- .../SSMQuickSetupServiceClientModel.h | 1 - .../source/SSMQuickSetupClient.cpp | 42 +------- .../SSMQuickSetupClientConfiguration.cpp | 48 +++++++++ .../source/SSMQuickSetupEndpointProvider.cpp | 34 ++++++ .../include/aws/ssm-sap/SsmSapClient.h | 22 ---- .../aws/ssm-sap/SsmSapClientConfiguration.h | 61 +++++++++++ .../aws/ssm-sap/SsmSapEndpointProvider.h | 33 +++++- .../aws/ssm-sap/SsmSapServiceClientModel.h | 1 - .../source/SsmSapClient.cpp | 42 +------- .../source/SsmSapClientConfiguration.cpp | 48 +++++++++ .../source/SsmSapEndpointProvider.cpp | 31 ++++++ .../include/aws/ssm/SSMClient.h | 22 ---- .../include/aws/ssm/SSMClientConfiguration.h | 61 +++++++++++ .../include/aws/ssm/SSMEndpointProvider.h | 31 +++++- .../include/aws/ssm/SSMServiceClientModel.h | 1 - .../src/aws-cpp-sdk-ssm/source/SSMClient.cpp | 42 +------- .../source/SSMClientConfiguration.cpp | 47 ++++++++ .../source/SSMEndpointProvider.cpp | 31 ++++++ .../include/aws/sso-admin/SSOAdminClient.h | 22 ---- .../sso-admin/SSOAdminClientConfiguration.h | 61 +++++++++++ .../aws/sso-admin/SSOAdminEndpointProvider.h | 33 +++++- .../sso-admin/SSOAdminServiceClientModel.h | 1 - .../source/SSOAdminClient.cpp | 42 +------- .../source/SSOAdminClientConfiguration.cpp | 48 +++++++++ .../source/SSOAdminEndpointProvider.cpp | 33 ++++++ .../include/aws/sso-oidc/SSOOIDCClient.h | 22 ---- .../aws/sso-oidc/SSOOIDCClientConfiguration.h | 61 +++++++++++ .../aws/sso-oidc/SSOOIDCEndpointProvider.h | 33 +++++- .../aws/sso-oidc/SSOOIDCServiceClientModel.h | 1 - .../source/SSOOIDCClient.cpp | 42 +------- .../source/SSOOIDCClientConfiguration.cpp | 48 +++++++++ .../source/SSOOIDCEndpointProvider.cpp | 33 ++++++ .../include/aws/sso/SSOClient.h | 22 ---- .../include/aws/sso/SSOClientConfiguration.h | 61 +++++++++++ .../include/aws/sso/SSOEndpointProvider.h | 31 +++++- .../include/aws/sso/SSOServiceClientModel.h | 1 - .../src/aws-cpp-sdk-sso/source/SSOClient.cpp | 42 +------- .../source/SSOClientConfiguration.cpp | 47 ++++++++ .../source/SSOEndpointProvider.cpp | 31 ++++++ .../include/aws/states/SFNClient.h | 22 ---- .../aws/states/SFNClientConfiguration.h | 68 ++++++++++++ .../include/aws/states/SFNEndpointProvider.h | 31 +++++- .../aws/states/SFNServiceClientModel.h | 1 - .../aws-cpp-sdk-states/source/SFNClient.cpp | 42 +------- .../source/SFNClientConfiguration.cpp | 47 ++++++++ .../source/SFNEndpointProvider.cpp | 31 ++++++ .../aws/storagegateway/StorageGatewayClient.h | 22 ---- .../StorageGatewayClientConfiguration.h | 61 +++++++++++ .../StorageGatewayEndpointProvider.h | 33 +++++- .../StorageGatewayServiceClientModel.h | 1 - .../source/StorageGatewayClient.cpp | 42 +------- .../StorageGatewayClientConfiguration.cpp | 48 +++++++++ .../source/StorageGatewayEndpointProvider.cpp | 34 ++++++ .../aws/supplychain/SupplyChainClient.h | 22 ---- .../SupplyChainClientConfiguration.h | 61 +++++++++++ .../supplychain/SupplyChainEndpointProvider.h | 33 +++++- .../SupplyChainServiceClientModel.h | 1 - .../source/SupplyChainClient.cpp | 42 +------- .../source/SupplyChainClientConfiguration.cpp | 48 +++++++++ .../source/SupplyChainEndpointProvider.cpp | 34 ++++++ .../aws/support-app/SupportAppClient.h | 22 ---- .../SupportAppClientConfiguration.h | 61 +++++++++++ .../support-app/SupportAppEndpointProvider.h | 33 +++++- .../SupportAppServiceClientModel.h | 1 - .../source/SupportAppClient.cpp | 42 +------- .../source/SupportAppClientConfiguration.cpp | 48 +++++++++ .../source/SupportAppEndpointProvider.cpp | 33 ++++++ .../include/aws/support/SupportClient.h | 22 ---- .../aws/support/SupportClientConfiguration.h | 61 +++++++++++ .../aws/support/SupportEndpointProvider.h | 33 +++++- .../aws/support/SupportServiceClientModel.h | 1 - .../source/SupportClient.cpp | 42 +------- .../source/SupportClientConfiguration.cpp | 48 +++++++++ .../source/SupportEndpointProvider.cpp | 33 ++++++ .../aws/supportauthz/SupportAuthZClient.h | 22 ---- .../SupportAuthZClientConfiguration.h | 55 ++++++++++ .../SupportAuthZEndpointProvider.h | 33 +++++- .../SupportAuthZServiceClientModel.h | 1 - .../source/SupportAuthZClient.cpp | 42 +------- .../SupportAuthZClientConfiguration.cpp | 47 ++++++++ .../source/SupportAuthZEndpointProvider.cpp | 31 ++++++ .../aws/sustainability/SustainabilityClient.h | 22 ---- .../SustainabilityClientConfiguration.h | 60 +++++++++++ .../SustainabilityEndpointProvider.h | 33 +++++- .../SustainabilityServiceClientModel.h | 1 - .../source/SustainabilityClient.cpp | 44 +------- .../SustainabilityClientConfiguration.cpp | 48 +++++++++ .../source/SustainabilityEndpointProvider.cpp | 31 ++++++ .../include/aws/swf/SWFClient.h | 22 ---- .../include/aws/swf/SWFClientConfiguration.h | 61 +++++++++++ .../include/aws/swf/SWFEndpointProvider.h | 31 +++++- .../include/aws/swf/SWFServiceClientModel.h | 1 - .../src/aws-cpp-sdk-swf/source/SWFClient.cpp | 42 +------- .../source/SWFClientConfiguration.cpp | 47 ++++++++ .../source/SWFEndpointProvider.cpp | 31 ++++++ .../include/aws/synthetics/SyntheticsClient.h | 22 ---- .../SyntheticsClientConfiguration.h | 61 +++++++++++ .../synthetics/SyntheticsEndpointProvider.h | 33 +++++- .../synthetics/SyntheticsServiceClientModel.h | 1 - .../source/SyntheticsClient.cpp | 42 +------- .../source/SyntheticsClientConfiguration.cpp | 48 +++++++++ .../source/SyntheticsEndpointProvider.cpp | 33 ++++++ .../aws/taxsettings/TaxSettingsClient.h | 22 ---- .../TaxSettingsClientConfiguration.h | 61 +++++++++++ .../taxsettings/TaxSettingsEndpointProvider.h | 33 +++++- .../TaxSettingsServiceClientModel.h | 1 - .../source/TaxSettingsClient.cpp | 42 +------- .../source/TaxSettingsClientConfiguration.cpp | 48 +++++++++ .../source/TaxSettingsEndpointProvider.cpp | 34 ++++++ .../include/aws/textract/TextractClient.h | 22 ---- .../textract/TextractClientConfiguration.h | 61 +++++++++++ .../aws/textract/TextractEndpointProvider.h | 33 +++++- .../aws/textract/TextractServiceClientModel.h | 1 - .../source/TextractClient.cpp | 42 +------- .../source/TextractClientConfiguration.cpp | 48 +++++++++ .../source/TextractEndpointProvider.cpp | 33 ++++++ .../TimestreamInfluxDBClient.h | 22 ---- .../TimestreamInfluxDBClientConfiguration.h | 61 +++++++++++ .../TimestreamInfluxDBEndpointProvider.h | 33 +++++- .../TimestreamInfluxDBServiceClientModel.h | 1 - .../source/TimestreamInfluxDBClient.cpp | 43 +------- .../TimestreamInfluxDBClientConfiguration.cpp | 50 +++++++++ .../TimestreamInfluxDBEndpointProvider.cpp | 34 ++++++ .../timestream-query/TimestreamQueryClient.h | 22 ---- .../TimestreamQueryClientConfiguration.h | 43 ++++---- .../TimestreamQueryEndpointProvider.h | 3 + .../source/TimestreamQueryClient.cpp | 42 +------- .../TimestreamQueryClientConfiguration.cpp | 19 ++-- .../TimestreamQueryEndpointProvider.cpp | 10 ++ .../timestream-write/TimestreamWriteClient.h | 22 ---- .../TimestreamWriteClientConfiguration.h | 43 ++++---- .../TimestreamWriteEndpointProvider.h | 3 + .../source/TimestreamWriteClient.cpp | 42 +------- .../TimestreamWriteClientConfiguration.cpp | 19 ++-- .../TimestreamWriteEndpointProvider.cpp | 10 ++ .../aws/transcribe/TranscribeServiceClient.h | 22 ---- .../TranscribeServiceClientConfiguration.h | 61 +++++++++++ .../TranscribeServiceEndpointProvider.h | 33 +++++- .../TranscribeServiceServiceClientModel.h | 1 - .../source/TranscribeServiceClient.cpp | 43 +------- .../TranscribeServiceClientConfiguration.cpp | 49 +++++++++ .../TranscribeServiceEndpointProvider.cpp | 34 ++++++ .../TranscribeStreamingServiceClient.h | 23 ---- ...cribeStreamingServiceClientConfiguration.h | 94 ++++++++++++++++ ...anscribeStreamingServiceEndpointProvider.h | 35 +++++- ...scribeStreamingServiceServiceClientModel.h | 1 - .../TranscribeStreamingServiceClient.cpp | 45 +------- ...ibeStreamingServiceClientConfiguration.cpp | 54 ++++++++++ ...scribeStreamingServiceEndpointProvider.cpp | 35 ++++++ .../include/aws/translate/TranslateClient.h | 22 ---- .../translate/TranslateClientConfiguration.h | 61 +++++++++++ .../aws/translate/TranslateEndpointProvider.h | 33 +++++- .../translate/TranslateServiceClientModel.h | 1 - .../source/TranslateClient.cpp | 42 +------- .../source/TranslateClientConfiguration.cpp | 48 +++++++++ .../source/TranslateEndpointProvider.cpp | 33 ++++++ .../aws/trustedadvisor/TrustedAdvisorClient.h | 22 ---- .../TrustedAdvisorClientConfiguration.h | 61 +++++++++++ .../TrustedAdvisorEndpointProvider.h | 33 +++++- .../TrustedAdvisorServiceClientModel.h | 1 - .../source/TrustedAdvisorClient.cpp | 42 +------- .../TrustedAdvisorClientConfiguration.cpp | 48 +++++++++ .../source/TrustedAdvisorEndpointProvider.cpp | 34 ++++++ .../include/aws/uxc/UxcClient.h | 22 ---- .../include/aws/uxc/UxcClientConfiguration.h | 55 ++++++++++ .../include/aws/uxc/UxcEndpointProvider.h | 31 +++++- .../include/aws/uxc/UxcServiceClientModel.h | 1 - .../src/aws-cpp-sdk-uxc/source/UxcClient.cpp | 42 +------- .../source/UxcClientConfiguration.cpp | 46 ++++++++ .../source/UxcEndpointProvider.cpp | 28 +++++ .../VerifiedPermissionsClient.h | 22 ---- .../VerifiedPermissionsClientConfiguration.h | 61 +++++++++++ .../VerifiedPermissionsEndpointProvider.h | 35 +++++- .../VerifiedPermissionsServiceClientModel.h | 1 - .../source/VerifiedPermissionsClient.cpp | 43 +------- ...VerifiedPermissionsClientConfiguration.cpp | 50 +++++++++ .../VerifiedPermissionsEndpointProvider.cpp | 34 ++++++ .../include/aws/voice-id/VoiceIDClient.h | 22 ---- .../aws/voice-id/VoiceIDClientConfiguration.h | 61 +++++++++++ .../aws/voice-id/VoiceIDEndpointProvider.h | 33 +++++- .../aws/voice-id/VoiceIDServiceClientModel.h | 1 - .../source/VoiceIDClient.cpp | 42 +------- .../source/VoiceIDClientConfiguration.cpp | 48 +++++++++ .../source/VoiceIDEndpointProvider.cpp | 33 ++++++ .../aws/vpc-lattice/VPCLatticeClient.h | 22 ---- .../VPCLatticeClientConfiguration.h | 61 +++++++++++ .../vpc-lattice/VPCLatticeEndpointProvider.h | 33 +++++- .../VPCLatticeServiceClientModel.h | 1 - .../source/VPCLatticeClient.cpp | 42 +------- .../source/VPCLatticeClientConfiguration.cpp | 48 +++++++++ .../source/VPCLatticeEndpointProvider.cpp | 33 ++++++ .../aws/waf-regional/WAFRegionalClient.h | 22 ---- .../WAFRegionalClientConfiguration.h | 61 +++++++++++ .../WAFRegionalEndpointProvider.h | 33 +++++- .../WAFRegionalServiceClientModel.h | 1 - .../source/WAFRegionalClient.cpp | 42 +------- .../source/WAFRegionalClientConfiguration.cpp | 48 +++++++++ .../source/WAFRegionalEndpointProvider.cpp | 34 ++++++ .../include/aws/waf/WAFClient.h | 22 ---- .../include/aws/waf/WAFClientConfiguration.h | 61 +++++++++++ .../include/aws/waf/WAFEndpointProvider.h | 31 +++++- .../include/aws/waf/WAFServiceClientModel.h | 1 - .../src/aws-cpp-sdk-waf/source/WAFClient.cpp | 42 +------- .../source/WAFClientConfiguration.cpp | 47 ++++++++ .../source/WAFEndpointProvider.cpp | 31 ++++++ .../include/aws/wafv2/WAFV2Client.h | 22 ---- .../aws/wafv2/WAFV2ClientConfiguration.h | 61 +++++++++++ .../include/aws/wafv2/WAFV2EndpointProvider.h | 31 +++++- .../aws/wafv2/WAFV2ServiceClientModel.h | 1 - .../aws-cpp-sdk-wafv2/source/WAFV2Client.cpp | 42 +------- .../source/WAFV2ClientConfiguration.cpp | 48 +++++++++ .../source/WAFV2EndpointProvider.cpp | 31 ++++++ .../wellarchitected/WellArchitectedClient.h | 22 ---- .../WellArchitectedClientConfiguration.h | 61 +++++++++++ .../WellArchitectedEndpointProvider.h | 33 +++++- .../WellArchitectedServiceClientModel.h | 1 - .../source/WellArchitectedClient.cpp | 42 +------- .../WellArchitectedClientConfiguration.cpp | 49 +++++++++ .../WellArchitectedEndpointProvider.cpp | 34 ++++++ .../include/aws/wickr/WickrClient.h | 22 ---- .../aws/wickr/WickrClientConfiguration.h | 61 +++++++++++ .../include/aws/wickr/WickrEndpointProvider.h | 31 +++++- .../aws/wickr/WickrServiceClientModel.h | 1 - .../aws-cpp-sdk-wickr/source/WickrClient.cpp | 42 +------- .../source/WickrClientConfiguration.cpp | 48 +++++++++ .../source/WickrEndpointProvider.cpp | 31 ++++++ .../aws/wisdom/ConnectWisdomServiceClient.h | 22 ---- .../ConnectWisdomServiceClientConfiguration.h | 62 +++++++++++ .../ConnectWisdomServiceEndpointProvider.h | 35 +++++- .../ConnectWisdomServiceServiceClientModel.h | 1 - .../source/ConnectWisdomServiceClient.cpp | 43 +------- ...onnectWisdomServiceClientConfiguration.cpp | 50 +++++++++ .../ConnectWisdomServiceEndpointProvider.cpp | 34 ++++++ .../include/aws/workdocs/WorkDocsClient.h | 22 ---- .../workdocs/WorkDocsClientConfiguration.h | 61 +++++++++++ .../aws/workdocs/WorkDocsEndpointProvider.h | 33 +++++- .../aws/workdocs/WorkDocsServiceClientModel.h | 1 - .../source/WorkDocsClient.cpp | 42 +------- .../source/WorkDocsClientConfiguration.cpp | 48 +++++++++ .../source/WorkDocsEndpointProvider.cpp | 33 ++++++ .../include/aws/workmail/WorkMailClient.h | 22 ---- .../workmail/WorkMailClientConfiguration.h | 61 +++++++++++ .../aws/workmail/WorkMailEndpointProvider.h | 33 +++++- .../aws/workmail/WorkMailServiceClientModel.h | 1 - .../source/WorkMailClient.cpp | 42 +------- .../source/WorkMailClientConfiguration.cpp | 48 +++++++++ .../source/WorkMailEndpointProvider.cpp | 33 ++++++ .../WorkMailMessageFlowClient.h | 22 ---- .../WorkMailMessageFlowClientConfiguration.h | 61 +++++++++++ .../WorkMailMessageFlowEndpointProvider.h | 35 +++++- .../WorkMailMessageFlowServiceClientModel.h | 1 - .../source/WorkMailMessageFlowClient.cpp | 43 +------- ...WorkMailMessageFlowClientConfiguration.cpp | 50 +++++++++ .../WorkMailMessageFlowEndpointProvider.cpp | 34 ++++++ .../WorkspacesInstancesClient.h | 22 ---- .../WorkspacesInstancesClientConfiguration.h | 55 ++++++++++ .../WorkspacesInstancesEndpointProvider.h | 35 +++++- .../WorkspacesInstancesServiceClientModel.h | 1 - .../source/WorkspacesInstancesClient.cpp | 43 +------- ...WorkspacesInstancesClientConfiguration.cpp | 49 +++++++++ .../WorkspacesInstancesEndpointProvider.cpp | 31 ++++++ .../WorkSpacesThinClientClient.h | 22 ---- .../WorkSpacesThinClientClientConfiguration.h | 69 ++++++++++++ .../WorkSpacesThinClientEndpointProvider.h | 35 +++++- .../WorkSpacesThinClientServiceClientModel.h | 1 - .../source/WorkSpacesThinClientClient.cpp | 43 +------- ...orkSpacesThinClientClientConfiguration.cpp | 50 +++++++++ .../WorkSpacesThinClientEndpointProvider.cpp | 34 ++++++ .../aws/workspaces-web/WorkSpacesWebClient.h | 22 ---- .../WorkSpacesWebClientConfiguration.h | 61 +++++++++++ .../WorkSpacesWebEndpointProvider.h | 33 +++++- .../WorkSpacesWebServiceClientModel.h | 1 - .../source/WorkSpacesWebClient.cpp | 42 +------- .../WorkSpacesWebClientConfiguration.cpp | 48 +++++++++ .../source/WorkSpacesWebEndpointProvider.cpp | 34 ++++++ .../include/aws/workspaces/WorkSpacesClient.h | 22 ---- .../WorkSpacesClientConfiguration.h | 61 +++++++++++ .../workspaces/WorkSpacesEndpointProvider.h | 33 +++++- .../workspaces/WorkSpacesServiceClientModel.h | 1 - .../source/WorkSpacesClient.cpp | 42 +------- .../source/WorkSpacesClientConfiguration.cpp | 48 +++++++++ .../source/WorkSpacesEndpointProvider.cpp | 33 ++++++ .../include/aws/xray/XRayClient.h | 22 ---- .../aws/xray/XRayClientConfiguration.h | 61 +++++++++++ .../include/aws/xray/XRayEndpointProvider.h | 31 +++++- .../include/aws/xray/XRayServiceClientModel.h | 1 - .../aws-cpp-sdk-xray/source/XRayClient.cpp | 42 +------- .../source/XRayClientConfiguration.cpp | 48 +++++++++ .../source/XRayEndpointProvider.cpp | 31 ++++++ .../materials/KMSEncryptionMaterials.h | 6 +- .../materials/KMSEncryptionMaterials.cpp | 2 +- .../IntegrationTests.cpp | 2 +- .../IdentityPoolOperationTest.cpp | 4 +- .../EC2Tests.cpp | 4 +- .../EC2TestsDualStack.cpp | 6 +- .../ElasticFileSystemTest.cpp | 2 +- .../AwsSdkMisuseTests.cpp | 4 +- .../EventBridgeTests.cpp | 12 +-- .../CognitoCachingCredentialsProviderTest.cpp | 4 +- .../KinesisTests.cpp | 2 +- .../FunctionTest.cpp | 6 +- .../CloudWatchLogsTests.cpp | 6 +- .../CloudWatchLogsUnitTests.cpp | 8 +- .../MediaStoreDataTest.cpp | 8 +- .../CloudWatchMonitoringTests.cpp | 2 +- .../CloudWatchUnitTest.cpp | 4 +- .../RDSTest.cpp | 2 +- .../CryptoModulesTest.cpp | 18 ++-- .../EncryptionMaterialsTest.cpp | 14 +-- .../S3ControlTest.cpp | 4 +- .../QueueOperationTest.cpp | 6 +- .../TextToSpeechManagerTests.cpp | 8 +- .../TimeStreamQueryUnitTests.cpp | 2 +- .../TranscribeErrorCaseTests.cpp | 6 +- .../TranscribeTests.cpp | 10 +- 3037 files changed, 74517 insertions(+), 29289 deletions(-) create mode 100644 generated/src/aws-cpp-sdk-AWSMigrationHub/include/aws/AWSMigrationHub/MigrationHubClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-AWSMigrationHub/source/MigrationHubClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-accessanalyzer/include/aws/accessanalyzer/AccessAnalyzerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-accessanalyzer/source/AccessAnalyzerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-account-access/include/aws/account-access/AccountAccessClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-account-access/source/AccountAccessClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-account/include/aws/account/AccountClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-account/source/AccountClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-acm-pca/include/aws/acm-pca/ACMPCAClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-acm-pca/source/ACMPCAClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-acm/include/aws/acm/ACMClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-acm/source/ACMClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-agent-registry-control/include/aws/agent-registry-control/AgentRegistryControlClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-agent-registry-control/source/AgentRegistryControlClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-agent-registry/include/aws/agent-registry/AgentRegistryClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-agent-registry/source/AgentRegistryClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-aiops/include/aws/aiops/AIOpsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-aiops/source/AIOpsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-amp/include/aws/amp/PrometheusServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-amp/source/PrometheusServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-amplify/include/aws/amplify/AmplifyClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-amplify/source/AmplifyClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-amplifybackend/include/aws/amplifybackend/AmplifyBackendClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-amplifybackend/source/AmplifyBackendClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-amplifyuibuilder/include/aws/amplifyuibuilder/AmplifyUIBuilderClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-amplifyuibuilder/source/AmplifyUIBuilderClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-apigateway/include/aws/apigateway/APIGatewayClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-apigateway/source/APIGatewayClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-apigatewaymanagementapi/include/aws/apigatewaymanagementapi/ApiGatewayManagementApiClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-apigatewaymanagementapi/source/ApiGatewayManagementApiClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-apigatewayv2/include/aws/apigatewayv2/ApiGatewayV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-apigatewayv2/source/ApiGatewayV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-appconfig/include/aws/appconfig/AppConfigClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-appconfig/source/AppConfigClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-appconfigdata/include/aws/appconfigdata/AppConfigDataClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-appconfigdata/source/AppConfigDataClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-appfabric/include/aws/appfabric/AppFabricClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-appfabric/source/AppFabricClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-appflow/include/aws/appflow/AppflowClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-appflow/source/AppflowClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-appintegrations/include/aws/appintegrations/AppIntegrationsServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-appintegrations/source/AppIntegrationsServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-application-autoscaling/include/aws/application-autoscaling/ApplicationAutoScalingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-application-autoscaling/source/ApplicationAutoScalingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-application-insights/include/aws/application-insights/ApplicationInsightsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-application-insights/source/ApplicationInsightsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-application-signals/include/aws/application-signals/ApplicationSignalsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-application-signals/source/ApplicationSignalsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-applicationcostprofiler/include/aws/applicationcostprofiler/ApplicationCostProfilerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-applicationcostprofiler/source/ApplicationCostProfilerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-appmesh/include/aws/appmesh/AppMeshClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-appmesh/source/AppMeshClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-apprunner/include/aws/apprunner/AppRunnerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-apprunner/source/AppRunnerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-appstream/include/aws/appstream/AppStreamClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-appstream/source/AppStreamClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-appsync/include/aws/appsync/AppSyncClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-appsync/source/AppSyncClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-arc-region-switch/include/aws/arc-region-switch/ARCRegionswitchClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-arc-region-switch/source/ARCRegionswitchClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-arc-zonal-shift/include/aws/arc-zonal-shift/ARCZonalShiftClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-arc-zonal-shift/source/ARCZonalShiftClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-artifact/include/aws/artifact/ArtifactClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-artifact/source/ArtifactClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-athena/include/aws/athena/AthenaClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-athena/source/AthenaClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-auditmanager/include/aws/auditmanager/AuditManagerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-auditmanager/source/AuditManagerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-autoscaling-plans/include/aws/autoscaling-plans/AutoScalingPlansClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-autoscaling-plans/source/AutoScalingPlansClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-autoscaling/include/aws/autoscaling/AutoScalingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-autoscaling/source/AutoScalingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-awstransfer/include/aws/awstransfer/TransferClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-awstransfer/source/TransferClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-b2bi/include/aws/b2bi/B2BIClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-b2bi/source/B2BIClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-backup-gateway/include/aws/backup-gateway/BackupGatewayClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-backup-gateway/source/BackupGatewayClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-backup/include/aws/backup/BackupClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-backup/source/BackupClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-backupsearch/include/aws/backupsearch/BackupSearchClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-backupsearch/source/BackupSearchClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-batch/include/aws/batch/BatchClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-batch/source/BatchClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bcm-dashboards/include/aws/bcm-dashboards/BCMDashboardsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bcm-dashboards/source/BCMDashboardsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bcm-data-exports/include/aws/bcm-data-exports/BCMDataExportsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bcm-data-exports/source/BCMDataExportsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bcm-pricing-calculator/include/aws/bcm-pricing-calculator/BCMPricingCalculatorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bcm-pricing-calculator/source/BCMPricingCalculatorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bcm-recommended-actions/include/aws/bcm-recommended-actions/BCMRecommendedActionsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bcm-recommended-actions/source/BCMRecommendedActionsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agentcore-control/include/aws/bedrock-agentcore-control/BedrockAgentCoreControlClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agentcore-control/source/BedrockAgentCoreControlClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-bedrock-agentcore/include/aws/bedrock-agentcore/BedrockAgentCoreClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-bedrock-agentcore/source/BedrockAgentCoreClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-billing/include/aws/billing/BillingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-billing/source/BillingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-billingconductor/include/aws/billingconductor/BillingConductorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-billingconductor/source/BillingConductorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-braket/include/aws/braket/BraketClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-braket/source/BraketClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-budgets/include/aws/budgets/BudgetsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-budgets/source/BudgetsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ce/include/aws/ce/CostExplorerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ce/source/CostExplorerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-chatbot/include/aws/chatbot/ChatbotClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-chatbot/source/ChatbotClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-identity/include/aws/chime-sdk-identity/ChimeSDKIdentityClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-identity/source/ChimeSDKIdentityClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/include/aws/chime-sdk-media-pipelines/ChimeSDKMediaPipelinesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-media-pipelines/source/ChimeSDKMediaPipelinesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-meetings/include/aws/chime-sdk-meetings/ChimeSDKMeetingsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-meetings/source/ChimeSDKMeetingsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-messaging/include/aws/chime-sdk-messaging/ChimeSDKMessagingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-messaging/source/ChimeSDKMessagingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/include/aws/chime-sdk-voice/ChimeSDKVoiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-chime-sdk-voice/source/ChimeSDKVoiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-chime/include/aws/chime/ChimeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-chime/source/ChimeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/include/aws/cleanrooms/CleanRoomsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cleanrooms/source/CleanRoomsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cleanroomsml/include/aws/cleanroomsml/CleanRoomsMLClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cleanroomsml/source/CleanRoomsMLClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloud9/include/aws/cloud9/Cloud9ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloud9/source/Cloud9ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudcontrol/include/aws/cloudcontrol/CloudControlApiClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudcontrol/source/CloudControlApiClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-clouddirectory/include/aws/clouddirectory/CloudDirectoryClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-clouddirectory/source/CloudDirectoryClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudformation/include/aws/cloudformation/CloudFormationClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudformation/source/CloudFormationClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/include/aws/cloudfront-keyvaluestore/CloudFrontKeyValueStoreClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudfront-keyvaluestore/source/CloudFrontKeyValueStoreClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudfront/include/aws/cloudfront/CloudFrontClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudfront/source/CloudFrontClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudhsm/include/aws/cloudhsm/CloudHSMClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudhsm/source/CloudHSMClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudhsmv2/include/aws/cloudhsmv2/CloudHSMV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudhsmv2/source/CloudHSMV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudsearch/include/aws/cloudsearch/CloudSearchClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudsearch/source/CloudSearchClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudsearchdomain/include/aws/cloudsearchdomain/CloudSearchDomainClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudsearchdomain/source/CloudSearchDomainClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudtrail-data/include/aws/cloudtrail-data/CloudTrailDataClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudtrail-data/source/CloudTrailDataClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudtrail/include/aws/cloudtrail/CloudTrailClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudtrail/source/CloudTrailClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cloudwatchomni/include/aws/cloudwatchomni/CloudWatchOmniClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cloudwatchomni/source/CloudWatchOmniClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codeartifact/include/aws/codeartifact/CodeArtifactClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codeartifact/source/CodeArtifactClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codebuild/include/aws/codebuild/CodeBuildClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codebuild/source/CodeBuildClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/include/aws/codecatalyst/CodeCatalystClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codecatalyst/source/CodeCatalystClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codecommit/include/aws/codecommit/CodeCommitClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codecommit/source/CodeCommitClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codeconnections/include/aws/codeconnections/CodeConnectionsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codeconnections/source/CodeConnectionsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codedeploy/include/aws/codedeploy/CodeDeployClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codedeploy/source/CodeDeployClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codeguru-reviewer/include/aws/codeguru-reviewer/CodeGuruReviewerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codeguru-reviewer/source/CodeGuruReviewerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codeguru-security/include/aws/codeguru-security/CodeGuruSecurityClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codeguru-security/source/CodeGuruSecurityClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codeguruprofiler/include/aws/codeguruprofiler/CodeGuruProfilerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codeguruprofiler/source/CodeGuruProfilerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codepipeline/include/aws/codepipeline/CodePipelineClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codepipeline/source/CodePipelineClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codestar-connections/include/aws/codestar-connections/CodeStarconnectionsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codestar-connections/source/CodeStarconnectionsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-codestar-notifications/include/aws/codestar-notifications/CodeStarNotificationsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-codestar-notifications/source/CodeStarNotificationsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cognito-identity/include/aws/cognito-identity/CognitoIdentityClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cognito-identity/source/CognitoIdentityClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cognito-idp/include/aws/cognito-idp/CognitoIdentityProviderClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cognito-idp/source/CognitoIdentityProviderClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cognito-sync/include/aws/cognito-sync/CognitoSyncClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cognito-sync/source/CognitoSyncClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-comprehend/include/aws/comprehend/ComprehendClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-comprehend/source/ComprehendClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-comprehendmedical/include/aws/comprehendmedical/ComprehendMedicalClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-comprehendmedical/source/ComprehendMedicalClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-compute-optimizer-automation/include/aws/compute-optimizer-automation/ComputeOptimizerAutomationClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-compute-optimizer-automation/source/ComputeOptimizerAutomationClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-compute-optimizer/include/aws/compute-optimizer/ComputeOptimizerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-compute-optimizer/source/ComputeOptimizerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-config/include/aws/config/ConfigServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-config/source/ConfigServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-connect-contact-lens/include/aws/connect-contact-lens/ConnectContactLensClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-connect-contact-lens/source/ConnectContactLensClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-connect/include/aws/connect/ConnectClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-connect/source/ConnectClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaigns/include/aws/connectcampaigns/ConnectCampaignsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaigns/source/ConnectCampaignsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/include/aws/connectcampaignsv2/ConnectCampaignsV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-connectcampaignsv2/source/ConnectCampaignsV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-connectcases/include/aws/connectcases/ConnectCasesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-connectcases/source/ConnectCasesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-connecthealth/include/aws/connecthealth/ConnectHealthClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-connecthealth/source/ConnectHealthClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-connectparticipant/include/aws/connectparticipant/ConnectParticipantClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-connectparticipant/source/ConnectParticipantClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-continuum/include/aws/continuum/ContinuumClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-continuum/source/ContinuumClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-controlcatalog/include/aws/controlcatalog/ControlCatalogClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-controlcatalog/source/ControlCatalogClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-controltower/include/aws/controltower/ControlTowerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-controltower/source/ControlTowerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cost-optimization-hub/include/aws/cost-optimization-hub/CostOptimizationHubClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cost-optimization-hub/source/CostOptimizationHubClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-cur/include/aws/cur/CostandUsageReportServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-cur/source/CostandUsageReportServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/include/aws/customer-profiles/CustomerProfilesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-customer-profiles/source/CustomerProfilesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-databrew/include/aws/databrew/GlueDataBrewClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-databrew/source/GlueDataBrewClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-dataexchange/include/aws/dataexchange/DataExchangeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-dataexchange/source/DataExchangeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-datapipeline/include/aws/datapipeline/DataPipelineClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-datapipeline/source/DataPipelineClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-datasync/include/aws/datasync/DataSyncClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-datasync/source/DataSyncClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-datazone/include/aws/datazone/DataZoneClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-datazone/source/DataZoneClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-dax/include/aws/dax/DAXClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-dax/source/DAXClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-deadline/include/aws/deadline/DeadlineClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-deadline/source/DeadlineClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-detective/include/aws/detective/DetectiveClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-detective/source/DetectiveClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-devicefarm/include/aws/devicefarm/DeviceFarmClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-devicefarm/source/DeviceFarmClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-devops-agent/include/aws/devops-agent/DevOpsAgentClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-devops-agent/source/DevOpsAgentClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-devops-guru/include/aws/devops-guru/DevOpsGuruClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-devops-guru/source/DevOpsGuruClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-directconnect/include/aws/directconnect/DirectConnectClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-directconnect/source/DirectConnectClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-directory-service-data/include/aws/directory-service-data/DirectoryServiceDataClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-directory-service-data/source/DirectoryServiceDataClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-discovery/include/aws/discovery/ApplicationDiscoveryServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-discovery/source/ApplicationDiscoveryServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-dlm/include/aws/dlm/DLMClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-dlm/source/DLMClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-dms/include/aws/dms/DatabaseMigrationServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-dms/source/DatabaseMigrationServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-docdb-elastic/include/aws/docdb-elastic/DocDBElasticClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-docdb-elastic/source/DocDBElasticClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-docdb/include/aws/docdb/DocDBClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-docdb/source/DocDBClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-drs/include/aws/drs/DrsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-drs/source/DrsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ds/include/aws/ds/DirectoryServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ds/source/DirectoryServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-dsql/include/aws/dsql/DSQLClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-dsql/source/DSQLClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ebs/include/aws/ebs/EBSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ebs/source/EBSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2-instance-connect/include/aws/ec2-instance-connect/EC2InstanceConnectClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ec2-instance-connect/source/EC2InstanceConnectClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ec2/include/aws/ec2/EC2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ec2/source/EC2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr-public/include/aws/ecr-public/ECRPublicClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ecr-public/source/ECRPublicClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ecr/include/aws/ecr/ECRClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ecr/source/ECRClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ecs/include/aws/ecs/ECSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ecs/source/ECSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-eks-auth/include/aws/eks-auth/EKSAuthClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-eks-auth/source/EKSAuthClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-eks/include/aws/eks/EKSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-eks/source/EKSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticache/include/aws/elasticache/ElastiCacheClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-elasticache/source/ElastiCacheClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticbeanstalk/include/aws/elasticbeanstalk/ElasticBeanstalkClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-elasticbeanstalk/source/ElasticBeanstalkClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticfilesystem/include/aws/elasticfilesystem/EFSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-elasticfilesystem/source/EFSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancing/include/aws/elasticloadbalancing/ElasticLoadBalancingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancing/source/ElasticLoadBalancingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/include/aws/elasticloadbalancingv2/ElasticLoadBalancingv2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-elasticloadbalancingv2/source/ElasticLoadBalancingv2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-elasticmapreduce/include/aws/elasticmapreduce/EMRClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-elasticmapreduce/source/EMRClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-elementalinference/include/aws/elementalinference/ElementalInferenceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-elementalinference/source/ElementalInferenceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-email/include/aws/email/SESClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-email/source/SESClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-emr-containers/include/aws/emr-containers/EMRContainersClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-emr-containers/source/EMRContainersClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-emr-serverless/include/aws/emr-serverless/EMRServerlessClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-emr-serverless/source/EMRServerlessClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-endusermessaging/include/aws/endusermessaging/EndUserMessagingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-endusermessaging/source/EndUserMessagingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-entityresolution/include/aws/entityresolution/EntityResolutionClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-entityresolution/source/EntityResolutionClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-es/include/aws/es/ElasticsearchServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-es/source/ElasticsearchServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-eventbridge/include/aws/eventbridge/EventBridgeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-eventbridge/source/EventBridgeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-events/include/aws/events/CloudWatchEventsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-events/source/CloudWatchEventsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-evs/include/aws/evs/EVSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-evs/source/EVSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-firehose/include/aws/firehose/FirehoseClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-firehose/source/FirehoseClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-fis/include/aws/fis/FISClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-fis/source/FISClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-fms/include/aws/fms/FMSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-fms/source/FMSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-forecast/include/aws/forecast/ForecastServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-forecast/source/ForecastServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-forecastquery/include/aws/forecastquery/ForecastQueryServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-forecastquery/source/ForecastQueryServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-frauddetector/include/aws/frauddetector/FraudDetectorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-frauddetector/source/FraudDetectorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-freetier/include/aws/freetier/FreeTierClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-freetier/source/FreeTierClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-fsx/include/aws/fsx/FSxClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-fsx/source/FSxClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-gamelift/include/aws/gamelift/GameLiftClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-gamelift/source/GameLiftClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-gameliftstreams/include/aws/gameliftstreams/GameLiftStreamsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-gameliftstreams/source/GameLiftStreamsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-maps/include/aws/geo-maps/GeoMapsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-geo-maps/source/GeoMapsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-places/include/aws/geo-places/GeoPlacesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-geo-places/source/GeoPlacesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-geo-routes/include/aws/geo-routes/GeoRoutesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-geo-routes/source/GeoRoutesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-glacier/include/aws/glacier/GlacierClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-glacier/source/GlacierClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-globalaccelerator/include/aws/globalaccelerator/GlobalAcceleratorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-globalaccelerator/source/GlobalAcceleratorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-glue/include/aws/glue/GlueClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-glue/source/GlueClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-grafana/include/aws/grafana/ManagedGrafanaClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-grafana/source/ManagedGrafanaClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-greengrass/include/aws/greengrass/GreengrassClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-greengrass/source/GreengrassClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-greengrassv2/include/aws/greengrassv2/GreengrassV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-greengrassv2/source/GreengrassV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-groundstation/include/aws/groundstation/GroundStationClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-groundstation/source/GroundStationClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-guardduty/include/aws/guardduty/GuardDutyClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-guardduty/source/GuardDutyClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-health/include/aws/health/HealthClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-health/source/HealthClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-healthlake/include/aws/healthlake/HealthLakeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-healthlake/source/HealthLakeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iam-toolbox/include/aws/iam-toolbox/IAMToolboxClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iam-toolbox/source/IAMToolboxClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iam/include/aws/iam/IAMClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iam/source/IAMClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-identitystore/include/aws/identitystore/IdentityStoreClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-identitystore/source/IdentityStoreClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/include/aws/imagebuilder/ImagebuilderClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-imagebuilder/source/ImagebuilderClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-importexport/include/aws/importexport/ImportExportClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-importexport/source/ImportExportClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-inspector-scan/include/aws/inspector-scan/InspectorscanClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-inspector-scan/source/InspectorscanClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-inspector/include/aws/inspector/InspectorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-inspector/source/InspectorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-inspector2/include/aws/inspector2/Inspector2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-inspector2/source/Inspector2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-interconnect/include/aws/interconnect/InterconnectClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-interconnect/source/InterconnectClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-internetmonitor/include/aws/internetmonitor/InternetMonitorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-internetmonitor/source/InternetMonitorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-invoicing/include/aws/invoicing/InvoicingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-invoicing/source/InvoicingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iot-data/include/aws/iot-data/IoTDataPlaneClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iot-data/source/IoTDataPlaneClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iot-jobs-data/include/aws/iot-jobs-data/IoTJobsDataPlaneClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iot-jobs-data/source/IoTJobsDataPlaneClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iot-managed-integrations/include/aws/iot-managed-integrations/IoTManagedIntegrationsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iot-managed-integrations/source/IoTManagedIntegrationsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iot/include/aws/iot/IoTClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iot/source/IoTClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iotdeviceadvisor/include/aws/iotdeviceadvisor/IoTDeviceAdvisorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iotdeviceadvisor/source/IoTDeviceAdvisorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iotfleetwise/include/aws/iotfleetwise/IoTFleetWiseClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iotfleetwise/source/IoTFleetWiseClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iotsecuretunneling/include/aws/iotsecuretunneling/IoTSecureTunnelingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iotsecuretunneling/source/IoTSecureTunnelingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iotsitewise/include/aws/iotsitewise/IoTSiteWiseClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iotsitewise/source/IoTSiteWiseClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iotthingsgraph/include/aws/iotthingsgraph/IoTThingsGraphClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iotthingsgraph/source/IoTThingsGraphClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iottwinmaker/include/aws/iottwinmaker/IoTTwinMakerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iottwinmaker/source/IoTTwinMakerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-iotwireless/include/aws/iotwireless/IoTWirelessClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-iotwireless/source/IoTWirelessClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ivs-realtime/include/aws/ivs-realtime/IvsrealtimeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ivs-realtime/source/IvsrealtimeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ivs/include/aws/ivs/IVSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ivs/source/IVSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ivschat/include/aws/ivschat/IvschatClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ivschat/source/IvschatClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kafka/include/aws/kafka/KafkaClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kafka/source/KafkaClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kafkaconnect/include/aws/kafkaconnect/KafkaConnectClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kafkaconnect/source/KafkaConnectClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kendra-ranking/include/aws/kendra-ranking/KendraRankingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kendra-ranking/source/KendraRankingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kendra/include/aws/kendra/KendraClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kendra/source/KendraClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-keyspaces/include/aws/keyspaces/KeyspacesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-keyspaces/source/KeyspacesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-keyspacesstreams/include/aws/keyspacesstreams/KeyspacesStreamsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-keyspacesstreams/source/KeyspacesStreamsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kinesis-video-archived-media/include/aws/kinesis-video-archived-media/KinesisVideoArchivedMediaClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kinesis-video-archived-media/source/KinesisVideoArchivedMediaClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kinesis-video-media/include/aws/kinesis-video-media/KinesisVideoMediaClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kinesis-video-media/source/KinesisVideoMediaClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kinesis-video-signaling/include/aws/kinesis-video-signaling/KinesisVideoSignalingChannelsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kinesis-video-signaling/source/KinesisVideoSignalingChannelsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/include/aws/kinesis-video-webrtc-storage/KinesisVideoWebRTCStorageClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kinesis-video-webrtc-storage/source/KinesisVideoWebRTCStorageClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kinesisanalytics/include/aws/kinesisanalytics/KinesisAnalyticsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kinesisanalytics/source/KinesisAnalyticsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kinesisanalyticsv2/include/aws/kinesisanalyticsv2/KinesisAnalyticsV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kinesisanalyticsv2/source/KinesisAnalyticsV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kinesisvideo/include/aws/kinesisvideo/KinesisVideoClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kinesisvideo/source/KinesisVideoClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-kms/include/aws/kms/KMSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-kms/source/KMSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lakeformation/include/aws/lakeformation/LakeFormationClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lakeformation/source/LakeFormationClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda-core/include/aws/lambda-core/LambdaCoreClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lambda-core/source/LambdaCoreClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda-microvms/include/aws/lambda-microvms/LambdaMicrovmsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lambda-microvms/source/LambdaMicrovmsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda-web/include/aws/lambda-web/LambdaWebClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lambda-web/source/LambdaWebClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lambda/include/aws/lambda/LambdaClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lambda/source/LambdaClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-launch-wizard/include/aws/launch-wizard/LaunchWizardClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-launch-wizard/source/LaunchWizardClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lex-models/include/aws/lex-models/LexModelBuildingServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lex-models/source/LexModelBuildingServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lex/include/aws/lex/LexRuntimeServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lex/source/LexRuntimeServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lexv2-models/include/aws/lexv2-models/LexModelsV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lexv2-models/source/LexModelsV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lexv2-runtime/include/aws/lexv2-runtime/LexRuntimeV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lexv2-runtime/source/LexRuntimeV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/include/aws/license-manager-linux-subscriptions/LicenseManagerLinuxSubscriptionsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-license-manager-linux-subscriptions/source/LicenseManagerLinuxSubscriptionsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-license-manager-user-subscriptions/include/aws/license-manager-user-subscriptions/LicenseManagerUserSubscriptionsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-license-manager-user-subscriptions/source/LicenseManagerUserSubscriptionsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-license-manager/include/aws/license-manager/LicenseManagerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-license-manager/source/LicenseManagerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lightsail/include/aws/lightsail/LightsailClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lightsail/source/LightsailClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-location/include/aws/location/LocationServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-location/source/LocationServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-logs/include/aws/logs/CloudWatchLogsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-logs/source/CloudWatchLogsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-lookoutequipment/include/aws/lookoutequipment/LookoutEquipmentClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-lookoutequipment/source/LookoutEquipmentClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-m2/include/aws/m2/MainframeModernizationClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-m2/source/MainframeModernizationClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-machinelearning/include/aws/machinelearning/MachineLearningClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-machinelearning/source/MachineLearningClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-macie2/include/aws/macie2/Macie2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-macie2/source/Macie2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mailmanager/include/aws/mailmanager/MailManagerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mailmanager/source/MailManagerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-managedblockchain-query/include/aws/managedblockchain-query/ManagedBlockchainQueryClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-managedblockchain-query/source/ManagedBlockchainQueryClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-managedblockchain/include/aws/managedblockchain/ManagedBlockchainClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-managedblockchain/source/ManagedBlockchainClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-agreement/include/aws/marketplace-agreement/AgreementServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-agreement/source/AgreementServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/include/aws/marketplace-catalog/MarketplaceCatalogClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-catalog/source/MarketplaceCatalogClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-deployment/include/aws/marketplace-deployment/MarketplaceDeploymentClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-deployment/source/MarketplaceDeploymentClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-discovery/include/aws/marketplace-discovery/MarketplaceDiscoveryClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-discovery/source/MarketplaceDiscoveryClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-entitlement/include/aws/marketplace-entitlement/MarketplaceEntitlementServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-entitlement/source/MarketplaceEntitlementServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplace-reporting/include/aws/marketplace-reporting/MarketplaceReportingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-marketplace-reporting/source/MarketplaceReportingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-marketplacecommerceanalytics/include/aws/marketplacecommerceanalytics/MarketplaceCommerceAnalyticsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-marketplacecommerceanalytics/source/MarketplaceCommerceAnalyticsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mediaconnect/include/aws/mediaconnect/MediaConnectClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mediaconnect/source/MediaConnectClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mediaconvert/include/aws/mediaconvert/MediaConvertClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mediaconvert/source/MediaConvertClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-medialive/include/aws/medialive/MediaLiveClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-medialive/source/MediaLiveClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mediapackage-vod/include/aws/mediapackage-vod/MediaPackageVodClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mediapackage-vod/source/MediaPackageVodClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mediapackage/include/aws/mediapackage/MediaPackageClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mediapackage/source/MediaPackageClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mediapackagev2/include/aws/mediapackagev2/Mediapackagev2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mediapackagev2/source/Mediapackagev2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mediastore-data/include/aws/mediastore-data/MediaStoreDataClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mediastore-data/source/MediaStoreDataClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mediastore/include/aws/mediastore/MediaStoreClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mediastore/source/MediaStoreClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mediatailor/include/aws/mediatailor/MediaTailorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mediatailor/source/MediaTailorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-medical-imaging/include/aws/medical-imaging/MedicalImagingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-medical-imaging/source/MedicalImagingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-memorydb/include/aws/memorydb/MemoryDBClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-memorydb/source/MemoryDBClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-meteringmarketplace/include/aws/meteringmarketplace/MarketplaceMeteringClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-meteringmarketplace/source/MarketplaceMeteringClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mgn/include/aws/mgn/MgnClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mgn/source/MgnClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/include/aws/migration-hub-refactor-spaces/MigrationHubRefactorSpacesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-migration-hub-refactor-spaces/source/MigrationHubRefactorSpacesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-migrationhub-config/include/aws/migrationhub-config/MigrationHubConfigClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-migrationhub-config/source/MigrationHubConfigClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-migrationhuborchestrator/include/aws/migrationhuborchestrator/MigrationHubOrchestratorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-migrationhuborchestrator/source/MigrationHubOrchestratorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-migrationhubstrategy/include/aws/migrationhubstrategy/MigrationHubStrategyRecommendationsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-migrationhubstrategy/source/MigrationHubStrategyRecommendationsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-monitoring/include/aws/monitoring/CloudWatchClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-monitoring/source/CloudWatchClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mpa/include/aws/mpa/MPAClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mpa/source/MPAClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mq/include/aws/mq/MQClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mq/source/MQClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mturk-requester/include/aws/mturk-requester/MTurkClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mturk-requester/source/MTurkClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mwaa-serverless/include/aws/mwaa-serverless/MWAAServerlessClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mwaa-serverless/source/MWAAServerlessClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-mwaa/include/aws/mwaa/MWAAClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-mwaa/source/MWAAClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-neptune-graph/include/aws/neptune-graph/NeptuneGraphClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-neptune-graph/source/NeptuneGraphClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-neptune/include/aws/neptune/NeptuneClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-neptune/source/NeptuneClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-neptunedata/include/aws/neptunedata/NeptunedataClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-neptunedata/source/NeptunedataClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-network-firewall/include/aws/network-firewall/NetworkFirewallClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-network-firewall/source/NetworkFirewallClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-network-security-manager/include/aws/network-security-manager/NetworkSecurityManagerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-network-security-manager/source/NetworkSecurityManagerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/include/aws/networkflowmonitor/NetworkFlowMonitorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-networkflowmonitor/source/NetworkFlowMonitorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-networkmanager/include/aws/networkmanager/NetworkManagerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-networkmanager/source/NetworkManagerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-networkmonitor/include/aws/networkmonitor/NetworkMonitorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-networkmonitor/source/NetworkMonitorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-notifications/include/aws/notifications/NotificationsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-notifications/source/NotificationsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-notificationscontacts/include/aws/notificationscontacts/NotificationsContactsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-notificationscontacts/source/NotificationsContactsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-nova-act/include/aws/nova-act/NovaActClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-nova-act/source/NovaActClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-oam/include/aws/oam/OAMClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-oam/source/OAMClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-observabilityadmin/include/aws/observabilityadmin/ObservabilityAdminClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-observabilityadmin/source/ObservabilityAdminClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-odb/include/aws/odb/OdbClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-odb/source/OdbClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-omics/include/aws/omics/OmicsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-omics/source/OmicsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearch/include/aws/opensearch/OpenSearchServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-opensearch/source/OpenSearchServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-opensearchserverless/include/aws/opensearchserverless/OpenSearchServerlessClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-opensearchserverless/source/OpenSearchServerlessClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-organizations/include/aws/organizations/OrganizationsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-organizations/source/OrganizationsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-osis/include/aws/osis/OSISClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-osis/source/OSISClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-outposts/include/aws/outposts/OutpostsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-outposts/source/OutpostsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-partnercentral-account/include/aws/partnercentral-account/PartnerCentralAccountClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-partnercentral-account/source/PartnerCentralAccountClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-partnercentral-benefits/include/aws/partnercentral-benefits/PartnerCentralBenefitsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-partnercentral-benefits/source/PartnerCentralBenefitsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-partnercentral-channel/include/aws/partnercentral-channel/PartnerCentralChannelClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-partnercentral-channel/source/PartnerCentralChannelClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/include/aws/partnercentral-revenue-measurement/PartnerCentralRevenueMeasurementClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-partnercentral-revenue-measurement/source/PartnerCentralRevenueMeasurementClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-partnercentral-selling/include/aws/partnercentral-selling/PartnerCentralSellingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-partnercentral-selling/source/PartnerCentralSellingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-payment-cryptography-data/include/aws/payment-cryptography-data/PaymentCryptographyDataClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-payment-cryptography-data/source/PaymentCryptographyDataClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-payment-cryptography/include/aws/payment-cryptography/PaymentCryptographyClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-payment-cryptography/source/PaymentCryptographyClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pca-connector-ad/include/aws/pca-connector-ad/PcaConnectorAdClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pca-connector-ad/source/PcaConnectorAdClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pca-connector-scep/include/aws/pca-connector-scep/PcaConnectorScepClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pca-connector-scep/source/PcaConnectorScepClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pcs/include/aws/pcs/PCSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pcs/source/PCSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-personalize-events/include/aws/personalize-events/PersonalizeEventsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-personalize-events/source/PersonalizeEventsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-personalize-runtime/include/aws/personalize-runtime/PersonalizeRuntimeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-personalize-runtime/source/PersonalizeRuntimeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-personalize/include/aws/personalize/PersonalizeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-personalize/source/PersonalizeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pi/include/aws/pi/PIClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pi/source/PIClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pinpoint-email/include/aws/pinpoint-email/PinpointEmailClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pinpoint-email/source/PinpointEmailClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/include/aws/pinpoint-sms-voice-v2/PinpointSMSVoiceV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pinpoint-sms-voice-v2/source/PinpointSMSVoiceV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pinpoint/include/aws/pinpoint/PinpointClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pinpoint/source/PinpointClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pipes/include/aws/pipes/PipesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pipes/source/PipesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-polly/include/aws/polly/PollyClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-polly/source/PollyClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pricing-plan-manager/include/aws/pricing-plan-manager/PricingPlanManagerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pricing-plan-manager/source/PricingPlanManagerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-pricing/include/aws/pricing/PricingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-pricing/source/PricingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-proton/include/aws/proton/ProtonClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-proton/source/ProtonClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-qapps/include/aws/qapps/QAppsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-qapps/source/QAppsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-qbusiness/include/aws/qbusiness/QBusinessClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-qbusiness/source/QBusinessClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-qconnect/include/aws/qconnect/QConnectClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-qconnect/source/QConnectClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-quicksight/include/aws/quicksight/QuickSightClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-quicksight/source/QuickSightClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ram/include/aws/ram/RAMClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ram/source/RAMClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-rbin/include/aws/rbin/RecycleBinClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-rbin/source/RecycleBinClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-rds-data/include/aws/rds-data/RDSDataServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-rds-data/source/RDSDataServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-rds/include/aws/rds/RDSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-rds/source/RDSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-redshift-data/include/aws/redshift-data/RedshiftDataAPIServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-redshift-data/source/RedshiftDataAPIServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-redshift-serverless/include/aws/redshift-serverless/RedshiftServerlessClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-redshift-serverless/source/RedshiftServerlessClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-redshift/include/aws/redshift/RedshiftClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-redshift/source/RedshiftClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-rekognition/include/aws/rekognition/RekognitionClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-rekognition/source/RekognitionClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-repostspace/include/aws/repostspace/RepostspaceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-repostspace/source/RepostspaceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-resiliencehub/include/aws/resiliencehub/ResilienceHubClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-resiliencehub/source/ResilienceHubClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-resiliencehubv2/include/aws/resiliencehubv2/Resiliencehubv2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-resiliencehubv2/source/Resiliencehubv2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-resource-explorer-2/include/aws/resource-explorer-2/ResourceExplorer2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-resource-explorer-2/source/ResourceExplorer2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-resource-groups/include/aws/resource-groups/ResourceGroupsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-resource-groups/source/ResourceGroupsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-resourcegroupstaggingapi/include/aws/resourcegroupstaggingapi/ResourceGroupsTaggingAPIClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-resourcegroupstaggingapi/source/ResourceGroupsTaggingAPIClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-rolesanywhere/include/aws/rolesanywhere/RolesAnywhereClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-rolesanywhere/source/RolesAnywhereClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-route53-recovery-cluster/include/aws/route53-recovery-cluster/Route53RecoveryClusterClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-route53-recovery-cluster/source/Route53RecoveryClusterClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-route53-recovery-control-config/include/aws/route53-recovery-control-config/Route53RecoveryControlConfigClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-route53-recovery-control-config/source/Route53RecoveryControlConfigClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-route53-recovery-readiness/include/aws/route53-recovery-readiness/Route53RecoveryReadinessClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-route53-recovery-readiness/source/Route53RecoveryReadinessClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-route53/include/aws/route53/Route53ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-route53/source/Route53ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-route53domains/include/aws/route53domains/Route53DomainsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-route53domains/source/Route53DomainsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-route53globalresolver/include/aws/route53globalresolver/Route53GlobalResolverClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-route53globalresolver/source/Route53GlobalResolverClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-route53profiles/include/aws/route53profiles/Route53ProfilesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-route53profiles/source/Route53ProfilesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-route53resolver/include/aws/route53resolver/Route53ResolverClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-route53resolver/source/Route53ResolverClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-rtbfabric/include/aws/rtbfabric/RTBFabricClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-rtbfabric/source/RTBFabricClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-rum/include/aws/rum/CloudWatchRUMClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-rum/source/CloudWatchRUMClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-s3files/include/aws/s3files/S3FilesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-s3files/source/S3FilesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-s3outposts/include/aws/s3outposts/S3OutpostsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-s3outposts/source/S3OutpostsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-s3tables/include/aws/s3tables/S3TablesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-s3tables/source/S3TablesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/include/aws/sagemaker-a2i-runtime/AugmentedAIRuntimeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-a2i-runtime/source/AugmentedAIRuntimeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-edge/include/aws/sagemaker-edge/SagemakerEdgeManagerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-edge/source/SagemakerEdgeManagerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/include/aws/sagemaker-featurestore-runtime/SageMakerFeatureStoreRuntimeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-featurestore-runtime/source/SageMakerFeatureStoreRuntimeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-geospatial/include/aws/sagemaker-geospatial/SageMakerGeospatialClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-geospatial/source/SageMakerGeospatialClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/include/aws/sagemaker-metrics/SageMakerMetricsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-metrics/source/SageMakerMetricsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-runtime-http2/include/aws/sagemaker-runtime-http2/SageMakerRuntimeHTTP2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-runtime-http2/source/SageMakerRuntimeHTTP2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker-runtime/include/aws/sagemaker-runtime/SageMakerRuntimeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker-runtime/source/SageMakerRuntimeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemaker/include/aws/sagemaker/SageMakerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemaker/source/SageMakerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemakerjobruntime/include/aws/sagemakerjobruntime/SagemakerJobRuntimeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemakerjobruntime/source/SagemakerJobRuntimeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/include/aws/sagemakertrainingsessionruntime/SageMakerTrainingSessionRuntimeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sagemakertrainingsessionruntime/source/SageMakerTrainingSessionRuntimeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-savingsplans/include/aws/savingsplans/SavingsPlansClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-savingsplans/source/SavingsPlansClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-scheduler/include/aws/scheduler/SchedulerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-scheduler/source/SchedulerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-schemas/include/aws/schemas/SchemasClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-schemas/source/SchemasClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sdb/include/aws/sdb/SimpleDBClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sdb/source/SimpleDBClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-secretsmanager/include/aws/secretsmanager/SecretsManagerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-secretsmanager/source/SecretsManagerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-security-ir/include/aws/security-ir/SecurityIRClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-security-ir/source/SecurityIRClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-securityagent/include/aws/securityagent/SecurityAgentClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-securityagent/source/SecurityAgentClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-securityhub/include/aws/securityhub/SecurityHubClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-securityhub/source/SecurityHubClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-securitylake/include/aws/securitylake/SecurityLakeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-securitylake/source/SecurityLakeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-serverlessrepo/include/aws/serverlessrepo/ServerlessApplicationRepositoryClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-serverlessrepo/source/ServerlessApplicationRepositoryClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-service-quotas/include/aws/service-quotas/ServiceQuotasClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-service-quotas/source/ServiceQuotasClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-servicecatalog-appregistry/include/aws/servicecatalog-appregistry/AppRegistryClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-servicecatalog-appregistry/source/AppRegistryClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-servicecatalog/include/aws/servicecatalog/ServiceCatalogClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-servicecatalog/source/ServiceCatalogClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-servicediscovery/include/aws/servicediscovery/ServiceDiscoveryClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-servicediscovery/source/ServiceDiscoveryClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sesv2/include/aws/sesv2/SESV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sesv2/source/SESV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-shield/include/aws/shield/ShieldClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-shield/source/ShieldClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-signer-data/include/aws/signer-data/SignerDataClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-signer-data/source/SignerDataClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-signer/include/aws/signer/SignerClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-signer/source/SignerClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-signin/include/aws/signin/SigninClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-signin/source/SigninClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-simpledbv2/include/aws/simpledbv2/SimpleDBv2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-simpledbv2/source/SimpleDBv2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sms-voice/include/aws/sms-voice/PinpointSMSVoiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sms-voice/source/PinpointSMSVoiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-snow-device-management/include/aws/snow-device-management/SnowDeviceManagementClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-snow-device-management/source/SnowDeviceManagementClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-snowball/include/aws/snowball/SnowballClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-snowball/source/SnowballClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sns/include/aws/sns/SNSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sns/source/SNSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-socialmessaging/include/aws/socialmessaging/SocialMessagingClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-socialmessaging/source/SocialMessagingClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sqs/include/aws/sqs/SQSClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sqs/source/SQSClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ssm-contacts/include/aws/ssm-contacts/SSMContactsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ssm-contacts/source/SSMContactsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ssm-guiconnect/include/aws/ssm-guiconnect/SSMGuiConnectClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ssm-guiconnect/source/SSMGuiConnectClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ssm-incidents/include/aws/ssm-incidents/SSMIncidentsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ssm-incidents/source/SSMIncidentsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ssm-quicksetup/include/aws/ssm-quicksetup/SSMQuickSetupClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ssm-quicksetup/source/SSMQuickSetupClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ssm-sap/include/aws/ssm-sap/SsmSapClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ssm-sap/source/SsmSapClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-ssm/include/aws/ssm/SSMClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-ssm/source/SSMClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sso-admin/include/aws/sso-admin/SSOAdminClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sso-admin/source/SSOAdminClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sso-oidc/include/aws/sso-oidc/SSOOIDCClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sso-oidc/source/SSOOIDCClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sso/include/aws/sso/SSOClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sso/source/SSOClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-states/include/aws/states/SFNClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-states/source/SFNClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-storagegateway/include/aws/storagegateway/StorageGatewayClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-storagegateway/source/StorageGatewayClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-supplychain/include/aws/supplychain/SupplyChainClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-supplychain/source/SupplyChainClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-support-app/include/aws/support-app/SupportAppClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-support-app/source/SupportAppClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-support/include/aws/support/SupportClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-support/source/SupportClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-supportauthz/include/aws/supportauthz/SupportAuthZClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-supportauthz/source/SupportAuthZClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-sustainability/include/aws/sustainability/SustainabilityClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-sustainability/source/SustainabilityClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-swf/include/aws/swf/SWFClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-swf/source/SWFClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-synthetics/include/aws/synthetics/SyntheticsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-synthetics/source/SyntheticsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-taxsettings/include/aws/taxsettings/TaxSettingsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-taxsettings/source/TaxSettingsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-textract/include/aws/textract/TextractClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-textract/source/TextractClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-timestream-influxdb/include/aws/timestream-influxdb/TimestreamInfluxDBClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-timestream-influxdb/source/TimestreamInfluxDBClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-transcribe/include/aws/transcribe/TranscribeServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-transcribe/source/TranscribeServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-transcribestreaming/include/aws/transcribestreaming/TranscribeStreamingServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-transcribestreaming/source/TranscribeStreamingServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-translate/include/aws/translate/TranslateClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-translate/source/TranslateClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-trustedadvisor/include/aws/trustedadvisor/TrustedAdvisorClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-trustedadvisor/source/TrustedAdvisorClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-uxc/include/aws/uxc/UxcClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-uxc/source/UxcClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-verifiedpermissions/include/aws/verifiedpermissions/VerifiedPermissionsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-verifiedpermissions/source/VerifiedPermissionsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-voice-id/include/aws/voice-id/VoiceIDClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-voice-id/source/VoiceIDClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/include/aws/vpc-lattice/VPCLatticeClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-vpc-lattice/source/VPCLatticeClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-waf-regional/include/aws/waf-regional/WAFRegionalClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-waf-regional/source/WAFRegionalClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-waf/include/aws/waf/WAFClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-waf/source/WAFClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-wafv2/include/aws/wafv2/WAFV2ClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-wafv2/source/WAFV2ClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-wellarchitected/include/aws/wellarchitected/WellArchitectedClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-wellarchitected/source/WellArchitectedClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-wickr/include/aws/wickr/WickrClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-wickr/source/WickrClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-wisdom/include/aws/wisdom/ConnectWisdomServiceClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-wisdom/source/ConnectWisdomServiceClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-workdocs/include/aws/workdocs/WorkDocsClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-workdocs/source/WorkDocsClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-workmail/include/aws/workmail/WorkMailClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-workmail/source/WorkMailClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-workmailmessageflow/include/aws/workmailmessageflow/WorkMailMessageFlowClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-workmailmessageflow/source/WorkMailMessageFlowClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/include/aws/workspaces-instances/WorkspacesInstancesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-instances/source/WorkspacesInstancesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-thin-client/include/aws/workspaces-thin-client/WorkSpacesThinClientClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-thin-client/source/WorkSpacesThinClientClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces-web/include/aws/workspaces-web/WorkSpacesWebClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-workspaces-web/source/WorkSpacesWebClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-workspaces/include/aws/workspaces/WorkSpacesClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-workspaces/source/WorkSpacesClientConfiguration.cpp create mode 100644 generated/src/aws-cpp-sdk-xray/include/aws/xray/XRayClientConfiguration.h create mode 100644 generated/src/aws-cpp-sdk-xray/source/XRayClientConfiguration.cpp 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 20799a2dd3c5..2b4e0db33a29 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; } @@ -150,12 +115,7 @@ void MigrationHubClient::init(const MigrationHub::MigrationHubClientConfiguratio } 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 028223ac677d..61a50bf331fd 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; } @@ -168,12 +133,7 @@ void AccessAnalyzerClient::init(const AccessAnalyzer::AccessAnalyzerClientConfig } 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 1d2b769c23b2..d16e1e3489ca 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; } @@ -140,12 +105,7 @@ void AccountAccessClient::init(const AccountAccess::AccountAccessClientConfigura } 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 29b639930431..13633025f7a2 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; } @@ -146,12 +111,7 @@ void AccountClient::init(const Account::AccountClientConfiguration& config) { } 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 c19fad9c71ee..4bdb2d4c45a0 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; } @@ -151,12 +116,7 @@ void ACMPCAClient::init(const ACMPCA::ACMPCAClientConfiguration& config) { } 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 4238559d2da0..87ad2455932d 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; } @@ -166,12 +131,7 @@ void ACMClient::init(const ACM::ACMClientConfiguration& config) { } 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 a07f3e000f37..41f575b3a171 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() { @@ -152,12 +116,7 @@ void AgentRegistryControlClient::init(const AgentRegistryControl::AgentRegistryC } 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 21642e3a4490..fcd7b95cf1c7 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; } @@ -132,12 +97,7 @@ void AgentRegistryClient::init(const AgentRegistry::AgentRegistryClientConfigura } 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 6ee7dc97dd8b..a3515abbf29f 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; } @@ -139,12 +104,7 @@ void AIOpsClient::init(const AIOps::AIOpsClientConfiguration& config) { } 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 4bf9f7ce49fc..cad1a8335398 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; } @@ -177,12 +141,7 @@ void PrometheusServiceClient::init(const PrometheusService::PrometheusServiceCli } 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 257043b54403..405adfa50371 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; } @@ -165,12 +130,7 @@ void AmplifyClient::init(const Amplify::AmplifyClientConfiguration& config) { } 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 69ace8048fd3..ad9d2b71f5bb 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; } @@ -160,12 +125,7 @@ void AmplifyBackendClient::init(const AmplifyBackend::AmplifyBackendClientConfig } 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 1cc9ac8d1853..934c4848bbe5 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; } @@ -161,12 +125,7 @@ void AmplifyUIBuilderClient::init(const AmplifyUIBuilder::AmplifyUIBuilderClient } 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 c2d162e35735..77419d762299 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; } @@ -256,12 +219,7 @@ void APIGatewayClient::init(const APIGateway::APIGatewayClientConfiguration& con } 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 870bb1f3790e..7f0e0f01fd28 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() { @@ -144,12 +106,7 @@ void ApiGatewayManagementApiClient::init(const ApiGatewayManagementApi::ApiGatew } 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 659763731c56..82ae4c2c12b9 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; } @@ -232,12 +197,7 @@ void ApiGatewayV2Client::init(const ApiGatewayV2::ApiGatewayV2ClientConfiguratio } 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 7ed1e7043395..1fa910b5006b 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; } @@ -187,12 +150,7 @@ void AppConfigClient::init(const AppConfig::AppConfigClientConfiguration& config } 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 a19544b78980..4c47ede2bffc 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; } @@ -131,12 +96,7 @@ void AppConfigDataClient::init(const AppConfigData::AppConfigDataClientConfigura } 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 316ff178d024..38f17265f7a7 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; } @@ -154,12 +119,7 @@ void AppFabricClient::init(const AppFabric::AppFabricClientConfiguration& config } 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 3595780147fa..e5eb78e23aa1 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; } @@ -153,12 +118,7 @@ void AppflowClient::init(const Appflow::AppflowClientConfiguration& config) { } 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 fcdfded2d074..6d947ab17abe 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() { @@ -160,12 +124,7 @@ void AppIntegrationsServiceClient::init(const AppIntegrationsService::AppIntegra } 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 9107f954a7b9..57d66f4e4079 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() { @@ -151,12 +115,7 @@ void ApplicationAutoScalingClient::init(const ApplicationAutoScaling::Applicatio } 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 500da4c9b766..d9305e5c9808 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; } @@ -166,12 +130,7 @@ void ApplicationInsightsClient::init(const ApplicationInsights::ApplicationInsig } 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 4ca79c2d9aba..0c81c7a73915 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; } @@ -163,12 +127,7 @@ void ApplicationSignalsClient::init(const ApplicationSignals::ApplicationSignals } 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 df3672fd466b..4ef2afe637de 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() { @@ -143,12 +107,7 @@ void ApplicationCostProfilerClient::init(const ApplicationCostProfiler::Applicat } 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 72f5dc17a8ed..b6035b916430 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; } @@ -166,12 +131,7 @@ void AppMeshClient::init(const AppMesh::AppMeshClientConfiguration& config) { } 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 3caed80f2c23..7f4e67dc0936 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; } @@ -165,12 +130,7 @@ void AppRunnerClient::init(const AppRunner::AppRunnerClientConfiguration& config } 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 0f66087f45e8..b10a07e7a2f5 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; } @@ -217,12 +182,7 @@ void AppStreamClient::init(const AppStream::AppStreamClientConfiguration& config } 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 3634ee943d0e..aeaeab7dbb65 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; } @@ -202,12 +167,7 @@ void AppSyncClient::init(const AppSync::AppSyncClientConfiguration& config) { } 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 01d639654962..90543852ae77 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; } @@ -154,12 +119,7 @@ void ARCRegionswitchClient::init(const ARCRegionswitch::ARCRegionswitchClientCon } 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 dd9fb53906d6..38171ea56de2 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; } @@ -144,12 +109,7 @@ void ARCZonalShiftClient::init(const ARCZonalShift::ARCZonalShiftClientConfigura } 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 fa8c2c373247..279cdbb10cbb 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; } @@ -145,12 +110,7 @@ void ArtifactClient::init(const Artifact::ArtifactClientConfiguration& config) { } 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 987c0e3c50b6..c16dd2946828 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; } @@ -198,12 +163,7 @@ void AthenaClient::init(const Athena::AthenaClientConfiguration& config) { } 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 4f82f5cc0038..ce0b28d7b2af 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; } @@ -191,12 +156,7 @@ void AuditManagerClient::init(const AuditManager::AuditManagerClientConfiguratio } 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 7a7f96c11cd6..e8abb26449fd 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; } @@ -139,12 +103,7 @@ void AutoScalingPlansClient::init(const AutoScalingPlans::AutoScalingPlansClient } 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 cc96c65c0a67..fe2399903ec1 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; } @@ -196,12 +161,7 @@ void AutoScalingClient::init(const AutoScaling::AutoScalingClientConfiguration& } 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 16df937b06ea..8fde87a7d7c6 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; } @@ -199,12 +164,7 @@ void TransferClient::init(const Transfer::TransferClientConfiguration& config) { } 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 95c27c4e4753..56a4e542af98 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; } @@ -156,12 +121,7 @@ void B2BIClient::init(const B2BI::B2BIClientConfiguration& config) { } 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 2c605117dea7..536dd3c242c6 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; } @@ -154,12 +119,7 @@ void BackupGatewayClient::init(const BackupGateway::BackupGatewayClientConfigura } 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 82096897bfe2..cfe26c9b541b 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; } @@ -243,12 +208,7 @@ void BackupClient::init(const Backup::BackupClientConfiguration& config) { } 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 1d59dda8a407..4d988404b435 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; } @@ -141,12 +106,7 @@ void BackupSearchClient::init(const BackupSearch::BackupSearchClientConfiguratio } 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 f232d9a30e07..ef59a3634726 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; } @@ -176,12 +141,7 @@ void BatchClient::init(const Batch::BatchClientConfiguration& config) { } 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 e35969c9bbd8..d59c3de209c1 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; } @@ -144,12 +109,7 @@ void BCMDashboardsClient::init(const BCMDashboards::BCMDashboardsClientConfigura } 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 f119ea8052be..8b1f621b4163 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; } @@ -141,12 +106,7 @@ void BCMDataExportsClient::init(const BCMDataExports::BCMDataExportsClientConfig } 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 7caa2e6b42e9..941423e2a30d 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() { @@ -173,12 +137,7 @@ void BCMPricingCalculatorClient::init(const BCMPricingCalculator::BCMPricingCalc } 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 3923df05789a..40176dae8c59 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() { @@ -138,12 +102,7 @@ void BCMRecommendedActionsClient::init(const BCMRecommendedActions::BCMRecommend } 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 c74a03cdd0be..2b5991eaf94d 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() { @@ -309,12 +273,7 @@ void BedrockAgentCoreControlClient::init(const BedrockAgentCoreControl::BedrockA } 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 b7ef7ff1193e..ee06803929e5 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; } @@ -205,12 +167,7 @@ void BedrockAgentCoreClient::init(const BedrockAgentCore::BedrockAgentCoreClient } 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 81d393523900..76caf1897814 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; } @@ -160,12 +125,7 @@ void BillingClient::init(const Billing::BillingClientConfiguration& config) { } 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 ea74c4deb58e..65773e98f78d 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; } @@ -167,12 +131,7 @@ void BillingConductorClient::init(const BillingConductor::BillingConductorClient } 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 49ab29257445..7b160380ecd6 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; } @@ -145,12 +110,7 @@ void BraketClient::init(const Braket::BraketClientConfiguration& config) { } 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 29299c1d456a..b829b90c9981 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; } @@ -154,12 +119,7 @@ void BudgetsClient::init(const Budgets::BudgetsClientConfiguration& config) { } 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 06e129b947ca..aa85d2176154 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; } @@ -176,12 +141,7 @@ void CostExplorerClient::init(const CostExplorer::CostExplorerClientConfiguratio } 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 05c967bc9fc0..e6e07adbf443 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; } @@ -162,12 +127,7 @@ void ChatbotClient::init(const chatbot::ChatbotClientConfiguration& config) { } 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 1ee5edc21242..1617ab26efb3 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; } @@ -163,12 +127,7 @@ void ChimeSDKIdentityClient::init(const ChimeSDKIdentity::ChimeSDKIdentityClient } 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 26be696d1ec0..ef32229150b1 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() { @@ -168,12 +132,7 @@ void ChimeSDKMediaPipelinesClient::init(const ChimeSDKMediaPipelines::ChimeSDKMe } 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 dede70ab2ca1..e845ad9ea66b 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; } @@ -149,12 +113,7 @@ void ChimeSDKMeetingsClient::init(const ChimeSDKMeetings::ChimeSDKMeetingsClient } 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 ea443d7a3022..b57f535e0c9a 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; } @@ -184,12 +148,7 @@ void ChimeSDKMessagingClient::init(const ChimeSDKMessaging::ChimeSDKMessagingCli } 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 7ed026e88463..c2372857ef44 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; } @@ -215,12 +180,7 @@ void ChimeSDKVoiceClient::init(const ChimeSDKVoice::ChimeSDKVoiceClientConfigura } 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 75d362aa8e47..c3c2407d2fa5 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; } @@ -190,12 +155,7 @@ void ChimeClient::init(const Chime::ChimeClientConfiguration& config) { } 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 11cca8bc31ee..ba5385782f89 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; } @@ -231,12 +196,7 @@ void CleanRoomsClient::init(const CleanRooms::CleanRoomsClientConfiguration& con } 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 d6d5fc665318..0c68e6762ad2 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; } @@ -188,12 +153,7 @@ void CleanRoomsMLClient::init(const CleanRoomsML::CleanRoomsMLClientConfiguratio } 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 5c462a9bc96e..6a7bfe2936ee 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; } @@ -141,12 +106,7 @@ void Cloud9Client::init(const Cloud9::Cloud9ClientConfiguration& config) { } 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 c5baeca41a8f..3b7b6695ada4 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; } @@ -140,12 +105,7 @@ void CloudControlApiClient::init(const CloudControlApi::CloudControlApiClientCon } 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 2160c7941ab6..5a68e81e5d83 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; } @@ -195,12 +160,7 @@ void CloudDirectoryClient::init(const CloudDirectory::CloudDirectoryClientConfig } 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 737f51c9c428..db636ac95695 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; } @@ -219,12 +184,7 @@ void CloudFormationClient::init(const CloudFormation::CloudFormationClientConfig } 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 d1e181edf6c1..d5195bf9764b 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() { @@ -147,12 +109,7 @@ void CloudFrontKeyValueStoreClient::init(const CloudFrontKeyValueStore::CloudFro } 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 519755bc9d60..e9135d466913 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; } @@ -295,12 +260,7 @@ void CloudFrontClient::init(const CloudFront::CloudFrontClientConfiguration& con } 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 e5154be6f295..dc227db6b4ab 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; } @@ -128,12 +93,7 @@ void CloudHSMClient::init(const CloudHSM::CloudHSMClientConfiguration& config) { } 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 dacaeff923d6..1dba10b38a61 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; } @@ -146,12 +111,7 @@ void CloudHSMV2Client::init(const CloudHSMV2::CloudHSMV2ClientConfiguration& con } 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 bf227aec7b7d..d2a3081a8fa9 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; } @@ -154,12 +119,7 @@ void CloudSearchClient::init(const CloudSearch::CloudSearchClientConfiguration& } 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 520b953898fd..4d71c3e1a88a 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; } @@ -140,12 +102,7 @@ void CloudSearchDomainClient::init(const CloudSearchDomain::CloudSearchDomainCli } 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 7cf280d1d185..44abfe87a75c 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; } @@ -130,12 +95,7 @@ void CloudTrailDataClient::init(const CloudTrailData::CloudTrailDataClientConfig } 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 e45e8148772a..54b2ce455265 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; } @@ -188,12 +153,7 @@ void CloudTrailClient::init(const CloudTrail::CloudTrailClientConfiguration& con } 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 e74b162ffe6f..dba67dc9da05 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; } @@ -190,12 +155,7 @@ void CloudWatchOmniClient::init(const CloudWatchOmni::CloudWatchOmniClientConfig } 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 7cbe68f39e42..ad8c6a27aed7 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; } @@ -181,12 +144,7 @@ void CodeArtifactClient::init(const CodeArtifact::CodeArtifactClientConfiguratio } 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 febceaaa0ff9..e0489aa6e33e 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; } @@ -187,12 +152,7 @@ void CodeBuildClient::init(const CodeBuild::CodeBuildClientConfiguration& config } 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 bf06c85215e8..c15e0342e3d2 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; } @@ -118,12 +107,7 @@ void CodeCatalystClient::init(const CodeCatalyst::CodeCatalystClientConfiguratio } 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 ca96d5067cb5..a6847cbf13ad 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; } @@ -208,12 +173,7 @@ void CodeCommitClient::init(const CodeCommit::CodeCommitClientConfiguration& con } 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 2211ed8e6906..69b6e165a762 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; } @@ -159,12 +124,7 @@ void CodeConnectionsClient::init(const CodeConnections::CodeConnectionsClientCon } 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 25a8ff4fe19e..f96c804eee5c 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; } @@ -171,12 +136,7 @@ void CodeDeployClient::init(const CodeDeploy::CodeDeployClientConfiguration& con } 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 0e5f1caba4c6..68dad6585c9e 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; } @@ -147,12 +111,7 @@ void CodeGuruReviewerClient::init(const CodeGuruReviewer::CodeGuruReviewerClient } 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 578d7b05bb82..68852c54234d 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; } @@ -146,12 +110,7 @@ void CodeGuruSecurityClient::init(const CodeGuruSecurity::CodeGuruSecurityClient } 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 1a616aff86a6..85ac8d51862d 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; } @@ -160,12 +122,7 @@ void CodeGuruProfilerClient::init(const CodeGuruProfiler::CodeGuruProfilerClient } 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 668e5caa9aa1..4846096597f8 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; } @@ -173,12 +138,7 @@ void CodePipelineClient::init(const CodePipeline::CodePipelineClientConfiguratio } 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 6bd9df74602c..d13b87fa7700 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; } @@ -160,12 +124,7 @@ void CodeStarconnectionsClient::init(const CodeStarconnections::CodeStarconnecti } 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 0682e314e6f6..f2081527e3ab 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() { @@ -150,12 +114,7 @@ void CodeStarNotificationsClient::init(const CodeStarNotifications::CodeStarNoti } 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 b568ddc4670a..6b4eb0e2f32c 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; } @@ -155,12 +120,7 @@ void CognitoIdentityClient::init(const CognitoIdentity::CognitoIdentityClientCon } 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 11942df3c9b6..6f7e85db0231 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() { @@ -269,12 +233,7 @@ void CognitoIdentityProviderClient::init(const CognitoIdentityProvider::CognitoI } 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 7bfd26d15fd6..b51cc56f77ad 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; } @@ -145,12 +110,7 @@ void CognitoSyncClient::init(const CognitoSync::CognitoSyncClientConfiguration& } 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 c3072fe46a06..14c87cdf457f 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; } @@ -213,12 +178,7 @@ void ComprehendClient::init(const Comprehend::ComprehendClientConfiguration& con } 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 08c9a524e633..d8e0dee5c9ad 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; } @@ -158,12 +122,7 @@ void ComprehendMedicalClient::init(const ComprehendMedical::ComprehendMedicalCli } 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 b5fa9ff70dc1..286e5e330afe 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() { @@ -160,12 +124,7 @@ void ComputeOptimizerAutomationClient::init(const ComputeOptimizerAutomation::Co } 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 d33da968b51d..17c0e3038798 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; } @@ -161,12 +125,7 @@ void ComputeOptimizerClient::init(const ComputeOptimizer::ComputeOptimizerClient } 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 16a11b2744a9..ab75f0f2e01e 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; } @@ -231,12 +196,7 @@ void ConfigServiceClient::init(const ConfigService::ConfigServiceClientConfigura } 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 303ebc19518d..a6d028da7bdc 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; } @@ -134,12 +98,7 @@ void ConnectContactLensClient::init(const ConnectContactLens::ConnectContactLens } 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 72b85642c116..26605cd5c287 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; } @@ -228,12 +193,7 @@ void ConnectClient::init(const Connect::ConnectClientConfiguration& config) { } 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 397d8bc8120d..f9b168a754db 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; } @@ -155,12 +119,7 @@ void ConnectCampaignsClient::init(const ConnectCampaigns::ConnectCampaignsClient } 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 6675f31883a2..82c89017faad 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; } @@ -170,12 +134,7 @@ void ConnectCampaignsV2Client::init(const ConnectCampaignsV2::ConnectCampaignsV2 } 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 da0e2073d74f..fe0de7fcbfb1 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; } @@ -172,12 +137,7 @@ void ConnectCasesClient::init(const ConnectCases::ConnectCasesClientConfiguratio } 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 55da9c027e81..f47edae986ee 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; } @@ -152,12 +115,7 @@ void ConnectHealthClient::init(const ConnectHealth::ConnectHealthClientConfigura } 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 899add26a2e0..3fac1212c69d 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; } @@ -144,12 +108,7 @@ void ConnectParticipantClient::init(const ConnectParticipant::ConnectParticipant } 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 2db209f3090e..39e19e2216eb 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; } @@ -161,12 +126,7 @@ void ContinuumClient::init(const Continuum::ContinuumClientConfiguration& config } 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 5592f7ea9bed..ae50a9509c12 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; } @@ -135,12 +100,7 @@ void ControlCatalogClient::init(const ControlCatalog::ControlCatalogClientConfig } 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 c18587dd7e8c..be2a978bd9da 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; } @@ -157,12 +122,7 @@ void ControlTowerClient::init(const ControlTower::ControlTowerClientConfiguratio } 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 96dca8963984..d7efee637907 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; } @@ -141,12 +105,7 @@ void CostOptimizationHubClient::init(const CostOptimizationHub::CostOptimization } 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 7e381b39397c..8c0295ca29ff 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() { @@ -144,12 +108,7 @@ void CostandUsageReportServiceClient::init(const CostandUsageReportService::Cost } 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 1e55b4e95c1e..2f52f8c7a5e5 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; } @@ -248,12 +212,7 @@ void CustomerProfilesClient::init(const CustomerProfiles::CustomerProfilesClient } 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 5569fa4ec585..86f4eda28f3b 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; } @@ -173,12 +138,7 @@ void GlueDataBrewClient::init(const GlueDataBrew::GlueDataBrewClientConfiguratio } 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 d4272b4796af..65c447558515 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; } @@ -170,12 +133,7 @@ void DataExchangeClient::init(const DataExchange::DataExchangeClientConfiguratio } 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 7d7221d1e165..1f720dd25af4 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; } @@ -148,12 +113,7 @@ void DataPipelineClient::init(const DataPipeline::DataPipelineClientConfiguratio } 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 8a7074fd5146..56156802f8b6 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; } @@ -181,12 +146,7 @@ void DataSyncClient::init(const DataSync::DataSyncClientConfiguration& config) { } 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 81aeb4605440..eb6fa5cf94a4 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; } @@ -327,12 +290,7 @@ void DataZoneClient::init(const DataZone::DataZoneClientConfiguration& config) { } 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 9e7974ab8cf3..7c26d02a9ffb 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; } @@ -147,12 +112,7 @@ void DAXClient::init(const DAX::DAXClientConfiguration& config) { } 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 6b7b6cfaba1e..450ce7c5e9af 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; } @@ -255,12 +220,7 @@ void DeadlineClient::init(const deadline::DeadlineClientConfiguration& config) { } 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 7fb933336a80..18c8a6751aad 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; } @@ -157,12 +122,7 @@ void DetectiveClient::init(const Detective::DetectiveClientConfiguration& config } 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 83afb92d74c7..48737fb762b7 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; } @@ -205,12 +170,7 @@ void DeviceFarmClient::init(const DeviceFarm::DeviceFarmClientConfiguration& con } 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 40d68ba7844c..7fc7dab03eb7 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; } @@ -192,12 +157,7 @@ void DevOpsAgentClient::init(const DevOpsAgent::DevOpsAgentClientConfiguration& } 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 51c5d35ae070..316bc3038c25 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; } @@ -159,12 +124,7 @@ void DevOpsGuruClient::init(const DevOpsGuru::DevOpsGuruClientConfiguration& con } 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 d8138211d56b..f6c7d286afdf 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; } @@ -198,12 +163,7 @@ void DirectConnectClient::init(const DirectConnect::DirectConnectClientConfigura } 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 1bdc94bce943..71e85f663fc4 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() { @@ -154,12 +118,7 @@ void DirectoryServiceDataClient::init(const DirectoryServiceData::DirectoryServi } 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 57da899d9046..bdc1e8e6fdd9 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() { @@ -163,12 +127,7 @@ void ApplicationDiscoveryServiceClient::init(const ApplicationDiscoveryService:: } 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 33b3d921935e..0244a77baacf 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; } @@ -134,12 +99,7 @@ void DLMClient::init(const DLM::DLMClientConfiguration& config) { } 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 8b0b212b78f1..a30ec86e22cf 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() { @@ -256,12 +220,7 @@ void DatabaseMigrationServiceClient::init(const DatabaseMigrationService::Databa } 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 e9026ac38644..29907474bebe 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; } @@ -148,12 +113,7 @@ void DocDBElasticClient::init(const DocDBElastic::DocDBElasticClientConfiguratio } 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 e520a7ceda63..ec2d69abbec1 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; } @@ -184,12 +149,7 @@ void DocDBClient::init(const DocDB::DocDBClientConfiguration& config) { } 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 fbfa090a8cb9..31bc6a331e0e 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; } @@ -195,12 +160,7 @@ void DrsClient::init(const drs::DrsClientConfiguration& config) { } 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 e547a1d4bdb9..53f9bbd00921 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; } @@ -213,12 +177,7 @@ void DirectoryServiceClient::init(const DirectoryService::DirectoryServiceClient } 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 1fafd5a681a3..f2aa49d3130b 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; } @@ -142,12 +107,7 @@ void DSQLClient::init(const DSQL::DSQLClientConfiguration& config) { } 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-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 f38680b93bd4..c66af22aec26 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; } @@ -136,12 +101,7 @@ void DynamoDBStreamsClient::init(const DynamoDBStreams::DynamoDBStreamsClientCon } 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 89c6078ca25d..353d8d386b7f 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; } @@ -136,12 +99,7 @@ void EBSClient::init(const EBS::EBSClientConfiguration& config) { } 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 cfeaf4ec2125..f592f03fafde 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; } @@ -135,12 +99,7 @@ void EC2InstanceConnectClient::init(const EC2InstanceConnect::EC2InstanceConnect } 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 22d37f8c93ad..6e2621f82c44 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; } @@ -226,12 +191,7 @@ void EC2Client::init(const EC2::EC2ClientConfiguration& config) { } 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 bbd2020074dd..3d030eee4979 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; } @@ -151,12 +116,7 @@ void ECRPublicClient::init(const ECRPublic::ECRPublicClientConfiguration& config } 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 c0dd59cf1d91..44c548cd7641 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; } @@ -188,12 +153,7 @@ void ECRClient::init(const ECR::ECRClientConfiguration& config) { } 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 1fb6e5d9419a..b40670581421 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; } @@ -214,12 +179,7 @@ void ECSClient::init(const ECS::ECSClientConfiguration& config) { } 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 9564ece80fb6..28d081cc4f2e 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; } @@ -129,12 +94,7 @@ void EKSAuthClient::init(const EKSAuth::EKSAuthClientConfiguration& config) { } 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 e8bbcf88be17..4d0f61ad1ec7 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; } @@ -196,12 +161,7 @@ void EKSClient::init(const EKS::EKSClientConfiguration& config) { } 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 7f3db57bf6a9..df7ad3dfbabf 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; } @@ -205,12 +170,7 @@ void ElastiCacheClient::init(const ElastiCache::ElastiCacheClientConfiguration& } 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 1b0974e05e8e..bf5c53e94c55 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; } @@ -180,12 +144,7 @@ void ElasticBeanstalkClient::init(const ElasticBeanstalk::ElasticBeanstalkClient } 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 a105b76151d1..3fca384938ad 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; } @@ -154,12 +119,7 @@ void EFSClient::init(const EFS::EFSClientConfiguration& config) { } 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 f1077f8a14f7..25821a632ae3 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() { @@ -166,12 +130,7 @@ void ElasticLoadBalancingClient::init(const ElasticLoadBalancing::ElasticLoadBal } 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 440f56dfffdb..5249bf4eb73b 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() { @@ -188,12 +152,7 @@ void ElasticLoadBalancingv2Client::init(const ElasticLoadBalancingv2::ElasticLoa } 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 ab55e68cea56..541d4420a1a4 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; } @@ -190,12 +155,7 @@ void EMRClient::init(const EMR::EMRClientConfiguration& config) { } 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 b6c0091ce3ab..f3358f813242 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; } @@ -157,12 +121,7 @@ void ElementalInferenceClient::init(const ElementalInference::ElementalInference } 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 b503b15c6ae0..83a1090e16d8 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; } @@ -197,12 +162,7 @@ void SESClient::init(const SES::SESClientConfiguration& config) { } 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 e507b8b7eb05..ad9c8202aab0 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; } @@ -154,12 +119,7 @@ void EMRContainersClient::init(const EMRContainers::EMRContainersClientConfigura } 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 1760116e6c41..198196f7ae5f 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; } @@ -151,12 +116,7 @@ void EMRServerlessClient::init(const EMRServerless::EMRServerlessClientConfigura } 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 9031f2be6568..e7ea79cd261a 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; } @@ -160,12 +124,7 @@ void EndUserMessagingClient::init(const EndUserMessaging::EndUserMessagingClient } 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 f8b2d3d1ce22..feb59a55274e 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; } @@ -171,12 +135,7 @@ void EntityResolutionClient::init(const EntityResolution::EntityResolutionClient } 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 5e302448167a..f5d0363f09bc 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() { @@ -188,12 +152,7 @@ void ElasticsearchServiceClient::init(const ElasticsearchService::ElasticsearchS } 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 b9868911cde3..c22b45ce85d0 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; } @@ -189,12 +152,7 @@ void EventBridgeClient::init(const EventBridge::EventBridgeClientConfiguration& } 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 7f75392ecc2e..6a916fc45848 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; } @@ -154,12 +119,7 @@ void EventBridgeV2Client::init(const EventBridgeV2::EventBridgeV2ClientConfigura } 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 50f7d54b09db..836e8a7a4538 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; } @@ -184,12 +148,7 @@ void CloudWatchEventsClient::init(const CloudWatchEvents::CloudWatchEventsClient } 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 5c4339bc19f5..00a6f39e1135 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; } @@ -150,12 +115,7 @@ void EVSClient::init(const EVS::EVSClientConfiguration& config) { } 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 efbae1749802..82dcbc731e82 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; } @@ -140,12 +105,7 @@ void FirehoseClient::init(const Firehose::FirehoseClientConfiguration& config) { } 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 35f6664b237f..ec864c449e13 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; } @@ -152,12 +117,7 @@ void FISClient::init(const FIS::FISClientConfiguration& config) { } 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 9bb0176dd8c5..493965e7f15d 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; } @@ -168,12 +133,7 @@ void FMSClient::init(const FMS::FMSClientConfiguration& config) { } 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 841b1d1082be..ce16c157fbc5 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; } @@ -195,12 +160,7 @@ void ForecastServiceClient::init(const ForecastService::ForecastServiceClientCon } 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 aa3b3ac4b95a..a0d0d1acf85f 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() { @@ -139,12 +103,7 @@ void ForecastQueryServiceClient::init(const ForecastQueryService::ForecastQueryS } 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 c7348ad747dc..a78c73b84e1b 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; } @@ -202,12 +167,7 @@ void FraudDetectorClient::init(const FraudDetector::FraudDetectorClientConfigura } 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 56add38047d4..190a13a7ad90 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; } @@ -133,12 +98,7 @@ void FreeTierClient::init(const FreeTier::FreeTierClientConfiguration& config) { } 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 0841cc3db2e2..bb869cc9b9cd 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; } @@ -174,12 +139,7 @@ void FSxClient::init(const FSx::FSxClientConfiguration& config) { } 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 2e98d45577fd..52792cf1cecd 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; } @@ -248,12 +213,7 @@ void GameLiftClient::init(const GameLift::GameLiftClientConfiguration& config) { } 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 a365a8d9bc06..e63d48ac2a6d 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; } @@ -162,12 +127,7 @@ void GameLiftStreamsClient::init(const GameLiftStreams::GameLiftStreamsClientCon } 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 b58f847d824f..5c4b5c56f239 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; } @@ -133,12 +98,7 @@ void GeoMapsClient::init(const GeoMaps::GeoMapsClientConfiguration& config) { } 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 f068d5d26fd4..9171860b14c4 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; } @@ -135,12 +100,7 @@ void GeoPlacesClient::init(const GeoPlaces::GeoPlacesClientConfiguration& config } 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 e5e07dfe5b8c..8b25c76991b3 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; } @@ -133,12 +98,7 @@ void GeoRoutesClient::init(const GeoRoutes::GeoRoutesClientConfiguration& config } 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 27538c2b4033..3c98446c985d 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; } @@ -165,12 +128,7 @@ void GlacierClient::init(const Glacier::GlacierClientConfiguration& config) { } 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 f3310b111f1b..626ddcaf9d82 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; } @@ -189,12 +153,7 @@ void GlobalAcceleratorClient::init(const GlobalAccelerator::GlobalAcceleratorCli } 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 9aaca1aa9efb..0c3165299eb2 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; } @@ -226,12 +191,7 @@ void GlueClient::init(const Glue::GlueClientConfiguration& config) { } 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 d5257960c38b..c9fef6c3ab88 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; } @@ -154,12 +119,7 @@ void ManagedGrafanaClient::init(const ManagedGrafana::ManagedGrafanaClientConfig } 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 85467664153d..f474b7436051 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; } @@ -220,12 +185,7 @@ void GreengrassClient::init(const Greengrass::GreengrassClientConfiguration& con } 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 235c224baf1f..716d2f8a1fa0 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; } @@ -158,12 +123,7 @@ void GreengrassV2Client::init(const GreengrassV2::GreengrassV2ClientConfiguratio } 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 c53d00338af9..6ef3d278d019 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; } @@ -169,12 +134,7 @@ void GroundStationClient::init(const GroundStation::GroundStationClientConfigura } 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 8554927e99be..474c3c1571f3 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; } @@ -227,12 +192,7 @@ void GuardDutyClient::init(const GuardDuty::GuardDutyClientConfiguration& config } 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 5dbbec18e356..19b70d39da2d 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; } @@ -143,12 +108,7 @@ void HealthClient::init(const Health::HealthClientConfiguration& config) { } 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 00de8efac59a..7b29c83133ca 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; } @@ -155,12 +120,7 @@ void HealthLakeClient::init(const HealthLake::HealthLakeClientConfiguration& con } 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 d194d52df8ff..731eab78f429 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; } @@ -129,12 +94,7 @@ void IAMToolboxClient::init(const IAMToolbox::IAMToolboxClientConfiguration& con } 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 525f9f44623f..73699a9d9afc 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; } @@ -306,12 +271,7 @@ void IAMClient::init(const IAM::IAMClientConfiguration& config) { } 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 0a7eff5d094f..53cabf0ffd25 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; } @@ -151,12 +116,7 @@ void IdentityStoreClient::init(const IdentityStore::IdentityStoreClientConfigura } 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 80da42be7d33..29e13e4e3505 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; } @@ -206,12 +171,7 @@ void ImagebuilderClient::init(const imagebuilder::ImagebuilderClientConfiguratio } 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 196f0415095d..a7f0cc75463b 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; } @@ -135,12 +100,7 @@ void ImportExportClient::init(const ImportExport::ImportExportClientConfiguratio } 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 4d897384756b..ebbc03090705 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; } @@ -130,12 +95,7 @@ void InspectorscanClient::init(const inspectorscan::InspectorscanClientConfigura } 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 284bbea12910..814d39bee500 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; } @@ -165,12 +130,7 @@ void InspectorClient::init(const Inspector::InspectorClientConfiguration& config } 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 f9f065632ebd..35ac5c2746f7 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; } @@ -212,12 +177,7 @@ void Inspector2Client::init(const Inspector2::Inspector2ClientConfiguration& con } 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 a03c55dbca63..b7f907a05e27 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; } @@ -142,12 +107,7 @@ void InterconnectClient::init(const Interconnect::InterconnectClientConfiguratio } 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 0d2d8ac7d0d0..0728c97d818e 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; } @@ -148,12 +113,7 @@ void InternetMonitorClient::init(const InternetMonitor::InternetMonitorClientCon } 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 b26a25670acb..7b9cc0017866 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; } @@ -149,12 +114,7 @@ void InvoicingClient::init(const Invoicing::InvoicingClientConfiguration& config } 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 00c03df1f3e8..a377790445c0 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; } @@ -144,12 +107,7 @@ void IoTDataPlaneClient::init(const IoTDataPlane::IoTDataPlaneClientConfiguratio } 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 4e2630788e55..6449483799bd 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; } @@ -138,12 +102,7 @@ void IoTJobsDataPlaneClient::init(const IoTJobsDataPlane::IoTJobsDataPlaneClient } 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 6ffb8238f039..cb85074eb3d3 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() { @@ -220,12 +184,7 @@ void IoTManagedIntegrationsClient::init(const IoTManagedIntegrations::IoTManaged } 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 f99234514654..4b4c7ffccca5 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; } @@ -226,12 +191,7 @@ void IoTClient::init(const IoT::IoTClientConfiguration& config) { } 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 c3231de14169..56499208adfd 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; } @@ -147,12 +111,7 @@ void IoTDeviceAdvisorClient::init(const IoTDeviceAdvisor::IoTDeviceAdvisorClient } 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 ff3b0b989b27..41cabf43edc0 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; } @@ -186,12 +151,7 @@ void IoTFleetWiseClient::init(const IoTFleetWise::IoTFleetWiseClientConfiguratio } 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 c22ef70b4190..1c7883e2b15d 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; } @@ -141,12 +105,7 @@ void IoTSecureTunnelingClient::init(const IoTSecureTunneling::IoTSecureTunneling } 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 df07619bb825..30a1f13b7037 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; } @@ -278,12 +243,7 @@ void IoTSiteWiseClient::init(const IoTSiteWise::IoTSiteWiseClientConfiguration& } 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 714f27f1d8eb..15e1c948061c 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; } @@ -129,12 +94,7 @@ void IoTThingsGraphClient::init(const IoTThingsGraph::IoTThingsGraphClientConfig } 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 a5733fa9b4da..80c7f1bf72bf 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; } @@ -169,12 +134,7 @@ void IoTTwinMakerClient::init(const IoTTwinMaker::IoTTwinMakerClientConfiguratio } 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 b391f42b6dcc..3b65dc0a638d 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; } @@ -239,12 +202,7 @@ void IoTWirelessClient::init(const IoTWireless::IoTWirelessClientConfiguration& } 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 8ac5092afbf3..5ea5ec03fad6 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; } @@ -168,12 +133,7 @@ void IvsrealtimeClient::init(const ivsrealtime::IvsrealtimeClientConfiguration& } 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 1fd1b52ff0e4..75c48e2c9698 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; } @@ -172,12 +137,7 @@ void IVSClient::init(const IVS::IVSClientConfiguration& config) { } 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 bdfc7735defd..66b0fae386d1 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; } @@ -145,12 +110,7 @@ void IvschatClient::init(const ivschat::IvschatClientConfiguration& config) { } 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 916556a5c5c2..4c1d87bec508 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; } @@ -192,12 +157,7 @@ void KafkaClient::init(const Kafka::KafkaClientConfiguration& config) { } 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 d3c10df906d7..fe8f73ba0455 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; } @@ -150,12 +115,7 @@ void KafkaConnectClient::init(const KafkaConnect::KafkaConnectClientConfiguratio } 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 c443e66ab0e5..fd19531d14cd 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; } @@ -138,12 +103,7 @@ void KendraRankingClient::init(const KendraRanking::KendraRankingClientConfigura } 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 4901b225d5b3..c6dcb096bd85 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; } @@ -194,12 +159,7 @@ void KendraClient::init(const kendra::KendraClientConfiguration& config) { } 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 ecab8d0179e7..5d5a75faa5fc 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; } @@ -147,12 +112,7 @@ void KeyspacesClient::init(const Keyspaces::KeyspacesClientConfiguration& config } 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 c0e07ddc9683..5cafa5fc5f62 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; } @@ -137,12 +101,7 @@ void KeyspacesStreamsClient::init(const KeyspacesStreams::KeyspacesStreamsClient } 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 ded3b70e2c7e..7dab07db4e37 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() { @@ -143,12 +107,7 @@ void KinesisVideoArchivedMediaClient::init(const KinesisVideoArchivedMedia::Kine } 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 61697b833138..9e28a64c3423 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; } @@ -134,12 +98,7 @@ void KinesisVideoMediaClient::init(const KinesisVideoMedia::KinesisVideoMediaCli } 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 b1c6c5970b7b..da1c414b2bbf 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() { @@ -140,12 +104,7 @@ void KinesisVideoSignalingChannelsClient::init( } 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 b80a3b5ee4b2..f6cec1638725 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() { @@ -139,12 +103,7 @@ void KinesisVideoWebRTCStorageClient::init(const KinesisVideoWebRTCStorage::Kine } 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 4b367cd64473..f4baab85f280 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; } @@ -174,12 +139,7 @@ void KinesisClient::init(const Kinesis::KinesisClientConfiguration& config) { } 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 7fc31a1a73b4..14080af4bf27 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; } @@ -153,12 +117,7 @@ void KinesisAnalyticsClient::init(const KinesisAnalytics::KinesisAnalyticsClient } 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 af9de7976aab..915ac5d2a11a 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; } @@ -166,12 +130,7 @@ void KinesisAnalyticsV2Client::init(const KinesisAnalyticsV2::KinesisAnalyticsV2 } 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 b8e48eb087f7..085883773c20 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; } @@ -161,12 +126,7 @@ void KinesisVideoClient::init(const KinesisVideo::KinesisVideoClientConfiguratio } 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 e4619c8f4e9e..a1ca34777419 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; } @@ -182,12 +147,7 @@ void KMSClient::init(const KMS::KMSClientConfiguration& config) { } 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 e576333e4ddf..5b5d526cc65c 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; } @@ -198,12 +163,7 @@ void LakeFormationClient::init(const LakeFormation::LakeFormationClientConfigura } 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 76f0546f9a1d..12c17d1d8c94 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; } @@ -134,12 +99,7 @@ void LambdaCoreClient::init(const LambdaCore::LambdaCoreClientConfiguration& con } 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 e2bc341d52d0..4035c9b8f7f4 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; } @@ -153,12 +118,7 @@ void LambdaMicrovmsClient::init(const LambdaMicrovms::LambdaMicrovmsClientConfig } 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 34eb25eb06bc..b4f511882b8c 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; } @@ -148,12 +113,7 @@ void LambdaWebClient::init(const LambdaWeb::LambdaWebClientConfiguration& config } 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 8ce4ffb85525..b10065922355 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; } @@ -220,12 +183,7 @@ void LambdaClient::init(const Lambda::LambdaClientConfiguration& config) { } 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 15eb025d7d7f..d8ee67d7661a 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; } @@ -144,12 +109,7 @@ void LaunchWizardClient::init(const LaunchWizard::LaunchWizardClientConfiguratio } 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 871fe4ec9986..470d633e50af 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() { @@ -137,12 +101,7 @@ void LexModelBuildingServiceClient::init(const LexModelBuildingService::LexModel } 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 70880fa43ca2..d18dbb166a14 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; } @@ -142,12 +104,7 @@ void LexRuntimeServiceClient::init(const LexRuntimeService::LexRuntimeServiceCli } 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 49806473b3f9..bffa0840e009 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; } @@ -235,12 +200,7 @@ void LexModelsV2Client::init(const LexModelsV2::LexModelsV2ClientConfiguration& } 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 87262baca775..b15c8bd8d615 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; } @@ -142,12 +105,7 @@ void LexRuntimeV2Client::init(const LexRuntimeV2::LexRuntimeV2ClientConfiguratio } 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 75cf09830206..06c87d1183fd 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() { @@ -149,12 +113,7 @@ void LicenseManagerLinuxSubscriptionsClient::init( } 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 247500b45334..06e9382556c6 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() { @@ -155,12 +119,7 @@ void LicenseManagerUserSubscriptionsClient::init( } 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 e1c5461f7975..6a3f1b8fc056 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; } @@ -191,12 +156,7 @@ void LicenseManagerClient::init(const LicenseManager::LicenseManagerClientConfig } 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 ac949ba2cedf..34387665454f 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; } @@ -290,12 +255,7 @@ void LightsailClient::init(const Lightsail::LightsailClientConfiguration& config } 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 ad26e41c7282..f2ef26e7b12f 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; } @@ -196,12 +161,7 @@ void LocationServiceClient::init(const LocationService::LocationServiceClientCon } 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 dae86118741a..e8bff995b94c 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; } @@ -245,12 +210,7 @@ void CloudWatchLogsClient::init(const CloudWatchLogs::CloudWatchLogsClientConfig } 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 48bf828d440e..e6a4f22ae292 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; } @@ -182,12 +146,7 @@ void LookoutEquipmentClient::init(const LookoutEquipment::LookoutEquipmentClient } 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 81cf671b9671..3c7e89d6c9f7 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() { @@ -174,12 +138,7 @@ void MainframeModernizationClient::init(const MainframeModernization::MainframeM } 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 869407f7ae06..960200006bc0 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; } @@ -159,12 +124,7 @@ void MachineLearningClient::init(const MachineLearning::MachineLearningClientCon } 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 d02e758bedb6..6f4f86b36334 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; } @@ -209,12 +174,7 @@ void Macie2Client::init(const Macie2::Macie2ClientConfiguration& config) { } 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 d6d4c4af046a..9f65103ec18a 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; } @@ -188,12 +153,7 @@ void MailManagerClient::init(const MailManager::MailManagerClientConfiguration& } 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 b49ad77e0a3e..c1a690b98f50 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() { @@ -146,12 +110,7 @@ void ManagedBlockchainQueryClient::init(const ManagedBlockchainQuery::ManagedBlo } 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 ebda39fcf2bd..f2b0f062ec1a 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; } @@ -160,12 +124,7 @@ void ManagedBlockchainClient::init(const ManagedBlockchain::ManagedBlockchainCli } 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 4399f618d7e8..c6260631a3f3 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; } @@ -158,12 +122,7 @@ void AgreementServiceClient::init(const AgreementService::AgreementServiceClient } 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 ab12933df933..841771f26ec3 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; } @@ -148,12 +112,7 @@ void MarketplaceCatalogClient::init(const MarketplaceCatalog::MarketplaceCatalog } 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 1c1c641b2638..4ceae7048295 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() { @@ -141,12 +105,7 @@ void MarketplaceDeploymentClient::init(const MarketplaceDeployment::MarketplaceD } 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 90bc39393765..c9d4310e6bf4 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() { @@ -150,12 +112,7 @@ void MarketplaceDiscoveryClient::init(const MarketplaceDiscovery::MarketplaceDis } 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 10fa310665a7..2d26c4792682 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() { @@ -139,12 +103,7 @@ void MarketplaceEntitlementServiceClient::init( } 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 024937e894d0..d9bfcac2750d 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() { @@ -138,12 +102,7 @@ void MarketplaceReportingClient::init(const MarketplaceReporting::MarketplaceRep } 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 c83697948925..a60da06fb854 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() { @@ -138,12 +102,7 @@ void MarketplaceCommerceAnalyticsClient::init(const MarketplaceCommerceAnalytics } 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 0bb72d77dda1..d75a35c1d649 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; } @@ -225,12 +190,7 @@ void MediaConnectClient::init(const MediaConnect::MediaConnectClientConfiguratio } 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 9bdfb6e03e0c..3fac88bd5672 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; } @@ -162,12 +127,7 @@ void MediaConvertClient::init(const MediaConvert::MediaConvertClientConfiguratio } 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 b99044148d17..3fcc3eb8cd31 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; } @@ -251,12 +216,7 @@ void MediaLiveClient::init(const MediaLive::MediaLiveClientConfiguration& config } 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 59fcf830178c..02f4d26498b0 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; } @@ -149,12 +114,7 @@ void MediaPackageVodClient::init(const MediaPackageVod::MediaPackageVodClientCon } 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 0ce5efdffabf..6ac0ae20537a 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; } @@ -147,12 +112,7 @@ void MediaPackageClient::init(const MediaPackage::MediaPackageClientConfiguratio } 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 d98374ec384c..8e122c0f7305 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; } @@ -159,12 +124,7 @@ void Mediapackagev2Client::init(const mediapackagev2::Mediapackagev2ClientConfig } 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 f384779f48e9..fc994fb1a6f4 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; } @@ -138,12 +101,7 @@ void MediaStoreDataClient::init(const MediaStoreData::MediaStoreDataClientConfig } 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 44e0336aa826..b37c6e9ec7a2 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; } @@ -149,12 +114,7 @@ void MediaStoreClient::init(const MediaStore::MediaStoreClientConfiguration& con } 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 640fd43599f1..1505f8a9d18f 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; } @@ -176,12 +141,7 @@ void MediaTailorClient::init(const MediaTailor::MediaTailorClientConfiguration& } 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 ad89c3388d4e..7561942bd5cf 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; } @@ -147,12 +112,7 @@ void MedicalImagingClient::init(const MedicalImaging::MedicalImagingClientConfig } 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 19a93a7380a5..cea6408e76f9 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; } @@ -173,12 +138,7 @@ void MemoryDBClient::init(const MemoryDB::MemoryDBClientConfiguration& config) { } 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 574cd8f73ca3..2524bf04136b 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; } @@ -137,12 +101,7 @@ void MarketplaceMeteringClient::init(const MarketplaceMetering::MarketplaceMeter } 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 c495e6c86c28..99a1200b8a9e 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; } @@ -221,12 +186,7 @@ void MgnClient::init(const mgn::MgnClientConfiguration& config) { } 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 be1fb43c2ebd..7ab32b947e34 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() { @@ -161,12 +125,7 @@ void MigrationHubRefactorSpacesClient::init(const MigrationHubRefactorSpaces::Mi } 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 8ab34d00c8d4..e08ccd11f676 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; } @@ -137,12 +101,7 @@ void MigrationHubConfigClient::init(const MigrationHubConfig::MigrationHubConfig } 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 cf1276a68193..2acec2b888b3 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() { @@ -168,12 +132,7 @@ void MigrationHubOrchestratorClient::init(const MigrationHubOrchestrator::Migrat } 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 22dd6bfc5e85..6a651b684f0a 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& @@ -162,12 +125,7 @@ void MigrationHubStrategyRecommendationsClient::init( } 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 1bf44e0f3ffb..37e783f11a0a 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; } @@ -183,12 +148,7 @@ void CloudWatchClient::init(const CloudWatch::CloudWatchClientConfiguration& con } 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 4b82bcf311ca..a3a5b0889a1a 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; } @@ -148,12 +113,7 @@ void MPAClient::init(const MPA::MPAClientConfiguration& config) { } 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 eb75afddf3eb..80d0e5355419 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; } @@ -151,12 +116,7 @@ void MQClient::init(const MQ::MQClientConfiguration& config) { } 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 399eaaa86753..da1ee776f40e 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; } @@ -167,12 +132,7 @@ void MTurkClient::init(const MTurk::MTurkClientConfiguration& config) { } 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 074c5c3fa6c9..423618296069 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; } @@ -144,12 +109,7 @@ void MWAAServerlessClient::init(const MWAAServerless::MWAAServerlessClientConfig } 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 dfc9a62c612a..1fc846af405d 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; } @@ -137,12 +102,7 @@ void MWAAClient::init(const MWAA::MWAAClientConfiguration& config) { } 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 80c50d4e3a17..48db8fc31523 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; } @@ -163,12 +128,7 @@ void NeptuneGraphClient::init(const NeptuneGraph::NeptuneGraphClientConfiguratio } 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 49a0cca55008..2553b9a24271 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; } @@ -198,12 +163,7 @@ void NeptuneClient::init(const Neptune::NeptuneClientConfiguration& config) { } 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 418aca861b36..fe62cd2a5355 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; } @@ -176,12 +141,7 @@ void NeptunedataClient::init(const neptunedata::NeptunedataClientConfiguration& } 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 eabf31f4c482..bdfb317e093e 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; } @@ -217,12 +182,7 @@ void NetworkFirewallClient::init(const NetworkFirewall::NetworkFirewallClientCon } 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 1a7d8004c79a..58b5d3d821f8 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() { @@ -183,12 +147,7 @@ void NetworkSecurityManagerClient::init(const NetworkSecurityManager::NetworkSec } 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 bb6fd28b82da..6ff696f8250d 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; } @@ -158,12 +122,7 @@ void NetworkFlowMonitorClient::init(const NetworkFlowMonitor::NetworkFlowMonitor } 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 9a30d882009b..3e6a04bab4f4 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; } @@ -226,12 +191,7 @@ void NetworkManagerClient::init(const NetworkManager::NetworkManagerClientConfig } 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 4ab5813dc845..220783d0af1c 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; } @@ -141,12 +106,7 @@ void NetworkMonitorClient::init(const NetworkMonitor::NetworkMonitorClientConfig } 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 6086b90d6dba..779345c22a06 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; } @@ -169,12 +134,7 @@ void NotificationsClient::init(const Notifications::NotificationsClientConfigura } 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 38dec1922729..21fb95f81a30 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() { @@ -146,12 +110,7 @@ void NotificationsContactsClient::init(const NotificationsContacts::Notification } 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 f25ea4bc8f6f..63b909079d34 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; } @@ -144,12 +109,7 @@ void NovaActClient::init(const NovaAct::NovaActClientConfiguration& config) { } 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 d408f7836898..f3734a9138f9 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; } @@ -141,12 +106,7 @@ void OAMClient::init(const OAM::OAMClientConfiguration& config) { } 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 5aca32646376..821a6cdf652a 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; } @@ -178,12 +142,7 @@ void ObservabilityAdminClient::init(const ObservabilityAdmin::ObservabilityAdmin } 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 66335f4e21ab..9dcbbf179058 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; } @@ -207,12 +172,7 @@ void OdbClient::init(const odb::OdbClientConfiguration& config) { } 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 c7932ef943fb..e69312eac701 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; } @@ -239,12 +202,7 @@ void OmicsClient::init(const Omics::OmicsClientConfiguration& config) { } 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 eaec01a00281..324c91e9cffe 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; } @@ -235,12 +199,7 @@ void OpenSearchServiceClient::init(const OpenSearchService::OpenSearchServiceCli } 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 3bd7c7dbd5ce..cbe5ed915f61 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() { @@ -191,12 +155,7 @@ void OpenSearchServerlessClient::init(const OpenSearchServerless::OpenSearchServ } 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 57c95b396eef..d38168b7a4ce 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; } @@ -192,12 +157,7 @@ void OrganizationsClient::init(const Organizations::OrganizationsClientConfigura } 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 9a5d586836c4..407e67fbdb37 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; } @@ -148,12 +113,7 @@ void OSISClient::init(const OSIS::OSISClientConfiguration& config) { } 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 8c5ff38c81b9..addefb8755d6 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; } @@ -173,12 +138,7 @@ void OutpostsClient::init(const Outposts::OutpostsClientConfiguration& config) { } 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 e7513ef6dc85..f13576584fa6 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() { @@ -171,12 +135,7 @@ void PartnerCentralAccountClient::init(const PartnerCentralAccount::PartnerCentr } 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 39055258d962..05e1085a5c6c 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() { @@ -154,12 +118,7 @@ void PartnerCentralBenefitsClient::init(const PartnerCentralBenefits::PartnerCen } 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 de286e168375..bcde3c69d38c 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() { @@ -158,12 +120,7 @@ void PartnerCentralChannelClient::init(const PartnerCentralChannel::PartnerCentr } 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 a574a7b39c7c..e4066fc3beeb 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() { @@ -160,12 +122,7 @@ void PartnerCentralRevenueMeasurementClient::init( } 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 4952adfaa117..035c0935622e 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() { @@ -182,12 +146,7 @@ void PartnerCentralSellingClient::init(const PartnerCentralSelling::PartnerCentr } 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 cc728b46e373..ed574966f8cb 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() { @@ -152,12 +116,7 @@ void PaymentCryptographyDataClient::init(const PaymentCryptographyData::PaymentC } 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 e0fb7302db15..eb2eba103319 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; } @@ -165,12 +129,7 @@ void PaymentCryptographyClient::init(const PaymentCryptography::PaymentCryptogra } 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 642d1764ff71..22db84b41bb7 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; } @@ -154,12 +119,7 @@ void PcaConnectorAdClient::init(const PcaConnectorAd::PcaConnectorAdClientConfig } 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 fddd8797abe1..2111369b59d6 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; } @@ -145,12 +109,7 @@ void PcaConnectorScepClient::init(const PcaConnectorScep::PcaConnectorScepClient } 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 4d1a02b405fe..1d6863ba6ccf 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; } @@ -145,12 +110,7 @@ void PCSClient::init(const PCS::PCSClientConfiguration& config) { } 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 43b12b7e2142..dba622b8eb57 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; } @@ -138,12 +102,7 @@ void PersonalizeEventsClient::init(const PersonalizeEvents::PersonalizeEventsCli } 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 13807e255147..46ca64f2c367 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; } @@ -136,12 +100,7 @@ void PersonalizeRuntimeClient::init(const PersonalizeRuntime::PersonalizeRuntime } 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 357f6f095f55..fa4a4bc8bcdd 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; } @@ -199,12 +164,7 @@ void PersonalizeClient::init(const Personalize::PersonalizeClientConfiguration& } 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 ade4bb921757..1dbadfbae625 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; } @@ -140,12 +105,7 @@ void PIClient::init(const PI::PIClientConfiguration& config) { } 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 b99c61253518..b893ab4bd606 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; } @@ -171,12 +136,7 @@ void PinpointEmailClient::init(const PinpointEmail::PinpointEmailClientConfigura } 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 5617d0f97081..b84107074f3b 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; } @@ -243,12 +207,7 @@ void PinpointSMSVoiceV2Client::init(const PinpointSMSVoiceV2::PinpointSMSVoiceV2 } 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 d8faf4c8705c..b099f23fd3a2 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; } @@ -250,12 +215,7 @@ void PinpointClient::init(const Pinpoint::PinpointClientConfiguration& config) { } 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 a3867cd83007..eaf9acd463fc 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; } @@ -138,12 +103,7 @@ void PipesClient::init(const Pipes::PipesClientConfiguration& config) { } 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 fac5e19e7132..2d14bb290398 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; } @@ -145,12 +108,7 @@ void PollyClient::init(const Polly::PollyClientConfiguration& config) { } 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 d923d636c98d..6370dbb8cd93 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; } @@ -142,12 +106,7 @@ void PricingPlanManagerClient::init(const PricingPlanManager::PricingPlanManager } 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 2be583706d8c..5216a170b765 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; } @@ -133,12 +98,7 @@ void PricingClient::init(const Pricing::PricingClientConfiguration& config) { } 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 95be6968b54d..48a03297931b 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; } @@ -128,12 +93,7 @@ void ProtonClient::init(const Proton::ProtonClientConfiguration& config) { } 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 532ed8eee12c..ad72b65dddc9 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; } @@ -163,12 +128,7 @@ void QAppsClient::init(const QApps::QAppsClientConfiguration& config) { } 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 f2c1bd7b1660..b1e234004277 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; } @@ -218,12 +181,7 @@ void QBusinessClient::init(const QBusiness::QBusinessClientConfiguration& config } 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 ec4fd8c9d637..2dd0bc43fcc9 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; } @@ -220,12 +185,7 @@ void QConnectClient::init(const QConnect::QConnectClientConfiguration& config) { } 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 507cf6e4e922..a00f0224f5a0 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; } @@ -228,12 +193,7 @@ void QuickSightClient::init(const QuickSight::QuickSightClientConfiguration& con } 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 908237268d5d..cf3c5f7bf6a7 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; } @@ -161,12 +126,7 @@ void RAMClient::init(const RAM::RAMClientConfiguration& config) { } 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 4d64d320778d..15e22fffc74c 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; } @@ -138,12 +103,7 @@ void RecycleBinClient::init(const RecycleBin::RecycleBinClientConfiguration& con } 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 bec93a12db42..ab1e46be7a4e 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; } @@ -134,12 +99,7 @@ void RDSDataServiceClient::init(const RDSDataService::RDSDataServiceClientConfig } 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 7e0b371ac183..23a91d7108e1 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; } @@ -294,12 +259,7 @@ void RDSClient::init(const RDS::RDSClientConfiguration& config) { } 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 c9b6e0b629a8..64ece3eab675 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() { @@ -149,12 +113,7 @@ void RedshiftDataAPIServiceClient::init(const RedshiftDataAPIService::RedshiftDa } 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 303cfd7e209f..de218525be03 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; } @@ -198,12 +162,7 @@ void RedshiftServerlessClient::init(const RedshiftServerless::RedshiftServerless } 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 cbcce4eae79d..d2ce055e8ca0 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; } @@ -273,12 +238,7 @@ void RedshiftClient::init(const Redshift::RedshiftClientConfiguration& config) { } 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 f6dd71533fb0..ecb2dd9978d1 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; } @@ -203,12 +168,7 @@ void RekognitionClient::init(const Rekognition::RekognitionClientConfiguration& } 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 4b1eefce272d..221e65103b8e 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; } @@ -147,12 +112,7 @@ void RepostspaceClient::init(const repostspace::RepostspaceClientConfiguration& } 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 74baab96ed01..00ab83add4fd 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; } @@ -192,12 +157,7 @@ void ResilienceHubClient::init(const ResilienceHub::ResilienceHubClientConfigura } 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 53c80b8d7dcf..b0809fb4f438 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; } @@ -205,12 +170,7 @@ void Resiliencehubv2Client::init(const resiliencehubv2::Resiliencehubv2ClientCon } 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 1b63c234aef4..11546b84d408 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; } @@ -165,12 +129,7 @@ void ResourceExplorer2Client::init(const ResourceExplorer2::ResourceExplorer2Cli } 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 41f48119d875..21524bad2909 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; } @@ -152,12 +117,7 @@ void ResourceGroupsClient::init(const ResourceGroups::ResourceGroupsClientConfig } 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 cc7aa6d6ec19..9327b6c93976 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() { @@ -146,12 +110,7 @@ void ResourceGroupsTaggingAPIClient::init(const ResourceGroupsTaggingAPI::Resour } 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 fe141aede356..4442eafdef0d 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; } @@ -159,12 +124,7 @@ void RolesAnywhereClient::init(const RolesAnywhere::RolesAnywhereClientConfigura } 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 edf8efa4a2c2..28d55e161dba 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() { @@ -141,12 +105,7 @@ void Route53RecoveryClusterClient::init(const Route53RecoveryCluster::Route53Rec } 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 a21aa96356c1..3cffc0ace0ab 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() { @@ -162,12 +126,7 @@ void Route53RecoveryControlConfigClient::init(const Route53RecoveryControlConfig } 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 10a36d599b60..5a0bef4ae5f5 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() { @@ -169,12 +133,7 @@ void Route53RecoveryReadinessClient::init(const Route53RecoveryReadiness::Route5 } 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 e9ee168f04aa..af2b1ee69a44 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; } @@ -199,12 +164,7 @@ void Route53Client::init(const Route53::Route53ClientConfiguration& config) { } 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 dad58829e2dd..48b083b8f438 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; } @@ -164,12 +129,7 @@ void Route53DomainsClient::init(const Route53Domains::Route53DomainsClientConfig } 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 63df38d5644d..0724ce0a3c33 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() { @@ -185,12 +149,7 @@ void Route53GlobalResolverClient::init(const Route53GlobalResolver::Route53Globa } 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 2c13fc993a1d..9d69d0b1557d 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; } @@ -148,12 +113,7 @@ void Route53ProfilesClient::init(const Route53Profiles::Route53ProfilesClientCon } 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 8617e50fd74f..c73337050398 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; } @@ -204,12 +169,7 @@ void Route53ResolverClient::init(const Route53Resolver::Route53ResolverClientCon } 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 52735d2bbc19..0c454a1da7b2 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; } @@ -164,12 +129,7 @@ void RTBFabricClient::init(const RTBFabric::RTBFabricClientConfiguration& config } 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 c1fa285d4726..90900fea232d 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; } @@ -149,12 +114,7 @@ void CloudWatchRUMClient::init(const CloudWatchRUM::CloudWatchRUMClientConfigura } 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-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 daa8a87625a5..a70be99c447b 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; } @@ -149,12 +114,7 @@ void S3FilesClient::init(const S3Files::S3FilesClientConfiguration& config) { } 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 6c7d659cc011..2f3413a19b40 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; } @@ -133,12 +98,7 @@ void S3OutpostsClient::init(const S3Outposts::S3OutpostsClientConfiguration& con } 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 844d70c203e9..8c1186ead721 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; } @@ -177,12 +142,7 @@ void S3TablesClient::init(const S3Tables::S3TablesClientConfiguration& config) { } 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-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 d08d769ef714..bace392a3656 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; } @@ -138,12 +102,7 @@ void AugmentedAIRuntimeClient::init(const AugmentedAIRuntime::AugmentedAIRuntime } 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 f76719e93ad6..13e5c592024a 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() { @@ -140,12 +104,7 @@ void SagemakerEdgeManagerClient::init(const SagemakerEdgeManager::SagemakerEdgeM } 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 b7ffb2ba74e6..f2e980fa6fed 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() { @@ -144,12 +108,7 @@ void SageMakerFeatureStoreRuntimeClient::init(const SageMakerFeatureStoreRuntime } 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 ea4944a1fb1e..539497788d55 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; } @@ -152,12 +116,7 @@ void SageMakerGeospatialClient::init(const SageMakerGeospatial::SageMakerGeospat } 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 faee7248dd64..6ad3af3adb1f 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; } @@ -135,12 +99,7 @@ void SageMakerMetricsClient::init(const SageMakerMetrics::SageMakerMetricsClient } 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 b7b917876cb3..f09fc78554b4 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() { @@ -145,12 +107,7 @@ void SageMakerRuntimeHTTP2Client::init(const SageMakerRuntimeHTTP2::SageMakerRun } 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 d825c115f88f..0f10a7ecbde1 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; } @@ -141,12 +103,7 @@ void SageMakerRuntimeClient::init(const SageMakerRuntime::SageMakerRuntimeClient } 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 c0ac3087e989..7497bb2d2228 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; } @@ -228,12 +193,7 @@ void SageMakerClient::init(const SageMaker::SageMakerClientConfiguration& config } 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 5fef33902382..52c7d14cb920 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; } @@ -141,12 +103,7 @@ void SagemakerJobRuntimeClient::init(const SagemakerJobRuntime::SagemakerJobRunt } 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 11197336c5ea..cba4ba22dd76 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() { @@ -148,12 +110,7 @@ void SageMakerTrainingSessionRuntimeClient::init( } 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 ba20bdc5b18b..8033362598d6 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; } @@ -139,12 +104,7 @@ void SavingsPlansClient::init(const SavingsPlans::SavingsPlansClientConfiguratio } 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 1e0116b556ed..2c2e9063a178 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; } @@ -140,12 +105,7 @@ void SchedulerClient::init(const Scheduler::SchedulerClientConfiguration& config } 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 b75deafb4153..cdd4543fb64e 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; } @@ -159,12 +124,7 @@ void SchemasClient::init(const Schemas::SchemasClientConfiguration& config) { } 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 af524d79f24c..e719f228ff8a 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; } @@ -138,12 +103,7 @@ void SimpleDBClient::init(const SimpleDB::SimpleDBClientConfiguration& config) { } 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 903611c7f08a..a3d3cef21a9b 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; } @@ -152,12 +117,7 @@ void SecretsManagerClient::init(const SecretsManager::SecretsManagerClientConfig } 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 bc596043861a..dcfd4544a8e9 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; } @@ -153,12 +118,7 @@ void SecurityIRClient::init(const SecurityIR::SecurityIRClientConfiguration& con } 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 2305c1715568..8f47bd394cbf 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; } @@ -225,12 +190,7 @@ void SecurityAgentClient::init(const SecurityAgent::SecurityAgentClientConfigura } 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 23901771143d..db4e2237f461 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; } @@ -248,12 +213,7 @@ void SecurityHubClient::init(const SecurityHub::SecurityHubClientConfiguration& } 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 28ae3a3734a7..77cf819dccd3 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; } @@ -160,12 +125,7 @@ void SecurityLakeClient::init(const SecurityLake::SecurityLakeClientConfiguratio } 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 bb76006f2ffd..2d43a62a1d12 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() { @@ -152,12 +116,7 @@ void ServerlessApplicationRepositoryClient::init( } 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 bbe4583cca94..778002e36099 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; } @@ -155,12 +120,7 @@ void ServiceQuotasClient::init(const ServiceQuotas::ServiceQuotasClientConfigura } 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 31db8f01381e..629eb9a77853 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; } @@ -152,12 +117,7 @@ void AppRegistryClient::init(const AppRegistry::AppRegistryClientConfiguration& } 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 e23262bddf60..2efd67d31871 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; } @@ -219,12 +184,7 @@ void ServiceCatalogClient::init(const ServiceCatalog::ServiceCatalogClientConfig } 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 7924fb9ad317..c9ef636ee481 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; } @@ -163,12 +127,7 @@ void ServiceDiscoveryClient::init(const ServiceDiscovery::ServiceDiscoveryClient } 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 c15d071b24f6..7d77e7e43d48 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; } @@ -248,12 +211,7 @@ void SESV2Client::init(const SESV2::SESV2ClientConfiguration& config) { } 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 f3c15d73b0cf..4d258538fa84 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; } @@ -163,12 +128,7 @@ void ShieldClient::init(const Shield::ShieldClientConfiguration& config) { } 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 5a348ee3452d..50ec7f37d2ec 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; } @@ -129,12 +94,7 @@ void SignerDataClient::init(const SignerData::SignerDataClientConfiguration& con } 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 f36d73f87b07..f5759c37614e 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; } @@ -147,12 +112,7 @@ void SignerClient::init(const signer::SignerClientConfiguration& config) { } 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 40e2bae35a53..27c50a6fd14f 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; } @@ -140,12 +105,7 @@ void SigninClient::init(const Signin::SigninClientConfiguration& config) { } 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 cd83a05fe5b7..12ef6ba57438 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; } @@ -131,12 +96,7 @@ void SimpleDBv2Client::init(const SimpleDBv2::SimpleDBv2ClientConfiguration& con } 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 9c07010c94e5..e27de5c9c3c3 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; } @@ -141,12 +105,7 @@ void PinpointSMSVoiceClient::init(const PinpointSMSVoice::PinpointSMSVoiceClient } 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 26cd47c523f2..d965f2b78355 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() { @@ -150,12 +114,7 @@ void SnowDeviceManagementClient::init(const SnowDeviceManagement::SnowDeviceMana } 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 792ef14dad93..b77c171f4898 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; } @@ -155,12 +120,7 @@ void SnowballClient::init(const Snowball::SnowballClientConfiguration& config) { } 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 124ed944866e..6b8f8a06917d 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; } @@ -168,12 +133,7 @@ void SNSClient::init(const SNS::SNSClientConfiguration& config) { } 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 ba3b0bdf6722..ede754d1f822 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; } @@ -170,12 +135,7 @@ void SocialMessagingClient::init(const SocialMessaging::SocialMessagingClientCon } 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 7f623cfbb67b..8de5629fb80b 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; } @@ -149,12 +114,7 @@ void SQSClient::init(const SQS::SQSClientConfiguration& config) { } 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 7c3816c4c901..b410f50a0507 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; } @@ -167,12 +132,7 @@ void SSMContactsClient::init(const SSMContacts::SSMContactsClientConfiguration& } 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 f736eea1b28f..763e537a255d 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; } @@ -132,12 +97,7 @@ void SSMGuiConnectClient::init(const SSMGuiConnect::SSMGuiConnectClientConfigura } 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 117b7e7776e1..c6df6d23042b 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; } @@ -160,12 +125,7 @@ void SSMIncidentsClient::init(const SSMIncidents::SSMIncidentsClientConfiguratio } 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 8e368ad38ce5..ac9c72a90405 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; } @@ -143,12 +108,7 @@ void SSMQuickSetupClient::init(const SSMQuickSetup::SSMQuickSetupClientConfigura } 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 4ba9d7b871ca..72e359f0c507 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; } @@ -155,12 +120,7 @@ void SsmSapClient::init(const SsmSap::SsmSapClientConfiguration& config) { } 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 8a014b5ec0c3..e5442bd15904 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; } @@ -278,12 +243,7 @@ void SSMClient::init(const SSM::SSMClientConfiguration& config) { } 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 527f5fcc9971..5bf5fdca2d74 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; } @@ -207,12 +172,7 @@ void SSOAdminClient::init(const SSOAdmin::SSOAdminClientConfiguration& config) { } 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 df43178da155..1ea05b77b25a 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; } @@ -132,12 +97,7 @@ void SSOOIDCClient::init(const SSOOIDC::SSOOIDCClientConfiguration& config) { } 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 88b1c5f30a2e..6f795bb366d6 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; } @@ -130,12 +95,7 @@ void SSOClient::init(const SSO::SSOClientConfiguration& config) { } 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 cc8091a2dcb0..a32037242172 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; } @@ -163,12 +128,7 @@ void SFNClient::init(const SFN::SFNClientConfiguration& config) { } 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 0266f0d2e58b..28e149aad542 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; } @@ -225,12 +190,7 @@ void StorageGatewayClient::init(const StorageGateway::StorageGatewayClientConfig } 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-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 ea46dab6d848..63de6332cbe2 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; } @@ -158,12 +123,7 @@ void SupplyChainClient::init(const SupplyChain::SupplyChainClientConfiguration& } 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 b3ac4f4828fb..6909365e9362 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; } @@ -138,12 +103,7 @@ void SupportAppClient::init(const SupportApp::SupportAppClientConfiguration& con } 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 b29aa6cf32af..be68df539904 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; } @@ -148,12 +113,7 @@ void SupportClient::init(const Support::SupportClientConfiguration& config) { } 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 9ede088fc58f..f3d42ac0066b 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; } @@ -140,12 +105,7 @@ void SupportAuthZClient::init(const SupportAuthZ::SupportAuthZClientConfiguratio } 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 47798234982d..171562ec5421 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; } @@ -137,12 +100,7 @@ void SustainabilityClient::init(const Sustainability::SustainabilityClientConfig } 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 d27b7a06660f..7efd319e5494 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; } @@ -165,12 +130,7 @@ void SWFClient::init(const SWF::SWFClientConfiguration& config) { } 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 9974b52de433..8a1c6aa16a44 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; } @@ -150,12 +115,7 @@ void SyntheticsClient::init(const Synthetics::SyntheticsClientConfiguration& con } 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 b774fee028ec..62bf57a99bda 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; } @@ -144,12 +109,7 @@ void TaxSettingsClient::init(const TaxSettings::TaxSettingsClientConfiguration& } 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 389d1e62b81c..a2c537fd949b 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; } @@ -153,12 +118,7 @@ void TextractClient::init(const Textract::TextractClientConfiguration& config) { } 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 ac138d6d1e1f..24317695614d 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; } @@ -157,12 +121,7 @@ void TimestreamInfluxDBClient::init(const TimestreamInfluxDB::TimestreamInfluxDB } 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 01db55773544..90235dbff248 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; } @@ -148,12 +113,7 @@ void TimestreamQueryClient::init(const TimestreamQuery::TimestreamQueryClientCon } 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 bb9d18c24b3d..4b952aefd677 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; } @@ -152,12 +117,7 @@ void TimestreamWriteClient::init(const TimestreamWrite::TimestreamWriteClientCon } 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 cf0ebb5b1e4c..d31d249b3e24 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; } @@ -177,12 +141,7 @@ void TranscribeServiceClient::init(const TranscribeService::TranscribeServiceCli } 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 abe06577e30a..f1b563e82016 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() { @@ -149,12 +111,7 @@ void TranscribeStreamingServiceClient::init(const TranscribeStreamingService::Tr } 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 e69d998f2b81..a7b718a85208 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; } @@ -147,12 +112,7 @@ void TranslateClient::init(const Translate::TranslateClientConfiguration& config } 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 0a2e2f0ad7df..1e527dbcd495 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; } @@ -141,12 +106,7 @@ void TrustedAdvisorClient::init(const TrustedAdvisor::TrustedAdvisorClientConfig } 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 4d6a318bd802..116264f78efa 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; } @@ -129,12 +94,7 @@ void UxcClient::init(const uxc::UxcClientConfiguration& config) { } 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 9746a11a8995..89b34bd9c243 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; } @@ -167,12 +131,7 @@ void VerifiedPermissionsClient::init(const VerifiedPermissions::VerifiedPermissi } 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 1a6256408ad0..9db223396ed2 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; } @@ -157,12 +122,7 @@ void VoiceIDClient::init(const VoiceID::VoiceIDClientConfiguration& config) { } 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 6c4269c222b0..0ed3a6c34a9e 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; } @@ -201,12 +166,7 @@ void VPCLatticeClient::init(const VPCLattice::VPCLatticeClientConfiguration& con } 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 e1569e673ea9..2e20d9e47969 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; } @@ -209,12 +174,7 @@ void WAFRegionalClient::init(const WAFRegional::WAFRegionalClientConfiguration& } 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 0758f3ce2497..592fd45ce192 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; } @@ -203,12 +168,7 @@ void WAFClient::init(const WAF::WAFClientConfiguration& config) { } 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 ee35b330b20f..876b4da53e4a 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; } @@ -187,12 +152,7 @@ void WAFV2Client::init(const WAFV2::WAFV2ClientConfiguration& config) { } 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 a51d9fc58bdb..aa9dfab34e93 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; } @@ -227,12 +192,7 @@ void WellArchitectedClient::init(const WellArchitected::WellArchitectedClientCon } 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 3cd603e1cfd5..7ece13f6ba19 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; } @@ -172,12 +137,7 @@ void WickrClient::init(const Wickr::WickrClientConfiguration& config) { } 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 2f39485e38c0..8311baa1cc89 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() { @@ -176,12 +140,7 @@ void ConnectWisdomServiceClient::init(const ConnectWisdomService::ConnectWisdomS } 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 f38f1b631172..980cb592ae7c 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; } @@ -172,12 +137,7 @@ void WorkDocsClient::init(const WorkDocs::WorkDocsClientConfiguration& config) { } 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 9343d281ab35..bbad0b5e85cb 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; } @@ -220,12 +185,7 @@ void WorkMailClient::init(const WorkMail::WorkMailClientConfiguration& config) { } 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 4f5e7780e804..7c2cad51cf33 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; } @@ -135,12 +99,7 @@ void WorkMailMessageFlowClient::init(const WorkMailMessageFlow::WorkMailMessageF } 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 413c28a6757a..b4ef091f85c0 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; } @@ -147,12 +111,7 @@ void WorkspacesInstancesClient::init(const WorkspacesInstances::WorkspacesInstan } 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 de474a490ffc..5165cd8f36ad 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() { @@ -153,12 +117,7 @@ void WorkSpacesThinClientClient::init(const WorkSpacesThinClient::WorkSpacesThin } 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 df016e67303d..dcbb6d5a6074 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; } @@ -204,12 +169,7 @@ void WorkSpacesWebClient::init(const WorkSpacesWeb::WorkSpacesWebClientConfigura } 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 62cf7f6d3a79..62d115d8b321 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; } @@ -219,12 +184,7 @@ void WorkSpacesClient::init(const WorkSpaces::WorkSpacesClientConfiguration& con } 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 2746bd1c7421..2018130d99c6 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; } @@ -164,12 +129,7 @@ void XRayClient::init(const XRay::XRayClientConfiguration& config) { } 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-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/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-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 77c1d26d386a..359ed9cd9eb4 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; 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-tests/CryptoModulesTest.cpp b/tests/aws-cpp-sdk-s3-encryption-tests/CryptoModulesTest.cpp index 4e804dcb6842..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) { @@ -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/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-s3control-integration-tests/S3ControlTest.cpp b/tests/aws-cpp-sdk-s3control-integration-tests/S3ControlTest.cpp index e1253387a922..38816b320477 100644 --- a/tests/aws-cpp-sdk-s3control-integration-tests/S3ControlTest.cpp +++ b/tests/aws-cpp-sdk-s3control-integration-tests/S3ControlTest.cpp @@ -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(); } 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-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. " From 1fae701051fc52be778e750c284711a286685d71 Mon Sep 17 00:00:00 2001 From: Avery Kuo Date: Wed, 11 Nov 2026 14:19:42 -0500 Subject: [PATCH 3/4] Smoke tests: only set useFIPS/useDualStack when enabled - The smoke-test generator wrote clientConfiguration.useFIPS/useDualStack for every service; services without dual-stack endpoints no longer have useDualStack, so those smoke tests failed to compile. Emit each line only when the value is true (false is the default), and update the committed smoke tests to match - Docs: useDualStack is on service configurations, not the shared ClientConfiguration --- docs/ClientConfiguration_Parameters.md | 2 +- generated/smoke-tests/acm/ACMSmokeTests.cpp | 4 ---- .../smoke-tests/apigateway/APIGatewaySmokeTests.cpp | 2 -- .../ApplicationAutoScalingSmokeTests.cpp | 2 -- .../smoke-tests/appstream/AppStreamSmokeTests.cpp | 2 -- generated/smoke-tests/athena/AthenaSmokeTests.cpp | 2 -- generated/smoke-tests/batch/BatchSmokeTests.cpp | 2 -- .../bcm-dashboards/BCMDashboardsSmokeTests.cpp | 2 -- generated/smoke-tests/billing/BillingSmokeTests.cpp | 2 -- .../cloudformation/CloudFormationSmokeTests.cpp | 4 ---- .../smoke-tests/cloudhsmv2/CloudHSMV2SmokeTests.cpp | 2 -- .../smoke-tests/cloudtrail/CloudTrailSmokeTests.cpp | 2 -- .../smoke-tests/codebuild/CodeBuildSmokeTests.cpp | 2 -- .../smoke-tests/codedeploy/CodeDeploySmokeTests.cpp | 2 -- .../codepipeline/CodePipelineSmokeTests.cpp | 4 ---- .../cognito-identity/CognitoIdentitySmokeTests.cpp | 2 -- .../CognitoIdentityProviderSmokeTests.cpp | 2 -- .../smoke-tests/config/ConfigServiceSmokeTests.cpp | 2 -- .../cur/CostandUsageReportServiceSmokeTests.cpp | 2 -- .../directconnect/DirectConnectSmokeTests.cpp | 4 ---- .../DirectoryServiceDataSmokeTests.cpp | 4 ---- .../ApplicationDiscoveryServiceSmokeTests.cpp | 2 -- .../dms/DatabaseMigrationServiceSmokeTests.cpp | 2 -- generated/smoke-tests/docdb/DocDBSmokeTests.cpp | 4 ---- .../smoke-tests/ds/DirectoryServiceSmokeTests.cpp | 2 -- .../smoke-tests/dynamodb/DynamoDBSmokeTests.cpp | 2 -- generated/smoke-tests/ec2/EC2SmokeTests.cpp | 4 ---- generated/smoke-tests/ecr/ECRSmokeTests.cpp | 4 ---- generated/smoke-tests/ecs/ECSSmokeTests.cpp | 2 -- .../elasticache/ElastiCacheSmokeTests.cpp | 2 -- .../smoke-tests/elasticfilesystem/EFSSmokeTests.cpp | 2 -- .../ElasticLoadBalancingSmokeTests.cpp | 4 ---- .../smoke-tests/elasticmapreduce/EMRSmokeTests.cpp | 4 ---- generated/smoke-tests/email/SESSmokeTests.cpp | 2 -- .../eventbridge/EventBridgeSmokeTests.cpp | 4 ---- .../smoke-tests/gamelift/GameLiftSmokeTests.cpp | 2 -- .../gameliftstreams/GameLiftStreamsSmokeTests.cpp | 8 -------- generated/smoke-tests/glue/GlueSmokeTests.cpp | 2 -- generated/smoke-tests/iam/IAMSmokeTests.cpp | 4 ---- .../smoke-tests/invoicing/InvoicingSmokeTests.cpp | 2 -- .../smoke-tests/iot-data/IoTDataPlaneSmokeTests.cpp | 2 -- .../keyspacesstreams/KeyspacesStreamsSmokeTests.cpp | 2 -- generated/smoke-tests/kinesis/KinesisSmokeTests.cpp | 4 ---- .../smoke-tests/lightsail/LightsailSmokeTests.cpp | 2 -- .../smoke-tests/logs/CloudWatchLogsSmokeTests.cpp | 4 ---- .../smoke-tests/monitoring/CloudWatchSmokeTests.cpp | 2 -- generated/smoke-tests/neptune/NeptuneSmokeTests.cpp | 4 ---- .../smoke-tests/pinpoint/PinpointSmokeTests.cpp | 4 ---- generated/smoke-tests/polly/PollySmokeTests.cpp | 2 -- generated/smoke-tests/rds/RDSSmokeTests.cpp | 4 ---- .../rekognition/RekognitionSmokeTests.cpp | 2 -- generated/smoke-tests/route53/Route53SmokeTests.cpp | 4 ---- .../route53domains/Route53DomainsSmokeTests.cpp | 4 ---- .../route53resolver/Route53ResolverSmokeTests.cpp | 2 -- .../secretsmanager/SecretsManagerSmokeTests.cpp | 4 ---- generated/smoke-tests/shield/ShieldSmokeTests.cpp | 2 -- .../smoke-tests/snowball/SnowballSmokeTests.cpp | 2 -- generated/smoke-tests/sns/SNSSmokeTests.cpp | 2 -- .../socialmessaging/SocialMessagingSmokeTests.cpp | 2 -- .../ssm-quicksetup/SSMQuickSetupSmokeTests.cpp | 4 ---- generated/smoke-tests/ssm/SSMSmokeTests.cpp | 2 -- generated/smoke-tests/states/SFNSmokeTests.cpp | 2 -- generated/smoke-tests/swf/SWFSmokeTests.cpp | 2 -- .../waf-regional/WAFRegionalSmokeTests.cpp | 2 -- generated/smoke-tests/waf/WAFSmokeTests.cpp | 2 -- generated/smoke-tests/wafv2/WAFV2SmokeTests.cpp | 2 -- .../WorkspacesInstancesSmokeTests.cpp | 2 -- .../smoke-tests/workspaces/WorkSpacesSmokeTests.cpp | 2 -- .../generators/SmokeTestsSourceWriter.java | 12 ++++++++++-- 69 files changed, 11 insertions(+), 185 deletions(-) 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/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/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 From 5c761a0146f3ef0146fe489fb67f1b9ce9e4f833 Mon Sep 17 00:00:00 2001 From: Avery Kuo Date: Wed, 11 Nov 2026 16:37:28 -0500 Subject: [PATCH 4/4] Regenerate protocol-test clients and tests for per-client configuration - Regenerate the 11 protocol-test clients: each gets its own ClientConfiguration type; legacy constructors and OverrideEndpoint removed - Protocol tests build each client from its own configuration, seeded from the shared mock configuration (ProtocolTestsTestSuiteSrc.vm, AwsProtocolTestHelpers.h) - Also picks up the rest-xml-protocol serializer change from #3965 (ConvertToCompactString), which had not been regenerated for the test client --- .../aws/ec2-protocol/EC2ProtocolClient.h | 22 ----- .../EC2ProtocolClientConfiguration.h | 64 +++++++++++++ .../EC2ProtocolEndpointProvider.h | 30 +++++- .../EC2ProtocolServiceClientModel.h | 1 - .../source/EC2ProtocolClient.cpp | 42 +------- .../source/EC2ProtocolClientConfiguration.cpp | 47 +++++++++ .../source/EC2ProtocolEndpointProvider.cpp | 24 +++++ .../aws/json-protocol/JsonProtocolClient.h | 22 ----- .../JsonProtocolClientConfiguration.h | 64 +++++++++++++ .../JsonProtocolEndpointProvider.h | 30 +++++- .../JsonProtocolServiceClientModel.h | 1 - .../source/JsonProtocolClient.cpp | 42 +------- .../JsonProtocolClientConfiguration.cpp | 47 +++++++++ .../source/JsonProtocolEndpointProvider.cpp | 24 +++++ .../include/aws/json-rpc-10/JSONRPC10Client.h | 22 ----- .../JSONRPC10ClientConfiguration.h | 64 +++++++++++++ .../json-rpc-10/JSONRPC10EndpointProvider.h | 30 +++++- .../json-rpc-10/JSONRPC10ServiceClientModel.h | 1 - .../source/JSONRPC10Client.cpp | 42 +------- .../source/JSONRPC10ClientConfiguration.cpp | 47 +++++++++ .../source/JSONRPC10EndpointProvider.cpp | 23 +++++ .../NonQueryCompatibleRpcV2ProtocolClient.h | 23 ----- ...mpatibleRpcV2ProtocolClientConfiguration.h | 53 ++++++++++ ...yCompatibleRpcV2ProtocolEndpointProvider.h | 33 ++++++- ...ompatibleRpcV2ProtocolServiceClientModel.h | 1 - .../NonQueryCompatibleRpcV2ProtocolClient.cpp | 43 +-------- ...atibleRpcV2ProtocolClientConfiguration.cpp | 52 ++++++++++ ...ompatibleRpcV2ProtocolEndpointProvider.cpp | 28 ++++++ .../aws/protocol-mock/ProtocolMockClient.h | 22 ----- .../ProtocolMockClientConfiguration.h | 50 ++++++++++ .../ProtocolMockEndpointProvider.h | 30 +++++- .../ProtocolMockServiceClientModel.h | 1 - .../source/ProtocolMockClient.cpp | 42 +------- .../ProtocolMockClientConfiguration.cpp | 46 +++++++++ .../source/ProtocolMockEndpointProvider.cpp | 24 +++++ .../QueryCompatibleJSONRPC10Client.h | 22 ----- ...ryCompatibleJSONRPC10ClientConfiguration.h | 51 ++++++++++ ...QueryCompatibleJSONRPC10EndpointProvider.h | 32 ++++++- ...eryCompatibleJSONRPC10ServiceClientModel.h | 1 - .../source/QueryCompatibleJSONRPC10Client.cpp | 43 +-------- ...CompatibleJSONRPC10ClientConfiguration.cpp | 50 ++++++++++ ...eryCompatibleJSONRPC10EndpointProvider.cpp | 24 +++++ .../QueryCompatibleRpcV2ProtocolClient.h | 23 ----- ...mpatibleRpcV2ProtocolClientConfiguration.h | 53 ++++++++++ ...yCompatibleRpcV2ProtocolEndpointProvider.h | 32 ++++++- ...ompatibleRpcV2ProtocolServiceClientModel.h | 1 - .../QueryCompatibleRpcV2ProtocolClient.cpp | 43 +-------- ...atibleRpcV2ProtocolClientConfiguration.cpp | 51 ++++++++++ ...ompatibleRpcV2ProtocolEndpointProvider.cpp | 28 ++++++ .../aws/query-protocol/QueryProtocolClient.h | 22 ----- .../QueryProtocolClientConfiguration.h | 64 +++++++++++++ .../QueryProtocolEndpointProvider.h | 30 +++++- .../QueryProtocolServiceClientModel.h | 1 - .../source/QueryProtocolClient.cpp | 42 +------- .../QueryProtocolClientConfiguration.cpp | 47 +++++++++ .../source/QueryProtocolEndpointProvider.cpp | 24 +++++ .../RestJsonProtocolClient.h | 22 ----- .../RestJsonProtocolClientConfiguration.h | 96 +++++++++++++++++++ .../RestJsonProtocolEndpointProvider.h | 30 +++++- .../RestJsonProtocolServiceClientModel.h | 1 - .../source/RestJsonProtocolClient.cpp | 45 +-------- .../RestJsonProtocolClientConfiguration.cpp | 51 ++++++++++ .../RestJsonProtocolEndpointProvider.cpp | 24 +++++ .../rest-xml-protocol/RestXmlProtocolClient.h | 22 ----- .../RestXmlProtocolClientConfiguration.h | 96 +++++++++++++++++++ .../RestXmlProtocolEndpointProvider.h | 30 +++++- .../RestXmlProtocolServiceClientModel.h | 1 - .../source/RestXmlProtocolClient.cpp | 44 +-------- .../RestXmlProtocolClientConfiguration.cpp | 51 ++++++++++ .../RestXmlProtocolEndpointProvider.cpp | 24 +++++ .../source/model/BodyWithXmlNameRequest.cpp | 2 +- .../model/ContentTypeParametersRequest.cpp | 2 +- .../EndpointWithHostLabelOperationRequest.cpp | 2 +- .../source/model/FlattenedXmlMapRequest.cpp | 2 +- .../FlattenedXmlMapWithXmlNameRequest.cpp | 2 +- .../HttpPayloadWithMemberXmlNameRequest.cpp | 2 +- .../model/HttpPayloadWithStructureRequest.cpp | 2 +- .../model/HttpPayloadWithUnionRequest.cpp | 2 +- .../model/HttpPayloadWithXmlNameRequest.cpp | 2 +- ...ayloadWithXmlNamespaceAndPrefixRequest.cpp | 2 +- .../HttpPayloadWithXmlNamespaceRequest.cpp | 2 +- .../model/NestedXmlMapWithXmlNameRequest.cpp | 2 +- .../source/model/NestedXmlMapsRequest.cpp | 2 +- .../model/PutWithContentEncodingRequest.cpp | 2 +- .../source/model/RecursiveShapesRequest.cpp | 2 +- .../model/SimpleScalarPropertiesRequest.cpp | 2 +- .../model/XmlAttributesInMiddleRequest.cpp | 2 +- .../model/XmlAttributesOnPayloadRequest.cpp | 2 +- .../source/model/XmlAttributesRequest.cpp | 2 +- .../source/model/XmlBlobsRequest.cpp | 2 +- .../source/model/XmlEmptyBlobsRequest.cpp | 2 +- .../source/model/XmlEmptyListsRequest.cpp | 2 +- .../source/model/XmlEmptyMapsRequest.cpp | 2 +- .../source/model/XmlEmptyStringsRequest.cpp | 2 +- .../source/model/XmlEnumsRequest.cpp | 2 +- .../source/model/XmlIntEnumsRequest.cpp | 2 +- .../source/model/XmlListsRequest.cpp | 2 +- .../model/XmlMapWithXmlNamespaceRequest.cpp | 2 +- .../source/model/XmlMapsRequest.cpp | 2 +- .../source/model/XmlMapsXmlNameRequest.cpp | 2 +- .../source/model/XmlNamespacesRequest.cpp | 2 +- .../source/model/XmlTimestampsRequest.cpp | 2 +- .../source/model/XmlUnionsRequest.cpp | 2 +- .../aws/rpcv2protocol/RpcV2ProtocolClient.h | 22 ----- .../RpcV2ProtocolClientConfiguration.h | 50 ++++++++++ .../RpcV2ProtocolEndpointProvider.h | 30 +++++- .../RpcV2ProtocolServiceClientModel.h | 1 - .../source/RpcV2ProtocolClient.cpp | 42 +------- .../RpcV2ProtocolClientConfiguration.cpp | 46 +++++++++ .../source/RpcV2ProtocolEndpointProvider.cpp | 24 +++++ .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../input/ec2/tests/EndpointOperationTest.cpp | 2 +- .../EndpointWithHostLabelOperationTest.cpp | 2 +- .../ec2/tests/HostWithPathOperationTest.cpp | 2 +- .../input/ec2/tests/NestedStructuresTest.cpp | 2 +- .../input/ec2/tests/NoInputAndOutputTest.cpp | 2 +- .../ec2/tests/PutWithContentEncodingTest.cpp | 4 +- .../QueryIdempotencyTokenAutoFillTest.cpp | 4 +- .../tests/input/ec2/tests/QueryListsTest.cpp | 10 +- .../input/ec2/tests/QueryTimestampsTest.cpp | 2 +- .../input/ec2/tests/SimpleInputParamsTest.cpp | 26 ++--- .../input/json/tests/EmptyOperationTest.cpp | 6 +- .../json/tests/EndpointOperationTest.cpp | 2 +- .../EndpointWithHostLabelOperationTest.cpp | 2 +- .../json/tests/HostWithPathOperationTest.cpp | 2 +- .../tests/input/json/tests/JsonEnumsTest.cpp | 2 +- .../input/json/tests/JsonIntEnumsTest.cpp | 2 +- .../tests/input/json/tests/JsonUnionsTest.cpp | 18 ++-- .../json/tests/KitchenSinkOperationTest.cpp | 56 +++++------ .../input/json/tests/NullOperationTest.cpp | 2 +- .../OperationWithOptionalInputOutputTest.cpp | 4 +- .../tests/PutAndGetInlineDocumentsTest.cpp | 2 +- .../json/tests/PutWithContentEncodingTest.cpp | 4 +- .../json/tests/SimpleScalarPropertiesTest.cpp | 6 +- .../json/tests/SparseNullsOperationTest.cpp | 4 +- .../tests/QueryCompatibleOperationTest.cpp | 3 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../json_1_0/tests/EndpointOperationTest.cpp | 2 +- .../EndpointWithHostLabelOperationTest.cpp | 2 +- .../tests/HostWithPathOperationTest.cpp | 2 +- .../input/json_1_0/tests/JsonUnionsTest.cpp | 20 ++-- .../json_1_0/tests/NoInputAndNoOutputTest.cpp | 2 +- .../json_1_0/tests/NoInputAndOutputTest.cpp | 2 +- .../tests/PutWithContentEncodingTest.cpp | 4 +- .../tests/QueryIncompatibleOperationTest.cpp | 2 +- .../tests/SimpleScalarPropertiesTest.cpp | 6 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../query/tests/EndpointOperationTest.cpp | 2 +- .../EndpointWithHostLabelOperationTest.cpp | 2 +- .../query/tests/HostWithPathOperationTest.cpp | 2 +- .../query/tests/NestedStructuresTest.cpp | 2 +- .../query/tests/NoInputAndNoOutputTest.cpp | 2 +- .../query/tests/NoInputAndOutputTest.cpp | 2 +- .../tests/PutWithContentEncodingTest.cpp | 4 +- .../QueryIdempotencyTokenAutoFillTest.cpp | 4 +- .../input/query/tests/QueryListsTest.cpp | 12 +-- .../tests/input/query/tests/QueryMapsTest.cpp | 18 ++-- .../input/query/tests/QueryTimestampsTest.cpp | 2 +- .../query/tests/SimpleInputParamsTest.cpp | 22 ++--- .../tests/AllQueryStringTypesTest.cpp | 14 +-- .../ConstantAndVariableQueryStringTest.cpp | 4 +- .../tests/ConstantQueryStringTest.cpp | 2 +- .../tests/DocumentTypeAsMapValueTest.cpp | 2 +- .../tests/DocumentTypeAsPayloadTest.cpp | 4 +- .../rest-json/tests/DocumentTypeTest.cpp | 10 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../rest-json/tests/EndpointOperationTest.cpp | 2 +- .../EndpointWithHostLabelOperationTest.cpp | 2 +- .../tests/HostWithPathOperationTest.cpp | 2 +- .../tests/HttpChecksumRequiredTest.cpp | 2 +- .../tests/HttpEmptyPrefixHeadersTest.cpp | 2 +- .../rest-json/tests/HttpEnumPayloadTest.cpp | 2 +- .../rest-json/tests/HttpPayloadTraitsTest.cpp | 4 +- .../tests/HttpPayloadWithStructureTest.cpp | 2 +- .../tests/HttpPayloadWithUnionTest.cpp | 4 +- .../rest-json/tests/HttpPrefixHeadersTest.cpp | 6 +- .../HttpQueryParamsOnlyOperationTest.cpp | 4 +- .../tests/HttpRequestWithFloatLabelsTest.cpp | 6 +- .../HttpRequestWithGreedyLabelInPathTest.cpp | 2 +- ...equestWithLabelsAndTimestampFormatTest.cpp | 2 +- .../tests/HttpRequestWithLabelsTest.cpp | 4 +- .../tests/HttpRequestWithRegexLiteralTest.cpp | 2 +- .../rest-json/tests/HttpStringPayloadTest.cpp | 2 +- .../tests/InputAndOutputWithHeadersTest.cpp | 20 ++-- .../input/rest-json/tests/JsonBlobsTest.cpp | 2 +- .../input/rest-json/tests/JsonEnumsTest.cpp | 2 +- .../rest-json/tests/JsonIntEnumsTest.cpp | 2 +- .../input/rest-json/tests/JsonListsTest.cpp | 4 +- .../input/rest-json/tests/JsonMapsTest.cpp | 6 +- .../rest-json/tests/JsonTimestampsTest.cpp | 14 +-- .../input/rest-json/tests/JsonUnionsTest.cpp | 22 ++--- .../rest-json/tests/MediaTypeHeaderTest.cpp | 2 +- .../tests/NoInputAndNoOutputTest.cpp | 2 +- .../rest-json/tests/NoInputAndOutputTest.cpp | 2 +- .../tests/NullAndEmptyHeadersClientTest.cpp | 2 +- .../OmitsNullSerializesEmptyStringTest.cpp | 4 +- .../tests/OmitsSerializingEmptyListsTest.cpp | 2 +- .../tests/PostUnionWithJsonNameTest.cpp | 6 +- .../tests/PutWithContentEncodingTest.cpp | 4 +- .../QueryIdempotencyTokenAutoFillTest.cpp | 4 +- .../tests/QueryParamsAsStringListMapTest.cpp | 2 +- .../rest-json/tests/QueryPrecedenceTest.cpp | 2 +- .../rest-json/tests/RecursiveShapesTest.cpp | 2 +- .../tests/SimpleScalarPropertiesTest.cpp | 10 +- .../rest-json/tests/SparseJsonListsTest.cpp | 2 +- .../rest-json/tests/SparseJsonMapsTest.cpp | 10 +- .../rest-json/tests/TestBodyStructureTest.cpp | 4 +- .../tests/TestGetNoInputNoPayloadTest.cpp | 2 +- .../rest-json/tests/TestGetNoPayloadTest.cpp | 4 +- .../rest-json/tests/TestPayloadBlobTest.cpp | 4 +- .../tests/TestPayloadStructureTest.cpp | 6 +- .../tests/TestPostNoInputNoPayloadTest.cpp | 2 +- .../rest-json/tests/TestPostNoPayloadTest.cpp | 4 +- .../tests/TimestampFormatHeadersTest.cpp | 2 +- .../tests/UnitInputAndOutputTest.cpp | 2 +- .../tests/AllQueryStringTypesTest.cpp | 14 +-- .../rest-xml/tests/BodyWithXmlNameTest.cpp | 2 +- .../ConstantAndVariableQueryStringTest.cpp | 4 +- .../tests/ConstantQueryStringTest.cpp | 2 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../rest-xml/tests/EndpointOperationTest.cpp | 2 +- ...dpointWithHostLabelHeaderOperationTest.cpp | 2 +- .../EndpointWithHostLabelOperationTest.cpp | 2 +- .../rest-xml/tests/FlattenedXmlMapTest.cpp | 2 +- .../tests/FlattenedXmlMapWithXmlNameTest.cpp | 2 +- .../tests/HttpEmptyPrefixHeadersTest.cpp | 2 +- .../rest-xml/tests/HttpEnumPayloadTest.cpp | 2 +- .../rest-xml/tests/HttpPayloadTraitsTest.cpp | 4 +- .../HttpPayloadWithMemberXmlNameTest.cpp | 2 +- .../tests/HttpPayloadWithStructureTest.cpp | 2 +- .../tests/HttpPayloadWithUnionTest.cpp | 4 +- .../tests/HttpPayloadWithXmlNameTest.cpp | 2 +- ...tpPayloadWithXmlNamespaceAndPrefixTest.cpp | 2 +- .../tests/HttpPayloadWithXmlNamespaceTest.cpp | 2 +- .../rest-xml/tests/HttpPrefixHeadersTest.cpp | 6 +- .../tests/HttpRequestWithFloatLabelsTest.cpp | 6 +- .../HttpRequestWithGreedyLabelInPathTest.cpp | 2 +- ...equestWithLabelsAndTimestampFormatTest.cpp | 2 +- .../tests/HttpRequestWithLabelsTest.cpp | 4 +- .../rest-xml/tests/HttpStringPayloadTest.cpp | 2 +- .../tests/InputAndOutputWithHeadersTest.cpp | 16 ++-- .../tests/NestedXmlMapWithXmlNameTest.cpp | 2 +- .../rest-xml/tests/NestedXmlMapsTest.cpp | 4 +- .../rest-xml/tests/NoInputAndNoOutputTest.cpp | 2 +- .../rest-xml/tests/NoInputAndOutputTest.cpp | 2 +- .../tests/NullAndEmptyHeadersClientTest.cpp | 2 +- .../OmitsNullSerializesEmptyStringTest.cpp | 4 +- .../tests/PutWithContentEncodingTest.cpp | 4 +- .../QueryIdempotencyTokenAutoFillTest.cpp | 4 +- .../tests/QueryParamsAsStringListMapTest.cpp | 2 +- .../rest-xml/tests/QueryPrecedenceTest.cpp | 2 +- .../rest-xml/tests/RecursiveShapesTest.cpp | 2 +- .../tests/SimpleScalarPropertiesTest.cpp | 14 +-- .../tests/TimestampFormatHeadersTest.cpp | 2 +- .../tests/XmlAttributesInMiddleTest.cpp | 2 +- .../tests/XmlAttributesOnPayloadTest.cpp | 2 +- .../rest-xml/tests/XmlAttributesTest.cpp | 4 +- .../input/rest-xml/tests/XmlBlobsTest.cpp | 2 +- .../rest-xml/tests/XmlEmptyListsTest.cpp | 2 +- .../input/rest-xml/tests/XmlEmptyMapsTest.cpp | 2 +- .../rest-xml/tests/XmlEmptyStringsTest.cpp | 2 +- .../input/rest-xml/tests/XmlEnumsTest.cpp | 2 +- .../input/rest-xml/tests/XmlIntEnumsTest.cpp | 2 +- .../input/rest-xml/tests/XmlListsTest.cpp | 2 +- .../tests/XmlMapWithXmlNamespaceTest.cpp | 2 +- .../input/rest-xml/tests/XmlMapsTest.cpp | 2 +- .../rest-xml/tests/XmlMapsXmlNameTest.cpp | 2 +- .../rest-xml/tests/XmlNamespacesTest.cpp | 2 +- .../rest-xml/tests/XmlTimestampsTest.cpp | 14 +-- .../input/rest-xml/tests/XmlUnionsTest.cpp | 8 +- .../tests/NonQueryCompatibleOperationTest.cpp | 3 +- .../tests/QueryCompatibleOperationTest.cpp | 3 +- .../tests/EmptyInputOutputTest.cpp | 2 +- .../tests/NoInputOutputTest.cpp | 2 +- .../tests/OptionalInputOutputTest.cpp | 2 +- .../tests/RecursiveShapesTest.cpp | 2 +- .../tests/RpcV2CborDenseMapsTest.cpp | 6 +- .../tests/RpcV2CborListsTest.cpp | 6 +- .../tests/RpcV2CborSparseMapsTest.cpp | 10 +- .../tests/RpcV2CborUnionsTest.cpp | 4 +- .../tests/SimpleScalarPropertiesTest.cpp | 10 +- .../tests/SparseNullsOperationTest.cpp | 4 +- .../output/ec2/tests/DatetimeOffsetsTest.cpp | 4 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../ec2/tests/FractionalSecondsTest.cpp | 2 +- .../ec2/tests/GreetingWithErrors0Test.cpp | 2 +- .../ec2/tests/GreetingWithErrors1Test.cpp | 2 +- .../ec2/tests/GreetingWithErrorsTest.cpp | 2 +- .../ec2/tests/IgnoresWrappingXmlNameTest.cpp | 2 +- .../output/ec2/tests/NoInputAndOutputTest.cpp | 2 +- .../ec2/tests/RecursiveXmlShapesTest.cpp | 2 +- .../tests/SimpleScalarXmlPropertiesTest.cpp | 8 +- .../tests/output/ec2/tests/XmlBlobsTest.cpp | 2 +- .../output/ec2/tests/XmlEmptyBlobsTest.cpp | 4 +- .../output/ec2/tests/XmlEmptyListsTest.cpp | 2 +- .../tests/output/ec2/tests/XmlEnumsTest.cpp | 2 +- .../output/ec2/tests/XmlIntEnumsTest.cpp | 2 +- .../tests/output/ec2/tests/XmlListsTest.cpp | 2 +- .../output/ec2/tests/XmlNamespacesTest.cpp | 2 +- .../output/ec2/tests/XmlTimestampsTest.cpp | 14 +-- .../output/json/tests/DatetimeOffsetsTest.cpp | 4 +- .../output/json/tests/EmptyOperationTest.cpp | 6 +- .../json/tests/FractionalSecondsTest.cpp | 2 +- .../json/tests/GreetingWithErrors0Test.cpp | 4 +- .../json/tests/GreetingWithErrors1Test.cpp | 22 ++--- .../json/tests/GreetingWithErrorsTest.cpp | 2 +- .../tests/output/json/tests/JsonEnumsTest.cpp | 2 +- .../output/json/tests/JsonIntEnumsTest.cpp | 2 +- .../output/json/tests/JsonUnionsTest.cpp | 20 ++-- .../json/tests/KitchenSinkOperationTest.cpp | 46 ++++----- .../output/json/tests/NullOperationTest.cpp | 2 +- .../tests/PutAndGetInlineDocumentsTest.cpp | 2 +- .../json/tests/SimpleScalarPropertiesTest.cpp | 6 +- .../json/tests/SparseNullsOperationTest.cpp | 4 +- .../tests/QueryCompatibleOperation0Test.cpp | 3 +- .../tests/QueryCompatibleOperationTest.cpp | 3 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../tests/GreetingWithErrors0Test.cpp | 4 +- .../tests/GreetingWithErrors1Test.cpp | 22 ++--- .../json_1_0/tests/GreetingWithErrorsTest.cpp | 2 +- .../output/json_1_0/tests/JsonUnionsTest.cpp | 24 ++--- .../json_1_0/tests/NoInputAndNoOutputTest.cpp | 6 +- .../json_1_0/tests/NoInputAndOutputTest.cpp | 2 +- .../tests/SimpleScalarPropertiesTest.cpp | 6 +- .../query/tests/DatetimeOffsetsTest.cpp | 4 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../query/tests/FlattenedXmlMapTest.cpp | 2 +- .../tests/FlattenedXmlMapWithXmlNameTest.cpp | 2 +- .../FlattenedXmlMapWithXmlNamespaceTest.cpp | 2 +- .../query/tests/FractionalSecondsTest.cpp | 2 +- .../query/tests/GreetingWithErrors0Test.cpp | 2 +- .../query/tests/GreetingWithErrors1Test.cpp | 2 +- .../query/tests/GreetingWithErrors2Test.cpp | 2 +- .../query/tests/GreetingWithErrorsTest.cpp | 2 +- .../tests/IgnoresWrappingXmlNameTest.cpp | 2 +- .../query/tests/NoInputAndNoOutputTest.cpp | 4 +- .../query/tests/NoInputAndOutputTest.cpp | 2 +- .../query/tests/RecursiveXmlShapesTest.cpp | 2 +- .../tests/SimpleScalarXmlPropertiesTest.cpp | 8 +- .../tests/output/query/tests/XmlBlobsTest.cpp | 2 +- .../output/query/tests/XmlEmptyBlobsTest.cpp | 4 +- .../output/query/tests/XmlEmptyListsTest.cpp | 2 +- .../output/query/tests/XmlEmptyMapsTest.cpp | 4 +- .../tests/output/query/tests/XmlEnumsTest.cpp | 2 +- .../output/query/tests/XmlIntEnumsTest.cpp | 2 +- .../tests/output/query/tests/XmlListsTest.cpp | 2 +- .../tests/output/query/tests/XmlMapsTest.cpp | 2 +- .../output/query/tests/XmlMapsXmlNameTest.cpp | 2 +- .../output/query/tests/XmlNamespacesTest.cpp | 2 +- .../output/query/tests/XmlTimestampsTest.cpp | 14 +-- .../rest-json/tests/DatetimeOffsetsTest.cpp | 4 +- .../tests/DocumentTypeAsMapValueTest.cpp | 2 +- .../tests/DocumentTypeAsPayloadTest.cpp | 4 +- .../rest-json/tests/DocumentTypeTest.cpp | 10 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 4 +- .../rest-json/tests/FractionalSecondsTest.cpp | 2 +- .../tests/GreetingWithErrors0Test.cpp | 2 +- .../tests/GreetingWithErrors1Test.cpp | 4 +- .../tests/GreetingWithErrors2Test.cpp | 22 ++--- .../tests/GreetingWithErrorsTest.cpp | 4 +- .../tests/HttpEmptyPrefixHeadersTest.cpp | 2 +- .../rest-json/tests/HttpEnumPayloadTest.cpp | 2 +- .../rest-json/tests/HttpPayloadTraitsTest.cpp | 4 +- .../tests/HttpPayloadWithStructureTest.cpp | 4 +- .../tests/HttpPayloadWithUnionTest.cpp | 4 +- .../tests/HttpPrefixHeadersInResponseTest.cpp | 2 +- .../rest-json/tests/HttpPrefixHeadersTest.cpp | 2 +- .../rest-json/tests/HttpResponseCodeTest.cpp | 4 +- .../rest-json/tests/HttpStringPayloadTest.cpp | 2 +- .../tests/IgnoreQueryParamsInResponseTest.cpp | 2 +- .../tests/InputAndOutputWithHeadersTest.cpp | 20 ++-- .../output/rest-json/tests/JsonBlobsTest.cpp | 2 +- .../output/rest-json/tests/JsonEnumsTest.cpp | 2 +- .../rest-json/tests/JsonIntEnumsTest.cpp | 2 +- .../output/rest-json/tests/JsonListsTest.cpp | 4 +- .../output/rest-json/tests/JsonMapsTest.cpp | 6 +- .../rest-json/tests/JsonTimestampsTest.cpp | 14 +-- .../output/rest-json/tests/JsonUnionsTest.cpp | 22 ++--- .../rest-json/tests/MediaTypeHeaderTest.cpp | 2 +- .../tests/NoInputAndNoOutputTest.cpp | 2 +- .../rest-json/tests/NoInputAndOutputTest.cpp | 4 +- .../tests/PostUnionWithJsonNameTest.cpp | 6 +- .../rest-json/tests/RecursiveShapesTest.cpp | 2 +- .../tests/SimpleScalarPropertiesTest.cpp | 10 +- .../rest-json/tests/SparseJsonListsTest.cpp | 2 +- .../rest-json/tests/SparseJsonMapsTest.cpp | 10 +- .../tests/TimestampFormatHeadersTest.cpp | 2 +- .../tests/UnitInputAndOutputTest.cpp | 2 +- .../rest-xml/tests/BodyWithXmlNameTest.cpp | 2 +- .../rest-xml/tests/DatetimeOffsetsTest.cpp | 4 +- .../tests/EmptyInputAndEmptyOutputTest.cpp | 2 +- .../rest-xml/tests/FlattenedXmlMapTest.cpp | 2 +- .../tests/FlattenedXmlMapWithXmlNameTest.cpp | 2 +- .../FlattenedXmlMapWithXmlNamespaceTest.cpp | 2 +- .../rest-xml/tests/FractionalSecondsTest.cpp | 2 +- .../tests/GreetingWithErrors0Test.cpp | 2 +- .../tests/GreetingWithErrors1Test.cpp | 2 +- .../rest-xml/tests/GreetingWithErrorsTest.cpp | 2 +- .../tests/HttpEmptyPrefixHeadersTest.cpp | 2 +- .../rest-xml/tests/HttpEnumPayloadTest.cpp | 2 +- .../rest-xml/tests/HttpPayloadTraitsTest.cpp | 4 +- .../HttpPayloadWithMemberXmlNameTest.cpp | 2 +- .../tests/HttpPayloadWithStructureTest.cpp | 2 +- .../tests/HttpPayloadWithUnionTest.cpp | 4 +- .../tests/HttpPayloadWithXmlNameTest.cpp | 2 +- ...tpPayloadWithXmlNamespaceAndPrefixTest.cpp | 2 +- .../tests/HttpPayloadWithXmlNamespaceTest.cpp | 2 +- .../rest-xml/tests/HttpPrefixHeadersTest.cpp | 4 +- .../rest-xml/tests/HttpResponseCodeTest.cpp | 2 +- .../rest-xml/tests/HttpStringPayloadTest.cpp | 2 +- .../tests/IgnoreQueryParamsInResponseTest.cpp | 2 +- .../tests/InputAndOutputWithHeadersTest.cpp | 16 ++-- .../tests/NestedXmlMapWithXmlNameTest.cpp | 2 +- .../rest-xml/tests/NestedXmlMapsTest.cpp | 4 +- .../rest-xml/tests/NoInputAndNoOutputTest.cpp | 2 +- .../rest-xml/tests/NoInputAndOutputTest.cpp | 2 +- .../rest-xml/tests/RecursiveShapesTest.cpp | 2 +- .../tests/SimpleScalarPropertiesTest.cpp | 18 ++-- .../tests/TimestampFormatHeadersTest.cpp | 2 +- .../tests/XmlAttributesInMiddleTest.cpp | 2 +- .../tests/XmlAttributesOnPayloadTest.cpp | 2 +- .../rest-xml/tests/XmlAttributesTest.cpp | 2 +- .../output/rest-xml/tests/XmlBlobsTest.cpp | 2 +- .../rest-xml/tests/XmlEmptyBlobsTest.cpp | 4 +- .../rest-xml/tests/XmlEmptyListsTest.cpp | 2 +- .../rest-xml/tests/XmlEmptyMapsTest.cpp | 4 +- .../rest-xml/tests/XmlEmptyStringsTest.cpp | 4 +- .../output/rest-xml/tests/XmlEnumsTest.cpp | 2 +- .../output/rest-xml/tests/XmlIntEnumsTest.cpp | 2 +- .../output/rest-xml/tests/XmlListsTest.cpp | 2 +- .../tests/XmlMapWithXmlNamespaceTest.cpp | 2 +- .../output/rest-xml/tests/XmlMapsTest.cpp | 2 +- .../rest-xml/tests/XmlMapsXmlNameTest.cpp | 2 +- .../rest-xml/tests/XmlNamespacesTest.cpp | 2 +- .../rest-xml/tests/XmlTimestampsTest.cpp | 14 +-- .../output/rest-xml/tests/XmlUnionsTest.cpp | 8 +- .../tests/QueryCompatibleOperation0Test.cpp | 3 +- .../tests/QueryCompatibleOperationTest.cpp | 3 +- .../tests/EmptyInputOutputTest.cpp | 4 +- .../smithy-rpc-v2-cbor/tests/Float16Test.cpp | 10 +- .../tests/FractionalSecondsTest.cpp | 2 +- .../tests/GreetingWithErrors0Test.cpp | 4 +- .../tests/GreetingWithErrorsTest.cpp | 2 +- .../tests/NoInputOutputTest.cpp | 6 +- .../tests/OptionalInputOutputTest.cpp | 2 +- .../tests/RecursiveShapesTest.cpp | 4 +- .../tests/RpcV2CborDenseMapsTest.cpp | 6 +- .../tests/RpcV2CborListsTest.cpp | 8 +- .../tests/RpcV2CborSparseMapsTest.cpp | 10 +- .../tests/RpcV2CborUnionsTest.cpp | 4 +- .../tests/SimpleScalarPropertiesTest.cpp | 16 ++-- .../tests/SparseNullsOperationTest.cpp | 4 +- .../aws/testing/AwsProtocolTestHelpers.h | 2 +- .../ProtocolTestsTestSuiteSrc.vm | 2 +- 454 files changed, 2648 insertions(+), 1562 deletions(-) create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/include/aws/ec2-protocol/EC2ProtocolClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-ec2-protocol/source/EC2ProtocolClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/include/aws/json-protocol/JsonProtocolClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-json-protocol/source/JsonProtocolClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/include/aws/json-rpc-10/JSONRPC10ClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-json-rpc-10/source/JSONRPC10ClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/include/aws/non-query-compatible-rpcv2-protocol/NonQueryCompatibleRpcV2ProtocolClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-non-query-compatible-rpcv2-protocol/source/NonQueryCompatibleRpcV2ProtocolClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/include/aws/protocol-mock/ProtocolMockClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-protocol-mock/source/ProtocolMockClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/include/aws/query-compatible-json-rpc-10/QueryCompatibleJSONRPC10ClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-json-rpc-10/source/QueryCompatibleJSONRPC10ClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/include/aws/query-compatible-rpcv2-protocol/QueryCompatibleRpcV2ProtocolClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-query-compatible-rpcv2-protocol/source/QueryCompatibleRpcV2ProtocolClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/include/aws/query-protocol/QueryProtocolClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-query-protocol/source/QueryProtocolClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/include/aws/rest-json-protocol/RestJsonProtocolClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-rest-json-protocol/source/RestJsonProtocolClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/include/aws/rest-xml-protocol/RestXmlProtocolClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-rest-xml-protocol/source/RestXmlProtocolClientConfiguration.cpp create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/include/aws/rpcv2protocol/RpcV2ProtocolClientConfiguration.h create mode 100644 generated/protocol-tests/test-clients/aws-cpp-sdk-rpcv2protocol/source/RpcV2ProtocolClientConfiguration.cpp 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/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/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