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 ced88664d14..21c8341d80c 100644 --- a/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h +++ b/src/aws-cpp-sdk-core/include/smithy/client/AwsSmithyClient.h @@ -169,12 +169,15 @@ namespace client const auto& epParams = ctx.m_pRequest->GetEndpointContextParams(); for (const auto& epParam : epParams) { using ParameterType = Aws::Endpoint::EndpointParameter::ParameterType; - if(epParam.GetStoredType() == ParameterType::STRING) - identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetStrValueNoCheck()}); - else if (epParam.GetStoredType() == ParameterType::BOOLEAN) - identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetBoolValueNoCheck()}); - else - assert(!"Unknown endpoint parameter!"); + if(epParam.GetStoredType() == ParameterType::STRING) { + identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetStrValueNoCheck()}); + } else if (epParam.GetStoredType() == ParameterType::BOOLEAN) { + identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetBoolValueNoCheck()}); + } else if (epParam.GetStoredType() == ParameterType::STRING_ARRAY) { + identityParams.additionalProperties.insert({epParam.GetName(), epParam.GetStrArrayValueNoCheck()}); + } else { + assert(!"Unknown endpoint parameter!"); + } } const auto& serviceParams = ctx.m_pRequest->GetServiceSpecificParameters(); if (serviceParams) { diff --git a/src/aws-cpp-sdk-core/include/smithy/identity/auth/AuthSchemeResolverBase.h b/src/aws-cpp-sdk-core/include/smithy/identity/auth/AuthSchemeResolverBase.h index 2ab0fdd3eaa..4ab79935e4c 100644 --- a/src/aws-cpp-sdk-core/include/smithy/identity/auth/AuthSchemeResolverBase.h +++ b/src/aws-cpp-sdk-core/include/smithy/identity/auth/AuthSchemeResolverBase.h @@ -26,7 +26,8 @@ class DefaultAuthSchemeResolverParameters Aws::UnorderedMap > additionalProperties; + Aws::Auth::AWSSigningAlgorithm, + Aws::Vector>> additionalProperties; }; diff --git a/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp b/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp index 77803d16c34..14b5e2a54d0 100644 --- a/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp +++ b/tests/aws-cpp-sdk-dynamodb-integration-tests/TableOperationTest.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -1523,5 +1524,23 @@ TEST_F(TableOperationTest, TestEndpointOverride) } } +TEST_F(TableOperationTest, TestBatchGetItem) { + Aws::String table_name = BuildTableName(BASE_SIMPLE_TABLE); + CreateTable(table_name, 10, 10); + + AttributeValue value{"wheres everyone going, bingo?"}; + const auto put_item_result = m_client->PutItem(PutItemRequest().WithTableName(table_name).WithItem({{HASH_KEY_NAME, value}})); + AWS_ASSERT_SUCCESS(put_item_result); + + const auto batch_get_item_result = m_client->BatchGetItem(BatchGetItemRequest() + .WithRequestItems({ + { + table_name, KeysAndAttributes().WithKeys({{{HASH_KEY_NAME, value}}}) + } + })); + AWS_ASSERT_SUCCESS(batch_get_item_result); + EXPECT_EQ(1ul, batch_get_item_result.GetResult().GetResponses().size()); +} + } // anonymous namespace