diff --git a/generated/src/aws-cpp-sdk-s3/source/S3ExpressIdentityProvider.cpp b/generated/src/aws-cpp-sdk-s3/source/S3ExpressIdentityProvider.cpp index 6d4552f13cf..54932a4930d 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3ExpressIdentityProvider.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3ExpressIdentityProvider.cpp @@ -10,6 +10,7 @@ #include #include #include +#include using namespace Aws::S3; using namespace Aws::Utils; @@ -254,7 +255,7 @@ AwsCredentialIdentity SmithyS3ExpressIdentityProvider::GetCredentialsFromBucket( // If we fail the connect call return empty credentials and log an error message. if (!outcome.IsSuccess()) { AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "Failed to make S3Express Connect Call") - return {"", "", {""}, {}}; + return {"", "", {""}, {}, Aws::Crt::Optional()}; } auto result = outcome.GetResult(); const auto &credentials = result.GetCredentials(); @@ -268,7 +269,8 @@ AwsCredentialIdentity SmithyS3ExpressIdentityProvider::GetCredentialsFromBucket( return {credentials.GetAccessKeyId(), credentials.GetSecretAccessKey(), credentials.GetSessionToken(), - expiry}; + expiry, + Aws::Crt::Optional()}; } @@ -285,7 +287,7 @@ AwsCredentialIdentity SmithyDefaultS3ExpressIdentityProvider::GetS3ExpressAwsIde auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName"); if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) { AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call") - return {"", "", {""}, {}}; + return {"", "", {""}, {}, Aws::Crt::Optional()}; } std::lock_guard lock(*GetMutexForBucketName(bucketNameIter->second)); AwsCredentialIdentity identity; @@ -331,7 +333,7 @@ AwsCredentialIdentity SmithyDefaultAsyncS3ExpressIdentityProvider::GetS3ExpressA auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName"); if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) { AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call") - return {"", "", {""}, {}}; + return {"", "", {""}, {}, Aws::Crt::Optional()}; } threadSafeKeyInsert(bucketNameIter->second); std::lock_guard lock(*GetMutexForBucketName(bucketNameIter->second)); diff --git a/generated/src/aws-cpp-sdk-s3/source/S3ExpressSigner.cpp b/generated/src/aws-cpp-sdk-s3/source/S3ExpressSigner.cpp index f6f0de782c0..636ada22c57 100644 --- a/generated/src/aws-cpp-sdk-s3/source/S3ExpressSigner.cpp +++ b/generated/src/aws-cpp-sdk-s3/source/S3ExpressSigner.cpp @@ -113,7 +113,7 @@ typename S3ExpressSignerBase::SigningFutureOutcome S3ExpressSignerBas } putRequestId(requestId); httpRequest->SetHeaderValue(S3_EXPRESS_HEADER, identity.sessionToken().value()); - auto idCopy = smithy::AwsCredentialIdentity{identity.accessKeyId(), identity.secretAccessKey(), {}, identity.expiration()}; + auto idCopy = smithy::AwsCredentialIdentity{identity.accessKeyId(), identity.secretAccessKey(), {}, identity.expiration(), identity.accountId()}; auto isSigned = BASECLASS::sign(httpRequest, idCopy, properties); deleteRequestId(requestId); return SigningFutureOutcome(std::move(httpRequest)); diff --git a/tests/aws-cpp-sdk-s3-integration-tests/S3ExpressTest.cpp b/tests/aws-cpp-sdk-s3-integration-tests/S3ExpressTest.cpp index 2b5a7a008fd..79105077d03 100644 --- a/tests/aws-cpp-sdk-s3-integration-tests/S3ExpressTest.cpp +++ b/tests/aws-cpp-sdk-s3-integration-tests/S3ExpressTest.cpp @@ -34,7 +34,6 @@ #include #include #include -#include #include #ifdef _WIN32 @@ -540,90 +539,7 @@ namespace { MyIdentityProvider identityProvider(*client); } - -class TestSmithyDefaultS3ExpressIdentityProvider : public SmithyDefaultS3ExpressIdentityProvider - { - public: - TestSmithyDefaultS3ExpressIdentityProvider(const S3Client& s3Client):SmithyDefaultS3ExpressIdentityProvider(s3Client){} - - - smithy::AwsCredentialIdentity GetS3ExpressAwsIdentity(const std::shared_ptr &) override - { - return m_creds; - } - - smithy::AwsCredentialIdentity m_creds{ - Aws::String("demo_access_key"), - Aws::String("demo_secret_key"), - Aws::String("demo_sessions_token"), - DateTime::Now() - }; - - }; - - - class S3TestClient : public S3Client { - public: - template - explicit S3TestClient(ARGS... args) : S3Client(std::forward(args)...) { - overrideIdentityProvider(); - } - - S3TestClient(const S3TestClient&) = default; - S3TestClient(S3TestClient&&) noexcept = default; - S3TestClient& operator=(const S3TestClient&) = default; - S3TestClient& operator=(S3TestClient&&) noexcept = default; - - virtual ~S3TestClient() = default; - - smithy::AwsCredentialIdentity getCreds() { - - for(auto& auth : m_authSchemes) { - if(auth.first == S3::S3ExpressSigV4AuthSchemeOption::GetS3ExpressSigV4AuthSchemeOption().schemeId) - { - smithy::IdentityResolverBase::IdentityProperties props; - auto tmp = auth.second.get(); - auto outcome = tmp.identityResolver()->getIdentity(props,props); - - return smithy::AwsCredentialIdentity(outcome.GetResult()->accessKeyId(), outcome.GetResult()->secretAccessKey(), outcome.GetResult()->sessionToken(), - outcome.GetResult()->expiration()); - - } - } - return smithy::AwsCredentialIdentity{}; - - } - private: - FRIEND_TEST(S3ExpressTest, ExpressSignerBackwardCompatibility); - - void overrideIdentityProvider() - { - for(auto& auth : m_authSchemes) - { - if(auth.first == S3::S3ExpressSigV4AuthSchemeOption::GetS3ExpressSigV4AuthSchemeOption().schemeId) - { - - auth.second = S3::S3ExpressSigV4AuthScheme{Aws::MakeShared(ALLOCATION_TAG, *this), GetServiceName(), Aws::Region::ComputeSignerRegion(m_clientConfiguration.region), m_clientConfiguration.payloadSigningPolicy, false}; - - ///auth.second.get().identityResolver() = Aws::MakeShared("TestSmithyDefaultS3ExpressIdentityProvider", *this); - - break; - } - } - } - - - }; - - TEST_F(S3ExpressTest, TestAuthschemeCopy) { - S3ClientConfiguration configuration; - configuration.region = "us-east-1"; - configuration.enableHttpClientTrace = true; - auto testclient = Aws::MakeShared(ALLOCATION_TAG, configuration); - ASSERT_TRUE(testclient->getCreds().accessKeyId() == "demo_access_key"); - auto cpy = *testclient; - ASSERT_TRUE(cpy.getCreds().accessKeyId() == ""); - } + TEST_F(S3ExpressTest, ExpressSignerBackwardCompatibilitySupplier) { diff --git a/tests/aws-cpp-sdk-s3-unit-tests/S3UnitTests.cpp b/tests/aws-cpp-sdk-s3-unit-tests/S3UnitTests.cpp index 5b426178abe..8d3d08a2eee 100644 --- a/tests/aws-cpp-sdk-s3-unit-tests/S3UnitTests.cpp +++ b/tests/aws-cpp-sdk-s3-unit-tests/S3UnitTests.cpp @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -281,16 +282,28 @@ TEST_F(S3UnitTest, S3EmbeddedErrorTestNonOKResponse) { mockResponse->AddHeader("x-amz-id-2", "Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg=="); _mockHttpClient->AddResponseToReturn(mockResponse); + + ClientConfiguration config; + config.region = Aws::Region::US_EAST_1; + config.scheme = Scheme::HTTPS; + auto client = S3Client(config); + + + CreateBucketRequest createBucketRequest; + createBucketRequest.SetBucket("test"); + + auto outcome = client.CreateBucket(createBucketRequest); + + ASSERT_FALSE(outcome.IsSuccess()); - const auto response = _s3Client->MakeRequestDeserialize(&request, + /*const auto response = _s3Client->MakeRequestDeserialize(&request, request.GetServiceRequestName(), Aws::Http::HttpMethod::HTTP_PUT, [](Aws::Endpoint::AWSEndpoint&) -> void {} - ); + );*/ - EXPECT_TRUE(response.GetError().GetExceptionName() == "InvalidAction"); + EXPECT_TRUE(outcome.GetError().GetExceptionName() == "InvalidAction"); - EXPECT_FALSE(response.IsSuccess()); } TEST_F(S3UnitTest, PutObjectShouldHaveCorrectUserAgent) { diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ExpressIdentityProviderSource.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ExpressIdentityProviderSource.vm index 2c55c21fe09..9818ce2176b 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ExpressIdentityProviderSource.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ExpressIdentityProviderSource.vm @@ -10,6 +10,7 @@ \#include \#include \#include +\#include using namespace ${rootNamespace}::${serviceNamespace}; using namespace ${rootNamespace}::Utils; @@ -254,7 +255,7 @@ AwsCredentialIdentity SmithyS3ExpressIdentityProvider::GetCredentialsFromBucket( // If we fail the connect call return empty credentials and log an error message. if (!outcome.IsSuccess()) { AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "Failed to make S3Express Connect Call") - return {"", "", {""}, {}}; + return {"", "", {""}, {}, Aws::Crt::Optional()}; } auto result = outcome.GetResult(); const auto &credentials = result.GetCredentials(); @@ -268,7 +269,8 @@ AwsCredentialIdentity SmithyS3ExpressIdentityProvider::GetCredentialsFromBucket( return {credentials.GetAccessKeyId(), credentials.GetSecretAccessKey(), credentials.GetSessionToken(), - expiry}; + expiry, + Aws::Crt::Optional()}; } @@ -285,7 +287,7 @@ AwsCredentialIdentity SmithyDefaultS3ExpressIdentityProvider::GetS3ExpressAwsIde auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName"); if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) { AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call") - return {"", "", {""}, {}}; + return {"", "", {""}, {}, Aws::Crt::Optional()}; } std::lock_guard lock(*GetMutexForBucketName(bucketNameIter->second)); AwsCredentialIdentity identity; @@ -331,7 +333,7 @@ AwsCredentialIdentity SmithyDefaultAsyncS3ExpressIdentityProvider::GetS3ExpressA auto bucketNameIter = serviceSpecificParameters->parameterMap.find("bucketName"); if (bucketNameIter == serviceSpecificParameters->parameterMap.end()) { AWS_LOGSTREAM_ERROR(S3_EXPRESS_IDENTITY_PROVIDER, "property bucketName Required to make call") - return {"", "", {""}, {}}; + return {"", "", {""}, {}, Aws::Crt::Optional()}; } threadSafeKeyInsert(bucketNameIter->second); std::lock_guard lock(*GetMutexForBucketName(bucketNameIter->second)); diff --git a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ExpressSignerSource.vm b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ExpressSignerSource.vm index f74565c086c..f318df72910 100644 --- a/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ExpressSignerSource.vm +++ b/tools/code-generation/generator/src/main/resources/com/amazonaws/util/awsclientgenerator/velocity/cpp/s3/SmithyS3ExpressSignerSource.vm @@ -113,7 +113,7 @@ typename S3ExpressSignerBase::SigningFutureOutcome S3ExpressSignerBas } putRequestId(requestId); httpRequest->SetHeaderValue(S3_EXPRESS_HEADER, identity.sessionToken().value()); - auto idCopy = smithy::AwsCredentialIdentity{identity.accessKeyId(), identity.secretAccessKey(), {}, identity.expiration()}; + auto idCopy = smithy::AwsCredentialIdentity{identity.accessKeyId(), identity.secretAccessKey(), {}, identity.expiration(), identity.accountId()}; auto isSigned = BASECLASS::sign(httpRequest, idCopy, properties); deleteRequestId(requestId); return SigningFutureOutcome(std::move(httpRequest)); pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy