Skip to content

Commit a5c8414

Browse files
committed
changes
1 parent ef76dd0 commit a5c8414

File tree

13 files changed

+2361
-2339
lines changed

13 files changed

+2361
-2339
lines changed

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3CrtClient.h

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,24 @@
44
*/
55

66
#pragma once
7-
87
#include <aws/s3-crt/S3Crt_EXPORTS.h>
98
#include <aws/core/client/ClientConfiguration.h>
10-
#include <aws/core/client/AWSClientAsyncCRTP.h>
11-
#include <aws/s3-crt/S3CrtServiceClientModel.h>
12-
#include <smithy/client/AwsSmithyClient.h>
13-
#include <smithy/identity/auth/built-in/SigV4MultiAuthResolver.h>
14-
#include <smithy/identity/auth/built-in/SigV4AuthScheme.h>
15-
#include <smithy/identity/auth/built-in/SigV4aAuthScheme.h>
16-
#include <aws/s3-crt/S3ExpressSigV4AuthScheme.h>
17-
#include <smithy/client/serializer/XmlOutcomeSerializer.h>
18-
#include <aws/core/utils/DNS.h>
19-
209
#include <aws/core/auth/AWSCredentialsProviderChain.h>
2110
#include <aws/core/utils/crypto/Factories.h>
2211
#include <aws/s3-crt/ClientConfiguration.h>
2312
#include <aws/s3-crt/S3CrtErrorMarshaller.h>
2413
#include <aws/s3/s3_client.h>
2514
#include <aws/crt/auth/Sigv4Signing.h>
2615
#include <aws/crt/http/HttpRequestResponse.h>
16+
#include <aws/core/client/AWSClient.h>
17+
#include <aws/core/client/AWSClientAsyncCRTP.h>
18+
#include <aws/core/auth/AWSAuthSigner.h>
19+
#include <aws/core/utils/xml/XmlSerializer.h>
20+
#include <aws/core/utils/DNS.h>
21+
#include <aws/s3-crt/S3CrtServiceClientModel.h>
2722
#include <aws/s3-crt/S3ExpressIdentityProvider.h>
2823
#include <aws/s3-crt/S3CrtIdentityProviderAdapter.h>
2924

30-
31-
3225
struct aws_s3_client;
3326
// TODO: temporary fix for naming conflicts on Windows.
3427
#ifdef _WIN32
@@ -49,7 +42,6 @@ namespace Aws
4942
static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY[] = "x-amz-server-side-encryption-customer-key";
5043
static const char SERVER_SIDE_ENCRYPTION_CUSTOMER_KEY_MD5[] = "x-amz-server-side-encryption-customer-key-MD5";
5144
} // SS3Headers
52-
AWS_S3CRT_API extern const char SERVICE_NAME[];
5345

5446
//max expiration for presigned urls in s3 is 7 days.
5547
static const unsigned MAX_EXPIRATION_SECONDS = 7 * 24 * 60 * 60;
@@ -59,20 +51,12 @@ namespace Aws
5951
/**
6052
* <p/>
6153
*/
62-
class AWS_S3CRT_API S3CrtClient : Aws::Client::ClientWithAsyncTemplateMethods<S3CrtClient>,
63-
public smithy::client::AwsSmithyClientT<Aws::S3Crt::SERVICE_NAME,
64-
Aws::S3Crt::S3CrtClientConfiguration,
65-
smithy::SigV4MultiAuthSchemeResolver<S3CrtEndpointProvider, Aws::S3Crt::S3CrtClientConfiguration>,
66-
Aws::Crt::Variant<smithy::SigV4AuthScheme,S3ExpressSigV4AuthScheme,smithy::SigV4aAuthScheme>,
67-
S3CrtEndpointProviderBase,
68-
smithy::client::XmlOutcomeSerializer,
69-
smithy::client::XmlOutcome,
70-
Aws::Client::S3CrtErrorMarshaller>
54+
class AWS_S3CRT_API S3CrtClient : public Aws::Client::AWSXMLClient, public Aws::Client::ClientWithAsyncTemplateMethods<S3CrtClient>
7155
{
7256
public:
57+
typedef Aws::Client::AWSXMLClient BASECLASS;
7358
static const char* GetServiceName();
7459
static const char* GetAllocationTag();
75-
inline const char* GetServiceClientName() const override { return "S3"; }
7660

7761
typedef S3CrtClientConfiguration ClientConfigurationType;
7862
typedef S3CrtEndpointProvider EndpointProviderType;
@@ -7021,14 +7005,14 @@ namespace Aws
70217005
aws_s3_meta_request_options *options,
70227006
const Aws::AmazonWebServiceRequest *request,
70237007
const Aws::Http::URI &uri, Aws::Http::HttpMethod method) const;
7024-
7008+
S3Crt::ClientConfiguration m_clientConfiguration;
70257009
struct aws_s3_client* m_s3CrtClient = {};
70267010
struct aws_signing_config_aws m_s3CrtSigningConfig = {};
70277011
struct CrtClientShutdownCallbackDataWrapper m_wrappedData = {};
70287012
std::shared_ptr<Aws::Utils::Threading::Semaphore> m_clientShutdownSem;
70297013
std::shared_ptr<Aws::Auth::AWSCredentialsProvider> m_credProvider;
70307014
std::shared_ptr<Aws::Crt::Auth::ICredentialsProvider> m_crtCredProvider;
7031-
7015+
std::shared_ptr<S3CrtEndpointProviderBase> m_endpointProvider;
70327016
std::shared_ptr<S3ExpressIdentityProvider> m_identityProvider;
70337017
S3CrtIdentityProviderUserData m_identityProviderUserData{m_identityProvider};
70347018
};

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3ExpressAuthSchemeResolver.h

Lines changed: 0 additions & 75 deletions
This file was deleted.

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3ExpressIdentityProvider.h

Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@
88
#include <aws/core/utils/memory/stl/AWSSet.h>
99
#include <aws/core/utils/memory/stl/AWSString.h>
1010
#include <aws/core/utils/ConcurrentCache.h>
11-
#include <smithy/identity/resolver/AwsIdentityResolverBase.h>
12-
#include <smithy/identity/identity/AwsCredentialIdentity.h>
11+
#include <aws/core/auth/signer/AWSAuthSignerBase.h>
1312
#include <aws/s3-crt/S3ExpressIdentity.h>
13+
#include <smithy/identity/resolver/AwsIdentityResolverBase.h>
1414
#include <thread>
1515
#include <condition_variable>
16-
#include <aws/s3-crt/S3Crt_EXPORTS.h>
1716

