aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/GenericClientConfiguration.cpp
diff options
context:
space:
mode:
authordakovalkov <dakovalkov@yandex-team.com>2023-12-03 13:33:55 +0300
committerdakovalkov <dakovalkov@yandex-team.com>2023-12-03 14:04:39 +0300
commit2a718325637e5302334b6d0a6430f63168f8dbb3 (patch)
tree64be81080b7df9ec1d86d053a0c394ae53fcf1fe /contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/GenericClientConfiguration.cpp
parente0d94a470142d95c3007e9c5d80380994940664a (diff)
downloadydb-2a718325637e5302334b6d0a6430f63168f8dbb3.tar.gz
Update contrib/libs/aws-sdk-cpp to 1.11.37
Diffstat (limited to 'contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/GenericClientConfiguration.cpp')
-rw-r--r--contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/GenericClientConfiguration.cpp103
1 files changed, 103 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/GenericClientConfiguration.cpp b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/GenericClientConfiguration.cpp
new file mode 100644
index 0000000000..f0a4e91d5b
--- /dev/null
+++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-core/source/client/GenericClientConfiguration.cpp
@@ -0,0 +1,103 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#include <aws/core/client/GenericClientConfiguration.h>
+#include <aws/core/platform/Environment.h>
+#include <aws/core/utils/memory/AWSMemory.h>
+#include <aws/core/utils/threading/Executor.h>
+
+
+namespace Aws
+{
+namespace Client
+{
+template struct AWS_CORE_API GenericClientConfiguration<false>;
+
+bool IsEndpointDiscoveryEnabled(const Aws::String& endpointOverride, const Aws::String &profileName)
+{
+ bool enabled = true; // default value for AWS Services with enabled discovery trait
+ if (!endpointOverride.empty())
+ {
+ enabled = false;
+ }
+ else
+ {
+ static const char* AWS_ENABLE_ENDPOINT_DISCOVERY_ENV_KEY = "AWS_ENABLE_ENDPOINT_DISCOVERY";
+ static const char* AWS_ENABLE_ENDPOINT_DISCOVERY_PROFILE_KEY = "AWS_ENABLE_ENDPOINT_DISCOVERY";
+ static const char* AWS_ENABLE_ENDPOINT_ENABLED = "true";
+ static const char* AWS_ENABLE_ENDPOINT_DISABLED = "false";
+
+ Aws::String enableEndpointDiscovery = ClientConfiguration::LoadConfigFromEnvOrProfile(AWS_ENABLE_ENDPOINT_DISCOVERY_ENV_KEY,
+ profileName,
+ AWS_ENABLE_ENDPOINT_DISCOVERY_PROFILE_KEY,
+ {AWS_ENABLE_ENDPOINT_ENABLED, AWS_ENABLE_ENDPOINT_DISABLED},
+ AWS_ENABLE_ENDPOINT_ENABLED);
+
+ if (AWS_ENABLE_ENDPOINT_DISABLED == enableEndpointDiscovery)
+ {
+ // enabled by default unless explicitly disabled in ENV, profile config file, or programmatically later
+ enabled = false;
+ }
+ }
+ return enabled;
+}
+
+GenericClientConfiguration<true>::GenericClientConfiguration()
+ : ClientConfiguration(),
+ enableHostPrefixInjection(ClientConfiguration::enableHostPrefixInjection),
+ enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)
+{
+ enableEndpointDiscovery = IsEndpointDiscoveryEnabled(this->endpointOverride, this->profileName);
+ enableHostPrefixInjection = false; // disabled by default in the SDK
+}
+
+GenericClientConfiguration<true>::GenericClientConfiguration(const char* inputProfileName, bool shouldDisableIMDS)
+ : ClientConfiguration(inputProfileName, shouldDisableIMDS),
+ enableHostPrefixInjection(ClientConfiguration::enableHostPrefixInjection),
+ enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)
+{
+ enableEndpointDiscovery = IsEndpointDiscoveryEnabled(this->endpointOverride, this->profileName);
+ enableHostPrefixInjection = false; // disabled by default in the SDK
+}
+
+GenericClientConfiguration<true>::GenericClientConfiguration(bool useSmartDefaults, const char* inputDefaultMode, bool shouldDisableIMDS)
+ : ClientConfiguration(useSmartDefaults, inputDefaultMode, shouldDisableIMDS),
+ enableHostPrefixInjection(ClientConfiguration::enableHostPrefixInjection),
+ enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)
+{
+ enableEndpointDiscovery = IsEndpointDiscoveryEnabled(this->endpointOverride, this->profileName);
+ enableHostPrefixInjection = false; // disabled by default in the SDK
+}
+
+GenericClientConfiguration<true>::GenericClientConfiguration(const ClientConfiguration& config)
+ : ClientConfiguration(config),
+ enableHostPrefixInjection(ClientConfiguration::enableHostPrefixInjection),
+ enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)
+{
+ enableEndpointDiscovery = IsEndpointDiscoveryEnabled(this->endpointOverride, this->profileName);
+ enableHostPrefixInjection = false; // disabled by default in the SDK
+}
+
+GenericClientConfiguration<true>::GenericClientConfiguration(const GenericClientConfiguration<true>& other)
+ : ClientConfiguration(static_cast<ClientConfiguration>(other)),
+ enableHostPrefixInjection(ClientConfiguration::enableHostPrefixInjection),
+ enableEndpointDiscovery(ClientConfiguration::enableEndpointDiscovery)
+{
+ if (other.enableEndpointDiscovery) {
+ enableEndpointDiscovery = other.enableEndpointDiscovery.value();
+ }
+ enableHostPrefixInjection = other.enableHostPrefixInjection;
+}
+
+GenericClientConfiguration<true>& GenericClientConfiguration<true>::operator=(const GenericClientConfiguration<true>& other)
+{
+ if (this != &other) {
+ *static_cast<ClientConfiguration*>(this) = static_cast<ClientConfiguration>(other);
+ }
+ return *this;
+}
+
+} // namespace Client
+} // namespace Aws