aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointProvider.h
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-s3/include/aws/s3/S3EndpointProvider.h
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-s3/include/aws/s3/S3EndpointProvider.h')
-rw-r--r--contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointProvider.h114
1 files changed, 114 insertions, 0 deletions
diff --git a/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointProvider.h b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointProvider.h
new file mode 100644
index 0000000000..d62a5c0582
--- /dev/null
+++ b/contrib/libs/aws-sdk-cpp/aws-cpp-sdk-s3/include/aws/s3/S3EndpointProvider.h
@@ -0,0 +1,114 @@
+/**
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ * SPDX-License-Identifier: Apache-2.0.
+ */
+
+#pragma once
+#include <aws/s3/S3_EXPORTS.h>
+#include <aws/s3/S3ClientConfiguration.h>
+#include <aws/core/endpoint/DefaultEndpointProvider.h>
+#include <aws/core/endpoint/EndpointParameter.h>
+#include <aws/core/utils/memory/stl/AWSString.h>
+#include <aws/core/utils/memory/stl/AWSVector.h>
+
+#include <aws/s3/S3EndpointRules.h>
+
+
+namespace Aws
+{
+namespace S3
+{
+namespace Endpoint
+{
+using S3ClientConfiguration = Aws::S3::S3ClientConfiguration;
+using EndpointParameters = Aws::Endpoint::EndpointParameters;
+using Aws::Endpoint::EndpointProviderBase;
+using Aws::Endpoint::DefaultEndpointProvider;
+
+class AWS_S3_API S3ClientContextParameters : public Aws::Endpoint::ClientContextParameters
+{
+public:
+ virtual ~S3ClientContextParameters(){};
+
+ /**
+ * Forces this client to use path-style addressing for buckets.
+ */
+ void SetForcePathStyle(bool value);
+ const ClientContextParameters::EndpointParameter& GetForcePathStyle() const;
+
+ /**
+ * Disables this client's usage of Multi-Region Access Points.
+ */
+ void SetDisableMultiRegionAccessPoints(bool value);
+ const ClientContextParameters::EndpointParameter& GetDisableMultiRegionAccessPoints() const;
+
+ /**
+ * Enables this client to use an ARN's region when constructing an endpoint instead of the client's configured region.
+ */
+ void SetUseArnRegion(bool value);
+ const ClientContextParameters::EndpointParameter& GetUseArnRegion() const;
+
+ /**
+ * Enables this client to use S3 Transfer Acceleration endpoints.
+ */
+ void SetAccelerate(bool value);
+ const ClientContextParameters::EndpointParameter& GetAccelerate() const;
+};
+
+class AWS_S3_API S3BuiltInParameters : public Aws::Endpoint::BuiltInParameters
+{
+public:
+ virtual ~S3BuiltInParameters(){};
+ using Aws::Endpoint::BuiltInParameters::SetFromClientConfiguration;
+ virtual void SetFromClientConfiguration(const S3ClientConfiguration& config);
+};
+
+/**
+ * The type for the S3 Client Endpoint Provider.
+ * Inherit from this Base class / "Interface" should you want to provide a custom endpoint provider.
+ * The SDK must use service-specific type for each service per specification.
+ */
+using S3EndpointProviderBase =
+ EndpointProviderBase<S3ClientConfiguration, S3BuiltInParameters, S3ClientContextParameters>;
+
+using S3DefaultEpProviderBase =
+ DefaultEndpointProvider<S3ClientConfiguration, S3BuiltInParameters, S3ClientContextParameters>;
+
+} // namespace Endpoint
+} // namespace S3
+
+namespace Endpoint
+{
+/**
+ * Export endpoint provider symbols from DLL
+ */
+template class AWS_S3_API
+ Aws::Endpoint::EndpointProviderBase<S3::Endpoint::S3ClientConfiguration, S3::Endpoint::S3BuiltInParameters, S3::Endpoint::S3ClientContextParameters>;
+
+template class AWS_S3_API
+ Aws::Endpoint::DefaultEndpointProvider<S3::Endpoint::S3ClientConfiguration, S3::Endpoint::S3BuiltInParameters, S3::Endpoint::S3ClientContextParameters>;
+} // namespace Endpoint
+
+namespace S3
+{
+namespace Endpoint
+{
+/**
+ * Default endpoint provider used for this service
+ */
+class AWS_S3_API S3EndpointProvider : public S3DefaultEpProviderBase
+{
+public:
+ using S3ResolveEndpointOutcome = Aws::Endpoint::ResolveEndpointOutcome;
+
+ S3EndpointProvider()
+ : S3DefaultEpProviderBase(Aws::S3::S3EndpointRules::GetRulesBlob(), Aws::S3::S3EndpointRules::RulesBlobSize)
+ {}
+
+ ~S3EndpointProvider()
+ {
+ }
+};
+} // namespace Endpoint
+} // namespace S3
+} // namespace Aws