1817
namespace Aws {
1918
namespace Http {
@@ -22,79 +21,80 @@ namespace Aws {
2221

2322
namespace S3Crt {
2423
class S3CrtClient;
25-
class AWS_S3CRT_API S3ExpressIdentityProvider : public smithy::IdentityResolverBase<S3ExpressIdentity> {
26-
public:
27-
explicit S3ExpressIdentityProvider(const S3CrtClient& s3Client);
28-
ResolveIdentityFutureOutcome getIdentity(
29-
const IdentityProperties& identityProperties,
30-
const AdditionalParameters& additionalParameters) override;
31-
32-
virtual S3ExpressIdentity
24+
class S3ExpressIdentityProvider: public smithy::IdentityResolverBase<S3ExpressIdentity> {
25+
public:
26+
explicit S3ExpressIdentityProvider(const S3CrtClient &s3Client) : m_s3Client(s3Client) {}
27+
28+
virtual S3ExpressIdentity
3329
GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) = 0;
3430

35-
protected:
36-
37-
S3ExpressIdentity GetCredentialsFromBucket(const Aws::String& bucketName) const;
31+
ResolveIdentityFutureOutcome
32+
getIdentity(const IdentityProperties& identityProperties, const AdditionalParameters& additionalParameters) override;
33+
S3ExpressIdentity
34+
getIdentity(const Aws::String &bucketName);
35+
36+
virtual ~S3ExpressIdentityProvider() {}
3837

39-
private:
40-
const S3CrtClient& m_s3Client;
41-
mutable std::mutex m_bucketNameMapMutex;
42-
Aws::Map<Aws::String, std::shared_ptr<std::mutex>> m_bucketNameMutex;
38+
protected:
39+
std::shared_ptr<std::mutex> GetMutexForBucketName(const Aws::String& bucketName);
4340

44-
protected:
45-
std::shared_ptr<std::mutex> GetMutexForBucketName(const Aws::String& bucketName);
41+
private:
42+
const S3CrtClient &m_s3Client;
43+
mutable std::mutex m_bucketNameMapMutex;
44+
Aws::Map<Aws::String, std::shared_ptr<std::mutex>> m_bucketNameMutex;
4645
};
47-
48-
49-
class AWS_S3CRT_API DefaultS3ExpressIdentityProvider : public S3ExpressIdentityProvider {
50-
public:
51-
explicit DefaultS3ExpressIdentityProvider(const S3CrtClient& s3Client);
52-
explicit DefaultS3ExpressIdentityProvider(
53-
const S3CrtClient& s3Client,
54-
std::shared_ptr<Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> credentialsCache);
55-
DefaultS3ExpressIdentityProvider(const DefaultS3ExpressIdentityProvider& other) = delete;
56-
DefaultS3ExpressIdentityProvider(DefaultS3ExpressIdentityProvider&& other) noexcept = delete;
57-
DefaultS3ExpressIdentityProvider& operator=(const DefaultS3ExpressIdentityProvider& other) = delete;
58-
DefaultS3ExpressIdentityProvider& operator=(DefaultS3ExpressIdentityProvider&& other) noexcept = delete;
59-
virtual ~DefaultS3ExpressIdentityProvider() override = default;
60-
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
61-
62-
private:
63-
mutable std::shared_ptr<Aws::Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> m_credentialsCache;
46+
47+
class DefaultS3ExpressIdentityProvider : public S3ExpressIdentityProvider {
48+
public:
49+
explicit DefaultS3ExpressIdentityProvider(const S3CrtClient &m_s3Client);
50+
51+
DefaultS3ExpressIdentityProvider(const S3CrtClient &s3Client,
52+
std::shared_ptr<Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> credentialsCache);
53+
54+
DefaultS3ExpressIdentityProvider(const DefaultS3ExpressIdentityProvider& other) = delete;
55+
DefaultS3ExpressIdentityProvider(DefaultS3ExpressIdentityProvider&& other) noexcept = delete;
56+
DefaultS3ExpressIdentityProvider& operator=(const DefaultS3ExpressIdentityProvider& other) = delete;
57+
DefaultS3ExpressIdentityProvider& operator=(DefaultS3ExpressIdentityProvider&& other) noexcept = delete;
58+
59+
virtual ~DefaultS3ExpressIdentityProvider() override = default;
60+
61+
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
62+
63+
private:
64+
mutable std::shared_ptr<Aws::Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> m_credentialsCache;
6465
};
6566

66-
class AWS_S3CRT_API DefaultAsyncS3ExpressIdentityProvider : public S3ExpressIdentityProvider {
67-
public:
68-
explicit DefaultAsyncS3ExpressIdentityProvider(
69-
const S3CrtClient& s3Client,
70-
std::chrono::minutes refreshPeriod = std::chrono::minutes(1));
71-
72-
explicit DefaultAsyncS3ExpressIdentityProvider(
73-
const S3CrtClient& s3Client,
74-
std::shared_ptr<Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> credentialsCache,
75-
std::chrono::minutes refreshPeriod = std::chrono::minutes(1));
76-
77-
DefaultAsyncS3ExpressIdentityProvider(const DefaultAsyncS3ExpressIdentityProvider& other) = delete;
78-
DefaultAsyncS3ExpressIdentityProvider(DefaultAsyncS3ExpressIdentityProvider&& other) noexcept = delete;
79-
DefaultAsyncS3ExpressIdentityProvider& operator=(
80-
const DefaultAsyncS3ExpressIdentityProvider& other) = delete;
81-
DefaultAsyncS3ExpressIdentityProvider& operator=(DefaultAsyncS3ExpressIdentityProvider&& other) noexcept = delete;
82-
virtual ~DefaultAsyncS3ExpressIdentityProvider() override;
83-
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
84-
85-
private:
86-
void refreshIdentities(std::chrono::minutes refreshPeriod);
87-
void threadSafeKeyInsert(const Aws::String& key);
88-
bool threadSafeKeyHas(const Aws::String& key);
89-
void threadSafeKeyEmpty();
90-
91-
mutable std::shared_ptr<Aws::Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> m_credentialsCache;
92-
Aws::Set<Aws::String> m_keysUsed;
93-
mutable std::mutex m_keysUsedMutex;
94-
mutable bool m_shouldStopBackgroundRefresh;
95-
Aws::UniquePtr<std::thread> m_backgroundRefreshThread;
96-
mutable std::mutex m_shutDownMutex;
97-
mutable std::condition_variable m_shutdownCondition;
67+
class DefaultAsyncS3ExpressIdentityProvider : public S3ExpressIdentityProvider {
68+
public:
69+
explicit DefaultAsyncS3ExpressIdentityProvider(const S3CrtClient &m_s3Client,
70+
std::chrono::minutes refreshPeriod = std::chrono::minutes(1));
71+
72+
DefaultAsyncS3ExpressIdentityProvider(const S3CrtClient &s3Client,
73+
std::shared_ptr<Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> credentialsCache,
74+
std::chrono::minutes refreshPeriod = std::chrono::minutes(1));
75+
76+
DefaultAsyncS3ExpressIdentityProvider(const DefaultAsyncS3ExpressIdentityProvider& other) = delete;
77+
DefaultAsyncS3ExpressIdentityProvider(DefaultAsyncS3ExpressIdentityProvider&& other) noexcept = delete;
78+
DefaultAsyncS3ExpressIdentityProvider& operator=(const DefaultAsyncS3ExpressIdentityProvider& other) = delete;
79+
DefaultAsyncS3ExpressIdentityProvider& operator=(DefaultAsyncS3ExpressIdentityProvider&& other) noexcept = delete;
80+
81+
virtual ~DefaultAsyncS3ExpressIdentityProvider() override;
82+
83+
S3ExpressIdentity GetS3ExpressIdentity(const std::shared_ptr<Aws::Http::ServiceSpecificParameters> &serviceSpecificParameters) override;
84+
85+
private:
86+
void refreshIdentities(std::chrono::minutes refreshPeriod);
87+
void threadSafeKeyInsert(const Aws::String& key);
88+
bool threadSafeKeyHas(const Aws::String& key);
89+
void threadSafeKeyEmpty();
90+
91+
mutable std::shared_ptr<Aws::Utils::ConcurrentCache<Aws::String, S3ExpressIdentity>> m_credentialsCache;
92+
Aws::Set<Aws::String> m_keysUsed;
93+
mutable std::mutex m_keysUsedMutex;
94+
mutable bool m_shouldStopBackgroundRefresh;
95+
Aws::UniquePtr<std::thread> m_backgroundRefreshThread;
96+
mutable std::mutex m_shutDownMutex;
97+
mutable std::condition_variable m_shutdownCondition;
9898
};
9999
}
100-
}
100+
}

generated/src/aws-cpp-sdk-s3-crt/include/aws/s3-crt/S3ExpressSigV4AuthScheme.h

Lines changed: 0 additions & 54 deletions
This file was deleted.

0 commit comments

Comments
 (0)